【ClarisConnect】FileMakerからGoogleカレンダーにスケジュール登録する(イベントidの保存編)


前回の記事も参照してください。

この記事でできること

FileMakerからClarisConnectをつかってGoogleカレンダーに新規イベントを作成した際、Googleカレンダーのイベントidを取得しFileMakerへ保存する。
(イベントidが保存できれば、その後の削除・変更もカンタン)

使ったもの

FileMaker Pro Advanced 18
FileMaker Server 18
ClarisConnect
GoogleCalender

できたもの

(操作)FileMakerから新規登録

(結果1)Googleカレンダーにスケジュール登録される

(結果2)FileMakerにイベントidが保存される

Connectで作ったフロー

1つのプロジェクト内に、登録・削除・更新の3フローを作成しました。

本記事では、登録のみ記載します。(削除・更新はまた別途まとめます)

イベントの新規作成

前回の記事を参照してください。
本記事では、作成した後に更新・削除を行うためのイベントidを取得・保存方法のみ記載します。

【FileMaker】前回作成したスクリプトに引数を追加する

イベントidのフィールドを用意

ConnectGoogleイベントのidを記録するためのフィールドを用意。
値は新規作成時にConnectから入力します。フィールドはレイアウト上に配置する必要があります。

Connectへ渡す引数($$JSONdata)にイベントidを追加

前回の記事で作成したスクリプトの$$JSONdataに、必要な項目を追加します。

qiita.rb
JSONSetElement ( "{}" ; 
["action" ; "script" ; JSONString] ;
["start" ;  Substitute ( 顧客::打合せ日 ; "/" ; "-" ) & "T" & 顧客::打合せ時刻 & "+0900" ; JSONString] ; 
["end" ; Substitute ( 顧客::打合せ日 ; "/" ; "-" ) & "T" & 顧客::打合せ終了時刻 & "+0900"  ; JSONString] ; 
["shinrou" ; 顧客::新郎氏名 ; JSONString] ; 
["shinpu" ; 顧客::新婦氏名 ; JSONString] ;
["calid" ; 顧客::Gカレid_打合せ ; JSONString] ; 
["flg" ; $flg ; JSONString] ;  /*登録・削除・更新*/
["id" ; Get ( レコード ID ) ; JSONString] ; 
["layout" ; Get ( レイアウト名 ) ; JSONString ]
 )

(今回は結婚式の打ち合わせスケジュールを登録するので、新郎新婦の名前になっています)

【Connect】FileMakerへイベントidを保存する

前回の記事で作成した新規イベント作成のフローに、FileMakerのレコード編集をするアクションを追加。

アカウントはDataAPI用のアカウントを作るのが吉。

レイアウト:選択すると、レイアウト上のフィールド名をひろって自動的に表示してくれます。※DataAPI用のレイアウトを用意しておくとよいです。
レコードID: FileMakerの関数 Get(レコードID) で取得できるIDをセット。(UUIDや自分で設定したIDではないので注意)

Googleイベント作成のステップからイベントidを取得できるので、前項でFileMakerに作成したイベントid用のフィールドにセット。

感想・メモ

Connectのレイアウト選択で候補が出てこない場合:正しいアカウントでログインできていない可能性あり。再度アカウント指定しなおしてみましょう。
FileMakerServerのコールバックURL:Connectのプロジェクトに対して1つのコールバックURLが発行されます。
イベントidさえFileMakerに保存できれば、削除・更新も同じ要領でフロー作成できます!