発端:外部連携をやってみたい
と思い立って、名刺やらなにやらの読み取りができるカスタムAppを作ってみて、名刺管理ソフトの認識精度すごいなと思った話。途中の手順の記憶があいまいだけど、忘れないうちに覚えていることを書いておく
準備
VisionAPIで検索-> 検索
1.VisionAPIのページからコンソールを開き、有効化する
2.認証情報のAPIキーを取得する
FileMakerの設定
・写真を格納するオブジェクトフィールド
・結果を返すテキストフィールド
最低限この二つは必要
VisionAPI
変数を設定[ $YOUR_API_KEY; 値:"(APIキーを入れる)" ]
変数を設定[ $photo; 値:Base64Encode ( 写真オブジェクトフィールド名 ) ]
変数を設定[ $ContentType; 値:"Content-Type: application/json" ]
変数を設定[ $JSON; 値:JSONSetElement ( ""; ["requests[0].image.content";$photo;JSONString]; ["requests[0].features.type";"TEXT_DETECTION";JSONString]
) ]
変数を設定[ $URL; 値:"https://vision.googleapis.com/v1/images:annotate?key=" & $YOUR_API_KEY ]
URLから挿入[ $$getJSON; $URL; cURL オプション: "curl -v -s -H " & $ContentType & "\--data " & $JSON ] [ 選択; ダイアログなし ]
変数を設定[ $Description; 値:JSONGetElement ( $$getJSON ; "responses[0].textAnnotations[0]description" ) ]
フィールド設定[ (テキストフィールド); $Description ]
全行説明
1.APIキーを設定
2.写真データを変数に取り込んで、Base64エンコードする
3.コンテンツタイプの設定
4.JSONのエレメントを設定する
SCRIPT_JSONELEMENT
JSONSetElement ( "";
["requests[0].image.content";$photo;JSONString];
["requests[0].features.type";"TEXT_DETECTION";JSONString])
5.URL設定
SCRIPT_URL
"https://vision.googleapis.com/v1/images:annotate?key=" & $YOUR_API_KEY
6.cURLの設定
cURLOption
"curl -v -s -H " & $ContentType & "\--data " & $JSON
7.取得したデータのDescriotionを格納
8.フィールドに書き出し
結果
結果はなかなか惨憺たるもの。ざっくり切り分けて自動的に名前を登録。みたいなレベルに達するには何段階か階段がある様子。とりあえずここまでで、Eightでいいやという結論