0

Web サイトをホストするために使用している Mac サーバーがあります。基本的に予定を作成するために使用される PHP を使用して Web ページを作成しました。このページでは、ユーザーが予定の日時を選択し、送信ボタンをクリックしてサーバーに投稿できます。サーバー側で選択した値を受け取ることができます。

ここで、Apple スクリプトを作成するか、PHP ページから受信したデータから iCal にエントリを作成する automator アクションを作成したいと考えています。

PHP ページで受信した詳細を使用して、Mac サービス ical で予定を作成するにはどうすればよいですか? Apple スクリプトまたは automator を使用して予定を ical に追加するのは正しい方法ですか?

4

3 に答える 3

2

でapplescriptsを実行できます

shellexec("osascript /path/to/script.scpt 引数");

返された変数から出力を取得するよりも。

于 2011-04-05T10:22:47.453 に答える
0

この問題に対処する別の方法は、PHP から AppleScript を呼び出して、失敗の原因となる可能性のあるすべてのエッジ ケース (ユーザーがサーバーで何か他のことをしている、ユーザーがログインしていない、AppleScript の実行に時間がかかりすぎる) を回避するようにプログラムしようとすることです。など)、特定のディレクトリへの予定ごとにサーバーに iCal ファイルを書き出すだけにすることです。次に、定期的に (たとえば 5 分ごとに) 実行される iCal/Automator アクションを用意します。このアクションは、新しい予定の iCal ファイルを上記のディレクトリからインポートし、iCal にインポートされると削除します。

PHP から iCal ファイルを作成する限り、この機能を提供する多くのライブラリが存在するようです。たとえば、 BenuuqCaliCalcreatoriCal Makerなどがあります。これらのいずれかを使用すると、iCal と互換性があり、簡単にインポートできるファイル.icsまたはファイルを生成できます。.icaliCal ファイルは、名前、日付と時刻、場所などのさまざまなデータを AppleScript に渡そうとするよりも、確かに移植性が高くなります。

また、AppleScript/Automator アクションを定期的に実行するには、優れたLingonアプリケーションを使用できますが、現在は App Store のみです。launchd .plistファイルを手動で書き込むこともできます (「参考文献」を参照man launchd.plist)。

于 2011-04-05T11:46:23.167 に答える
0

AppleScript がどのように機能するかはわかりませんが、コマンドライン コマンドを発行するだけの場合は、system()を使用できます。

于 2011-04-05T10:18:00.003 に答える