FileMaker Data APIとは?
FileMaker Data API は、FileMaker Server および FileMaker Cloud 向けの Web サービスとして利用可能な REST API です。(公式より)
データベースセッションへのログイン
接続にはトークンが必要です
HTTP メソッド POST
URL /fmi/data/version/databases/database-name/sessions
version – リクエストされた FileMaker Data API のバージョン。v1、v2、または vLatest のいずれかを使用できます。
database-name – 共有データベースの名前
HTTP ヘッダ Content-Type: application/json
Authorization: 共有データベースにログインするために使用するアカウント名とパスワードを表す Base64 エンコード文字列。
この Base64 エンコード文字列は標準の HTTP 基本認証スキーマに従う必要があります。(アカウント名とパスワードをコロンで区切ります。)
サンプルコード
トークンを取得する関数と、トークンを利用してFileMakerData APIにデータをPOSTするコードです。
FileMaker側は、my_database というデータベース内の my_layout に登録しています。
my_layout には、 cart_cartlist という、別のデータベースが埋め込まれています。
my_database > my_layout >cart_cartlist (埋め込み)
躓きやすいところ
- トークン取得してからアクセスとなります。トークンの寿命は1時間 https://help.claris.com/ja/admin-api-guide/content/authentication-cloud.html
- データベース内の埋め込みデータベースは、portalData を使用してレコード操作します。公式の参考ページ:
https://help.claris.com/archive/fm19/ja/data-api-guide/content/edit-record.html
感想
データベースの操作が最終的にうまく行ったか?の確認作業にFileMaker のアカウントが必要です。
開発者のローカルPCに、FileMaker クライアントをインストールし、目的のサーバーへ接続します。
このFileMaker クライアント、無料使用期間が終われば、正規有料のアカウントでつなぐしか方法がありません。
クライアントで払い出ししてもらえるクライアントが無い場合、購入するしかありません。
FileMakerは、有料ソフトゆえネットの情報には限界があり、公式だけが頼りといった感じです。
有料の講習を受けて、FileMaker関連の仕事を受けるというのが一般的なのだろうと感じました。
なので、CurlやPHPがわかっていても、FileMaker の独特なところをつかむのが難しいかったです。
MYSQLなどのRDBの概念で行くぞ!と意気込んでも、実際はもろもろ違うところがあり、いろいろ躓きました。
OSSのミドルウェアの情報の調達しやすい点は、とても素晴らしいと感じました。
有料アプリケーションを購入していない開発者が、うまく取り扱うというのは難しいことだと学びました。
郷に入っては郷に従え、が頭をよぎりました。