【iPhone】Filemaker Goからリマインダーに登録(Workflow経由)


やっとできました。流れはこうです。

<Workflow>
  • リマインダーを起動するレシピを作成しておく。
<FileMaker Go>
  • 通知したいタイトルと通知日時を確定する。
  • WorkflowのURLスキームを編集する。
  • URLを開く。
Workflowのレシピは、こちらで公開しています。

レシピのインプットとなる、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スキームを開く。

  

  • リマインダーに自動登録されます。 
これでFileMaker Goを閉じてもスリープしても通知してくれます。時計やiPhoneの画面を頻繁に見なくても、次の用件に切り替えるタイミングなど、iPhoneのリマインダーが教えてくれるようになります。
これで今の作業に没頭できますね!




 

0 件のコメント:

コメントを投稿