FileMaker Pro 18 Advancedからkintoneのアプリにレコードを追加する
こんにちは、エミックの松尾です。FileMaker Pro 東京ユーザーズミーティング(FM-Tokyo)のある日の午前中にカスタムWeb勉強会というFileMakerとWebに関する勉強会を開催していますが、4月のFM-Tokyoが開催中止になったことを受けて、2020年4月のカスタムWeb勉強会の開催を中止します。6月以降の予定については詳細が決まり次第ご案内したいと思います。今回の記事では、kintone REST APIを使用してFileMaker Pro 18 Advancedからkintoneのアプリにレコードを追加する方法について記しています。
FileMaker プラットフォームについて
業務改善に役立つアプリを構築できるFileMaker プラットフォームはAppleの子会社であるClaris社(Claris International Inc.)が開発・販売しているソフトウェアおよびクラウドサービスです。
1985年から続く歴史のあるソフトウェアであり、WindowsおよびmacOSで利用できるデスクトップ向けのFileMaker Pro Advancedには45日間試用できる無料評価版が用意されています。
FileMaker プラットフォームであれば、プログラミング言語での開発経験がない方でも、iPadでもデスクトップでも動作する業務アプリを作ることができます。FileMaker Pro Advancedを用いて“カスタム App”と呼ばれるファイルを作成し、そのファイルを業務アプリとして活用できます。
FileMaker Pro Advancedでカスタム Appを作成
FileMakerでは[URL から挿入]スクリプトステップを使うことでHTTPリクエストを送信できます。このスクリプトステップをインターネットに接続している状態で使用するとkintoneにデータを登録できます。
FileMaker Pro Advancedでカスタム Appを作成するには、[ファイル]メニューの[新規作成...]を選択します。
次に「新規」を選択したままの状態で[作成]をクリックします。
名前については今回は「PhotoReports.fmp12」とします。名前を入力して、保存場所を選んでから[保存]をクリックすると、指定した場所にカスタム Appが作成されます。
カスタム Appを作成すると、[データベースの管理]ダイアログボックスが表示されます。フィールド名の欄に「タイトル」と入力して、[作成]をクリックします。
FileMakerでは「タイトル」は予約語であるため、「選択された名前は下記の理由で計算式の中では通常は使用できません。」というメッセージが表示されますが、今回は気にせず[OK]をクリックします。
続けてフィールド名の欄に「メモ」と入力して、[作成]をクリックします。
[OK]を押して、フィールドの設定作業を完了します。
フィールドの設定作業が完了すると、データを表示・入力できる画面(レイアウト)が自動的に作成されます。タイトルおよびメモフィールドに何かデータを入力した後、フィールドの外をどこかクリックすると値が保存されるようになっています。
[URL から挿入]スクリプトステップでHTTPリクエストを送信
特定の処理を自動化するスクリプトを作成するには[スクリプト]メニューの[スクリプトワークスペース...]を選びます。
[+]をクリックします。
後から判別しやすいように、スクリプトの名称を「新規スクリプト」から「kintoneに登録」に変更します。
スクリプトステップの検索欄に「URL」と入力すると、目的のスクリプトステップを素早く見つけることができます。
[URL から挿入]スクリプトステップをダブルクリックすると、スクリプトに追加できます。
オプションの[ターゲット]をチェックすると、[ターゲットの指定]ダイアログボックスが表示されます。今回は[変数]をチェックして、変数の欄に「$response」と入力します。
[OK]を押してダイアログボックスを閉じた後、[URL を指定]の右にある[指定...]をクリックして、kintoneで単一のレコード登録に使うURIを入力します(例:「https://example.cybozu.com/k/v1/record.json」)。「example」の代わりに実際に使用しているkintoneのサブドメインを指定してください。
[SSL 証明書の検証]にチェックをつけます。
[cURL オプションの指定]の右にある[指定...]をクリックして、次の文字列をコピーした後、[計算式の指定]ダイアログボックス内にペーストします。
"-X POST --header \"Content-Type: application/json\" --header \"X-Cybozu-API-Token: YOUR_TOKEN\" --data-raw " & Quote(JSONSetElement ("";
["app" ; 46 ; JSONNumber];
["record" ; JSONSetElement("";
["文字列__1行_"; JSONSetElement ( ""; "value"; PhotoReports::${タイトル}; JSONString ); JSONObject];
["文字列__複数行_"; JSONSetElement ( ""; "value"; PhotoReports::メモ; JSONString ); JSONObject]
); JSONObject]
))
[OK]を押した後、[スクリプト]メニューの[スクリプトの保存]を選ぶと、作成したスクリプトの内容を保存できます。
なお、今回のサンプルは、kintoneアプリストアの「フォトレポート」アプリを利用する前提でのサンプルになっています。アプリのIDは46ではなく実際のアプリIDに、「YOUR_TOKEN」という文字列については実際のAPIトークンに置き換えてください。
kintoneでAPIトークンを生成する手順については、kintone ヘルプをご参照ください。kintone REST APIの概要や関連情報については以前の記事が参考になると思います。
スクリプトが動作するか確認する
[スクリプト]メニューの[kintoneに登録]を選択すると、スクリプトが実行されます。スクリプトを実行して[OK]を押した後に、実際にkintoneでレコードが作成されているか確認しましょう。
まとめ
kintone REST APIを使用してFileMaker Pro 18 Advancedからkintoneのアプリにレコードを追加する方法について解説しました。FileMaker プラットフォームも業務改善に役立つアプリを構築できる便利なソフトウェアです。次回は、iPadやiPhoneでインターネットに接続していない時に書いたメモをkintoneに登録できるように、FileMaker Pro Advancedで作成したカスタム AppをFileMaker Goにコピーする方法について解説したいと思います。
この記事が気に入ったらサポートをしてみませんか?