1件のコメント

API連携のテストには “テキストを挿入” がおすすめ

こんにちは。
株式会社フルーデンスの小巻です。

FileMaker 16 より URL から挿入 が大きく改良されました。
cURLオプション を使えるようになった点がすごく大きいですね。

知らない方も多いようですが、バージョン15でも httpspost などは使えてたんですよね。

https://www.filemaker.com/help/15/fmp/ja/#page/FMP_Help%2Finsert-from-url.html

[URL から挿入] は、http、https、httppost、httpspost、ftp、ftps、および file プロトコルをサポートします。FileMaker Pro は、URL によってターゲットフィールドに指定されたリソースをダウンロードします。

ただ、外部サービスとの連携をする際には、デフォルトの機能ではできないことが多く、私は BaseElementsプラグイン を利用して、cURLコマンドを実行していました。

https://baseelementsplugin.zendesk.com/hc/en-us/articles/203843738-BE-HTTP-POST

BE_HTTP_POST ( url ; parameters { ; username ; password } )

Does a http POST function and returns the results. This uses the curl library so output will be similar to that. This is used in conjunction with the BE_HTTP_Set_Custom_Header function to set custom headers in advance and the BE_HTTP_Response_Code and BE_HTTP_Response_Headers functions to get the result values after the POST is complete.

話を戻しまして。

API連携をする際に、cURLオプションに色々と記述するわけですが、FileMakerの計算式で書くには、少ししんどいケースがあります。

続きを読む →

fmOAuth(0.0.2)に、OAuth認証(Google)に任意のアプリを利用できる機能を実装しています

こんにちは。
株式会社フルーデンスの小巻旭洋です。

タイトルからは少し分かりづらいかもしれませんが、同意画面を fmOAuth ではなく、任意のアプリに置き換えることができるように実装しています。

ということで、自分のGoogleアカウントでコンソールにログインし、アプリを作成してもらい、引数を渡していただければ利用できます。

自分のアプリを作成する方法は、別で記事を書きます。

fmOAuthの同意画面

デフォルトでは、以下のような同意画面です。

fmoauth-002-google-oauth-application1

任意のアプリの同意画面

コンソールでアプリを作成し、アプリの情報をスクリプト引数で渡すと、以下のような同意画面になります。

fmoauth-002-google-oauth-application2

スクリプト(画像)

fmoauth-002-google-oauth-application3

スクリプト(コード)

