【ClarisConnect】FileMakerからGoogleカレンダーのスケジュールを登録する


この記事でできること

ClarisConnectをつかって、ClarisFileMakerからGoogleカレンダーにスケジュール登録できるようにする。

※本記事ではFileMakerのスクリプト、Connectのフローの設定を中心に記載しています。各ツールのアカウント作成・セキュリティ設定などの初期設定については省略。
※筆者のうっかりでキャプチャはChromeの日本語翻訳をした状態になっています。(日本語版熱望)

用意したもの

ClarisConnect
FileMakerProAdvanced18
FileMakerServer18
GoogleCalender

できたもの

【操作】FileMakerでイベント日時を入力し、Googleカレンダーへ登録ボタンを押下。

【結果】指定した日時でGoogleカレンダーにスケジュールが新規登録される

設定方法

ClarisConnectで設定するアクションは2つだけ。

【Connect】FileMaker スクリプトトリガ

アクションに追加するとFileMaker側で設定すべき情報と、コールバックURLが表示されます。

【FileMaker】スクリプトを作成

Connectで表記された情報を元に、ボタン押下で実行するスクリプトを作成します。3ステップだけ。

変数 $$JSONdata の中身は下記のとおり。※最低限必要なものだけ抜粋

qiita.rb
JSONSetElement ( "{}" ; 
 ["action" ; "script" ; JSONString] ;
 ["start" ;  Substitute ( 顧客::打合せ日 ; "/" ; "-" ) & "T" & 顧客::打合せ時刻 & "+0900" ; JSONString] ; 
 ["end" ; Substitute ( 顧客::打合せ日 ; "/" ; "-" ) & "T" & 顧客::打合せ終了時刻 & "+0900"  ; JSONString] ; 
 )

Connect側でタイムゾーンの設定がうまくいかなかったので、今回はGoogleカレンダーAPIに合わせてFileMaker側で日時をyyyy-mm-ddThh:mm:ss+0900に編集しています(もっといい方法があるかも)
※日時の末尾+0900がないと、協定世界時でスケジュール登録されるので実際と違う時刻で登録されます。

【Connect】Googleカレンダー イベントを作成

イベント作成は現在時刻で新規登録する平易なものと、上級者向けのアクションがあります。
本記事では上級者向けのアクションを選択。

カレンダー名:(事前にGoogleカレンダーの用意が必要)ドロップダウンリストからカレンダー名を指定
開始日時: 右の+ボタンを押下>前アクションのFileMakerを選択>引数startを指定


終了日時: 右の+ボタンを押下>前アクションのFileMakerを選択>引数endを指定


イベント繰り返しルール: 今回は単発イベントなので空欄にする(デフォルトのコードを消去)

以上

感想

上記では省略しましたが、参加者の設定もできます。普段からGoogleカレンダーを利用している場合、普段FileMakerを利用していない人や社外の人ともスケジュール共有ができて便利です。

本記事ではスケジュールの新規登録だけですが、作成したスケジュールのidを取得してFileMakerに保存しておくとスケジュールの変更・削除もできそうです。(できたらまた書きますね)