和紀Commentsこんにちは。ライジングサン・システムコンサルティングの岩佐です。おけるレコードの作成・編集、そして削除の方法について解説していきます。シリーズの1・2・3の内容を理解している必要があります。そちらの記事をご覧いただいていない方は、こちら、認証処理の記事から学習をスタートされると、スムーズに進められると思います。チュートリアル1・認証https://risingsun-system.biz/filemaker-data-api-authentication/こんにちは。ライジングサン・システムコンサルティングの岩佐です。使い方について全5回に分けてお送りします。pocketsまた、今回の学習でもPostmanを利用します。環境変数の自動更新を設定していますので、そちらも確実にできるようにしておいてください。環境変数自動設定に関しては、2つめの記事でご紹介しています。前の記事でご案内しているサンプルソリューションも、この先実際に手を動かして学習を進めていく上で必要となります。ホストしておいてください。(この記事の最後にもサンプルソリューションのダウンロードURLリクエストフォームをご用意しています。メソッドは、リクエストURLで指定したデータベース・テーブルに、新規レコードを作成するメソッドです。リクエストURLは以下のとおりです。リクエストタイプはPOSTになります。メソッドのパラメータは以下のとおりです。fieldDataインサートするレコードの値を、JSONのKey&Value方式で設定します。Keyにはフィールド名を、Valueにはインサートする値を設定します。JSONオブジェクト1つに対して1レコードの追加となります。portalDataインサートするレコードの関連レコードにも同時にレコードを追加したい場合に設定します。こちらは関連レコードとなるので、フィールド名は完全修飾フィールド名で記述します。Record(s)メソッドを実行してみてください。返されたJSONのportalDataオブジェクト内を確認することで、正確なキーを得ることができます。script.paramレコードの新規追加が終わった直後に実行したいスクリプトとその引数を記述します。script.prerequest.paramレコードの新規追加を実行する前に実行したいスクリプトとその引数を記述します。Postmanを使ったレコードの新規追加それでは実際にPostmanを使ってレコードを新規追加しましょう。今回は、メーカーテーブルに対して新しいメーカーさんを1件追加してみたいと思います。リクエストボディに設定するパラメータは以下の通りです。}}このリクエストが成功すると、メーカーテーブルにレコードが1件追加されます。レコードの追加が成功したら、次のようなレスポンスが返ってきます。Recordメソッドを使って取得してみましょう。取得した結果はこちらになります。次に、このメーカーの下にプロダクトを追加しましょう。プロダクトアイテムテーブルにレコードを追加します。外部キーとして、メーカーテーブルのプライマリキーが設定されています。値を採取して、新しい商品を追加するリクエストボディを設定してみましょう。以下が、プロダクトアイテムテーブルに新規追加するリクエストのJSONです。設定している値が、先程追加したメーカーレコードのプライマリキーの値になります。次に、レコードの新規作成と同時にスクリプトも実行してみましょう。今回は、レコードを追加する前と後の双方でリクエストを実行します。プロダクトアイテムテーブルに対して、新規レコードを1件追加すると同時に、その前後でレコード総数を返すスクリプトを実行します。設定するリクエストボディは以下の通りです。このリクエストを実際にコールすると、以下のようなレスポンスが返ってきます。別々に設定されていることがわかると思います。値が、”リクエスト処理前のレコード件数は23467′′。値が、”リクエスト処理前のレコード件数は23468′′と、レコード総数が1件増えているのがわかります。このあたりも非常に簡単でありがたい仕様ですね。実際の動きを動画で確認ではこれまでの学習を動画でも合わせて説明します。いかがでしょうか?うまくレコードの追加はできましたでしょうか?以上がレコード追加メソッドの説明です。メソッドここからは、レコードの編集メソッドについて学習していきます。先程追加したプロダクトアイテムのレコードのコメントフィールドを編集してみましょう。リクエストURLは以下の通りで、リクエストタイプはPATCHになります。https://{{serverAddress}}/fmi/data/v1/databases/{{databaseName}}//layouts/{{layoutName}}/records/23217URLの一番最後に指定している番号は、FileMakerのレコードIDになります。メソッドと同じなので、この項番での説明は割愛いたします。Postmanを使ったレコードの編集それでは実際にPostmanを使ってレコードを編集しましょう。今回は、先程追加した商品テーブルのレコードのコメントフィールドに、コメントを書いてみたいと思います。このリクエストを実行するためのパラメータは以下の通りです。APIからCommentを更新したよ。標準UIから事前に確認しておいてください。リクエストが成功すると、以下のようなレスポンスが返ってきます。ブロードキャストされます。実際の動きを動画で確認それでは、実際の動きを動画で確認しましょう。メソッド最後に、レコードの削除メソッドについて学習していきます。この学習で追加したメーカーテーブルのレコードを削除することで、同時に該当メーカー配下のプロダクトアイテムも削除します。メーカーテーブルとプロダクトアイテムテーブルの間には、リレーションシップで、関連レコードの削除が設定されています。DeleteメソッドのリクエストURLは以下の通りです。リクエストタイプはDELETEです。メソッドと同じく、最後の数値はFileMakerのレコードIDです。メソッドから、fieldData、及びportalDataを除いたスクリプトの指定のみですので、この項番での説明は割愛させていただきます。Postmanを使ったレコードの削除それでは実際にPostmanを使ってレコードを削除して見ましょう。次に削除対象のメーカーテーブルのレコードのレコードIDを確認して、リクエストURLに設定してください。削除リクエストが成功すると、以下のようなレスポンスが返ってきます。実際の動きを動画で確認それでは、削除リクエストをPostmanから実行する方法を動画にて説明します。メソッドについて解説をしてきました。リクエストの前後でスクリプトを実行する方法についても解説してきました。これらのメソッドは、RESTfulな思想に忠実に設計されており、他の開発言語の開発者でも比較的スムーズに理解してもらうことができるでしょう。それと同時に、これだけではなかなか対応が難しい機能をを実装したいことも出てくると思います。APIクライアント間のメッセージのやり取りがか非常に煩雑になります。できれば、1回のリクエストで複数のレコードを作成したり、更新したり、それと同時に他のテーブルも同時に更新したりといった複雑な処理を実行したい場合も出てくると思います。そのときに便利なのが、やはりスクリプトになります。検索時に実行可能ですが、これらの処理を一切実行せずにスクリプトのみ実行したいこともあるはずです。チュートリアルの最後の記事では、このあたりのテクニックについて解説していきたいと思います。サンプルソリューションのダウンロードサンプルソリューションはこちらからリクエストしてください。いただいたメールアドレスにダウンロードURLと、APIを実行するために必要なアカウント名とパスワードをお送りします。※認証の記事にあるサンプルソリューションと同じものなので、すでにダウンロード済みの方は必要ありません。※サンプルソリューションを動かすには、FileMakerのVer17以降が必要です。サンプルソリューションはロックフリーになっています。ダウンロードURLには、完全アクセス権のアカウント名とパスワードを記述しています。こちらでサンプルソリューションを開いていただければ、全ての中身を確認いただくことが可能です。サンプルソリューションで使われているカスタム関数やスクリプトは自由にあなたのソリューションにコピーして使っていただくことができます。それに伴って発生したあらゆる障害に関しては責任を追いかねることをご了承ください。BMWジャパンやDOLCE&GABBANAジャパンといった外資系企業、及び東証一部上場企業において、情報システム部門の立ち上げから基幹システムの企画・開発・運用まで幅広い経験と実績を持つ。2006年にフリーエージェントのITコンサルタントとして独立。株式会社ライジングサン・システムコンサルティングを創業する。現在はFileMakerプラットフォームとアジャイル開発を用いたシステム開発の内製化をサポートしている。