Yosemite 10.10.2 の Messages アプリを介して iMessage を送信する JavaScript for Automation スクリプトを作成しようとしています (最終目標は、バックオフィス タスクを iMessage の障害ステータスなどに許可するソリューションを作成することです)。
スクリプトは Script Editor でエラーなく実行されますが、メッセージは送信されず、Messages.app では何も表示されず、何も起こりません。以下のサービスとバディは難読化されていますが、実際の値を使用したスクリプトは正しいサービスとバディを取得します (サービスとバディ名の両方に対して messages.displayAlert() を実行することで確認されます)。スクリプトから得られる唯一の出力は、service.send() の「未定義」です。これは、そのメソッドの戻り値の型が void であるため、正しいと思います)。以下のこのスクリプトは、私がうまく機能させようとして失敗したものです。
messages = Application('Messages');
service = messages.services["E:foo@bar.com"];
buddy = service.buddies["+61nnnnnnnnn"]
service.send({
send: "Hello World",
to: buddy
});
同等の AppleScript スクリプト (以下) は正常に動作します。
tell application "Messages"
send "Hello World" to buddy "+61nnnnnnnnn" of service "E:foo@bar.com"
end tell