Integromatを使いFileMakerとGoogleカレンダーを簡単に連携する
こんにちは。
株式会社フルーデンスの小巻です。
FM-Tokyoで話すことになったので、とりあえずってことで、簡単ではありますが記事をあげておきます。
後ほど、修正します!
デモファイルのダウンロード
https://github.com/frudens/fm-tokyo-integromat
Integromat
まずは登録してください。
ログイン後の画面
ログイン後の画面です。
「Create a new Scenario」を選択します。
シナリオ作成のためのサービスを選択する
「web」と入力し、絞り込みます。
「Webhoook」を選択し、右上の「Continue」を選択します。
シナリオを作成する
真ん中に「?」が表示されます。
右クリックで「Webhook」を選択します。
Webhookのメニューから「Custom webhook」を選択する
Webhookで利用できるメニューが表示されます。
「Custom webhook」を選択します。
WebhookのURLを発行する
WebhookのURLを発行します。
「Add」を選択します。
Webhookの名前を設定する
名前はなんでも大丈夫です。
ここでは「Create Google Calendar」としておきます。
WebhookのURLが発行された
このURLに対して、FileMakerの URL から挿入 と cURLオプション を使い、POSTします。
「Copy address to clipboard」を選択して、URLをコピーしておきます。
デモファイルを開く
ダウンロードしたファイルの中から「demo_calendar_create.fmp12」を探して FileMaker Pro 16 で開きます。
上部の青いボタンを選択し、レイアウトを切り替えます。
URLにPOSTする
先ほどコピーしたWebhookのURLを curlUrl に貼り付けます。
下部にある「post」を選択します。
Postしたデータが、Integromatに正しく送信されているか確認します。
postスクリプトについて
postスクリプトは、以下のようになっています。
post
変数を設定
JSONSetElement ( "{}" ; [ "id" ; demo::id ; JSONString ] ; [ "start" ; demo::start ; JSONString ] ; [ "end" ; demo::end ; JSONString ] ; [ "title" ; demo::title ; JSONString ] ; [ "description" ; demo::description ; JSONString ] ; [ "location" ; demo::location ; JSONString ] )
テキストを挿入
--request POST --header "Content-Type: application/json" --data-binary @$json
Integromatに戻りデータを確認する
「Successfully determined.」と表示されていればOKです。
「OK」を選択し閉じます。
moduleを追加する
作成されたWebhookの右の部分にマウスを近づけます。
「Add another module」を選択します。
Google Calendarを追加する
「Search」に「Google Calendar」と入力し、絞り込みます。
「Google Calendar」を選択します。
「Create an Event」を選択します。
Connectionを設定する
最初は「Connection」が未設定ですので、「Add」を選択し、Googleアカウントで「Integromat」を認証します。
完了すると、デフォルトで「My Google connection」となると思います。
任意のカレンダーを選択する
認証したGoogleアカウントのカレンダーが読み込まれて、選択できるようになります。
ここでは「FM-Tokyo」を選択します。
Google カレンダーの画面で見ると、左の「My Calendars」のところです。
FileMakerからPOSTされたデータを確認する
FileMakerの「postスクリプト」のボディに設定したJSONデータをマッピングします。
「Event name」を選択すると、JSONデータのキーが表示されます。
ここでは「Event name」に「title」を設定します。
「start」や「end」なども同様に、キーを設定します。
設定が終わったら「OK」を選択し、閉じます。
シナリオをテストする
シナリオをテストをする前に、画面下部の「Save」で保存します。
「Run once」を選択します。
moduleの横のカミナリがクルクル回って、待機中になります。
FileMakerからpostを実行する
IntegromatからFileMakerに戻り、postを実行します。
シナリオを確認する
設定に問題なければ、シナリオが正常に終了します。
Googleカレンダーを確認する
FileMakerでPOSTしたJSONデータがカレンダーに追加されます。
FileMakerの「URLから挿入」のレスポンスデータを確認する
FileMakerで実行したURLから挿入のレスポンスデータはどうなっているのでしょうか?
「Accepted」になっています。
「Accepted」ではなく、本当は追加したカレンダーのidを返して欲しいですよね。
ここに、さらにmoduleを追加することで、GoogleカレンダーAPIのレスポンスデータを取得することができます。
次回
今回は、FileMakerからGoogleカレンダーに予定を追加するところまで書きました。
次回は、レスポンスデータの取得やイベント情報の取得などを書く予定です。
あとがき
こっち系のサービスに詳しいひとは、色々いじって連携してみて下さい!
FileMakerとDynamoDBとの連携も書く予定ですので、楽しみにしていて下さい!
ファイルメーカーを10数年業務に使用しています。印刷会社です。gmailやGoogleカレンダーとファイルメーカーが繋がって利用出来ると夢の様です。その他にも是非相談に乗って頂きたいと思うのですが、どの様にご連絡したら宜しいか宜しくお願い申し上げます。
関戸様
コメントを頂き、誠にありがとうございます。
12/03の09:40ごろに、記載頂いたメールアドレス宛てにご連絡させて頂きました。
明日、改めてご連絡させて頂きます。よろしくお願い致します。
動物病院で、こちらを参考に院内の予約管理とGoogleカレンダーを使用させていただきました。
概ね順調に稼働しているのですが、1点質問させていただきたいのですが、こちらにてお伺い可能でしょうか。
ご返信遅くなりまして、申し訳ありません。
記事がお役に立てているようで良かったです!
こちらのコメント上でのやり取りでも大丈夫ですし、お問い合わせフォームからご連絡頂いても大丈夫です。