# 
# ──────────────────── Parameter
# 
# case fmOAuth
# 
If [ True // fmOAuth ] 
	テキストを挿入 [ 選択 ; $scopeList ; 「https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive https://mail.google.com/」 ] 
	変数を設定 [ $param ; 値: JSONSetElement (  "{}" ;  [ "scopeList" ; $scopeList ; JSONString ] ) ] 
End If
# 
# case Your Google App
# 
If [ False // Set CustomFunction from Your Google App Information ] 
	変数を設定 [ $appId ; 値: z_yourGoogleAppId ] 
	変数を設定 [ $secret ; 値: z_yourGoogleAppSecret ] 
	変数を設定 [ $redirect ; 値: z_yourGoogleAppRedirect ] 
	テキストを挿入 [ 選択 ; $scopeList ; 「https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive https://mail.google.com/」 ] 
	変数を設定 [ $param ; 値: JSONSetElement (  "{}" ;  [ "appId" ; $appId ; JSONString ] ;  [ "secret" ; $secret ; JSONString ] ;  [ "redirect" ; $redirect ; JSONString ] ;  [ "scopeList" ; $scopeList ; JSONString ] ) ] 
End If
# 
# ──────────────────── Perform Script
# 
スクリプト実行 [ 「0307.Get Refresh Token Google ( appId ; secret ; redirect ; scopeList )」 , ファイル: 「fmoauth」 ; 引数: $param ]
# 
# ──────────────────── Response Data
# 
If [ IsEmpty ( FilterValues ( JSONListKeys ( Get ( スクリプトの結果 ) ; "" ) ; "refresh_token" ) ) ] 
	# error
	フィールド設定 [ USER::googleRefreshToken ; Get ( スクリプトの結果 ) ] 
Else
	# ok
	フィールド設定 [ USER::googleRefreshToken ; JSONGetElement ( Get ( スクリプトの結果 ) ; "refresh_token" ) ] 
End If
# 

1件のコメント

fmOAuth(0.0.2)に、GmailのAPI(ダウンロードと送信)を実装しています

こんにちは。
株式会社フルーデンスの小巻旭洋です。

久しぶりのブログです。みなさまご無沙汰しております。

去年(2017年)の年末に fmOAuth というサービスのベータバージョン(0.0.1)をリリースしました。

リリースした後、しばらく開発することができなかったのですが、少し時間ができたので継続して開発を進めています。

今回のリリース(0.0.2)では Gmail のAPIにアクセスできるようにスクリプトを追加しました。

そのため、Gmailをダウンロードできるようになり、API経由でのメール送信ができるようになりました。

メール送信については、ファイルメーカーのスクリプトステップでメール送信できるので不要かと思いましたが、せっかくですので実装しました。
(ちなみに、現在のところはプレーンテキストの送信になります。)

Gmail API

fmoauth-002-gmail-api-download-send1

Gmail API レスポンスデータ(画像)

fmoauth-002-gmail-api-download-send2

Gmail API レスポンスデータ(JSON)

{
	"messages" : 
	[
		{
			"id" : "1617d8aa4f69f846",
			"threadId" : "1617d8aa4f69f846"
		},
		{
			"id" : "1617d87efe69da91",
			"threadId" : "1617d87efe69da91"
		},
		{
			"id" : "1617d3c7d8bba069",
			"threadId" : "1617d3c7d8bba069"
		},
		{
			"id" : "1602efb1eafc3062",
			"threadId" : "1602efb1eafc3062"
		},
		{
			"id" : "1602edd4d91518e5",
			"threadId" : "1602edd4d91518e5"
		}
	],
	"resultSizeEstimate" : 5
}
6件のコメント

Integromatを使いFileMakerとGoogleカレンダーを簡単に連携する

こんにちは。
株式会社フルーデンスの小巻です。

FM-Tokyoで話すことになったので、とりあえずってことで、簡単ではありますが記事をあげておきます。

後ほど、修正します!

デモファイルのダウンロード

https://github.com/frudens/fm-tokyo-integromat

Integromat

まずは登録してください。

https://www.integromat.com

ログイン後の画面

ログイン後の画面です。

「Create a new Scenario」を選択します。

filemaker-google-integration-integromat-01

シナリオ作成のためのサービスを選択する

「web」と入力し、絞り込みます。

「Webhoook」を選択し、右上の「Continue」を選択します。

filemaker-google-integration-integromat-02

シナリオを作成する

真ん中に「?」が表示されます。

右クリックで「Webhook」を選択します。

filemaker-google-integration-integromat-03

続きを読む →

fmperception-diff-viewer

FMPerception の diff を見やすくするためのファイルを作ってみた

fmperception-diff-viewer3

こんにちは。
株式会社フルーデンスの小巻旭洋です。

FMPerception の diff を見やすくするためのファイルを作成しました。

FileMakerの開発者であれば、FMPerceptionBaseElementsInspectorPro、などを使っている人が多いと思います。

私は、以前は BaseElements を利用していましたが FMPerception がリリースされてからは BaseElements をほとんど利用していません。

ということで、普段は FMPerception を利用しているのですが FMPerception の diff のレポートが、少し分かりづらいなと感じています。
(もしかしたら私のやり方が悪いのかもしれませんので、認識が間違っていたらご指摘ください。)

そこで、diffを見やすくしたいなと思いささっと作成しました。

GitHubにて公開していますので、宜しければ見てみてください。

fmperception-diff-viewer

https://github.com/teruhirokomaki/fmperception-diff-viewer

まだ分析ツールを購入していない開発者の方

因みに、分析ツールを利用せずに「データベースデザインレポート(DDR)をHTMLでエクスポートしてブラウザで見てる。」なんて人は今すぐに分析ツールを買いましょう。
開発者や開発会社であれば、買わない理由がないですし、積極的にサードパーティのツールを導入して自分の時間を効率よく使いましょう。

FMPerception や BaseElements のレビューは、追って記事にしたいと思います。