<Workflow>
- リマインダーを起動するレシピを作成しておく。
- 通知したいタイトルと通知日時を確定する。
- WorkflowのURLスキームを編集する。
- URLを開く。
レシピのインプットとなる、Filemaker Go側で指定するURLスキームの引数は、Jsonでも可能とのことなので、以下のようにしました。
<タイトル,日付,時刻を渡す場合の URLスキーム例>
- タイトル:Title
- 日付:ADate
- 時刻:ATime
"workflow://run-workflow?name=Add2reminder&input={\"Title\":\"" & 『ここにタイトル』 & "\",\"ADate\":\"" & 『ここに日付』 & "\",\"ATime\":\"" & If ( Hour ( HyperMemo::通知時刻 ) ≤ 12 ; "AM " ; "PM " ) & 『ここに時刻』 & "\"}"※上記コードは、FileMaker Goの『URLを開く』オプションに指定する文字列例です。
※ダブルクォーテーションを固定文字列としたい場合は、""と、2文字続けて記載します。(謎)
※ここでわざわざAM,PMを編集しているのは、リマインダー側の都合によるものです。
上記のようにしてURLを開くと、Workflow側の変数inputには、以下の文字列が設定されます。
{"Title":"タイトル","ADate":"2016/02/28","ATime":"AM 10:00:00"}
Workflowのレシピは以下のように組んでいきます。
- レシピファイル名(Add2reminder)はFileMaker側から呼ぶ名称(name)と合っていればなんでも良い。
- Text:inputで引数を受け取る。
- Get Dictionary from input:引数を辞書形式に変換する。
- Set Variable:変数(Param)に変換後の引数を設定する。
- Get Value foe Key:引数からキー(Title)に対応する値を得る。
- Set Variable:変数(Title)に設定する。
- Get Variable:変数(Param)から引数を取り直す。
- Get Value for Key:引数からキー(ADate)に対応する値を得る。
- Set Variable:変数(ADate)に設定する。
- Get Variable:変数(Param)から引数を取り直す。
- Get Value for Key:引数からキー(ATime)に対応する値を得る。
- Set Variable:変数(ATime)に設定する。
- Add New Reminder:リマインダーに登録する。
- Title:変数(Title)
- List:(リマインダー側に設定している既存のリストを選択)
- Remind:(At Timeを選択)
- Alert Time:変数(ADate),変数(ATime)
- URL:確認のためリマインダーを起動するURLスキームを設定。(x-apple-reminder://)
- Open URLs:設定したURLスキームを開く=リマインダーを起動する。
以上のようにWorkflowのレシピを用意しておくことで、以下の様なことがiPhone側でできるようになります。
- 自作のアプリケーション(FileMaker Go)で、指定時間後に通知するボタンを押す。
- ダイヤログボックスを表示しOKが押されたらURLスキームを開く。
- リマインダーに自動登録されます。
これで今の作業に没頭できますね!
0 件のコメント:
コメントを投稿