2014年7月31日木曜日

FileMakerの標準機能だけ!?で、Google Calendar と連携できるか?

FileMaker 16,17,18 「URLから挿入(cURL)」版はコチラ。2019/12/26
https://qbxxdp.blogspot.com/2019/12/filemaker-google-calendar.html


FileMakerの標準機能だけ!?で、Google Calendar と連携できるか?
Google Calendar API v3対応。

結論:
FileMaker Go 13 > OK!
Mac FileMaker Pro 13 > OK!
Win  FileMaker Pro 13 > NG! ->OK

残念ながら、Windowsでは、無理です。(2014/07/31現在)
こちらのプラグインを使う方法で解決します。

追記:2017/02/02
以下を追加でWindowsでもOK。
jQuery.support.cors = true;


「Google Calendar API v3 を利用する準備」は、以下を参照。
http://qbxxdp.blogspot.jp/2014/07/filemakergoogle-calendargoogle-calendar_30.html


「クライアントID」と「クライアントシークレット」が取得できたらFileMakerの作業に入ります。

■アプリの利用許可~承認コードの取得
使用関数:
[URL を開く]
値:
https://accounts.google.com/o/oauth2/auth
?scope=https://www.googleapis.com/auth/calendar
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
&response_type=code
&client_id={クライアントID}

■アクセストークン取得・リフレッシュトークン取得
使用関数:
[URLから挿入]
値:
httpspost://accounts.google.com/o/oauth2/token
?code={取得した承認コード}
&client_id={クライアントID}
&client_secret={クライアントシークレット}
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
&grant_type=authorization_code


■リフレッシュトークン で アクセストークンを再取得
※アクセストークンは、使用期限が1時間なので、再取得が必要になります。
使用関数:
[URLから挿入]
値:
httpspost://accounts.google.com/o/oauth2/token
?client_id={クライアントID}
&client_secret={クライアントシークレット}
&refresh_token={リフレッシュトークン}
&grant_type=refresh_token

■イベント追加
※ココがポイント!Googleカレンダーにイベントを追加するには、データ送信時に アクセストークンをヘッダーに設定する必要があります。
 FileMakerの[URLから挿入:httpspost:]では、ヘッダー情報の変更が無理なので使えません。
 解決策:jQueryを使用します!
使用関数:
[Web ビューアの設定 : URLへ移動...]
値:
"data:text/html;charset=utf-8," & POST_jQuery::Script

location.href = 'fmp://$/FileName.fmp12?script=script01&$id='+msg.id;
でFileMakerにGoogleカレンダーのイベントIDを取得できます。

サンプルファイル:
https://sites.google.com/site/scriptmakerms/filemaker-faq/filemaker-google-calendar-api-v3

0 件のコメント:

コメントを投稿