ターミナルから FileMaker 17 Data API を試してみた

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

先日、FileMaker 17 がリリースされまして、界隈は大変盛り上がっていますね。
多くのデベロッパーさんが、17に関連する記事を書いています。
そこで、今回は情報の少なめな FileMaker 17 Data API について、書いてみます。

タイトルの通り、ターミナルを使いますが、コピペで使えるようにしていますので、気軽に挑戦してみてください。

まずは、ドキュメントの整理を。

FileMaker Data API について

Data API は、16から使えましたが、試用期間でした。
試用期間も終わり 17 で、正式にリリースされました。

時間がある方は、ヘルプを見てください。

FileMaker 16 Data API
https://fmhelp.filemaker.com/docs/16/ja/restapi/

FileMaker 17 Data API
https://fmhelp.filemaker.com/docs/17/ja/dataapi/

FileMaker Data API Reference について

FileMaker Server をインストールしたら、以下のURLでリファレンスを見ることができます。

https://your-domain.com/fmi/data/apidoc/

ヘルプを見ればちゃんと書かれていますので、見ましょう。

FileMaker Server をインストールすると FileMaker Data API Reference ファイルがインストールされます。このリファレンスファイルには、FileMaker Data API でサポートされるすべての呼び出しに関する詳細情報が含まれています。

メモ: FileMaker Data API Reference を表示するには Admin Console で FileMaker Data API アクセスが有効に設定されていることを確認します。FileMaker Server ヘルプを参照してください。

  • マスタマシンのブラウザウインドウでこのリファレンスを表示するには、次の URL を入力します。
    https://localhost/fmi/data/apidoc/
  • リモートマシンのブラウザウインドウでこのリファレンスを表示するには、次の URL を入力します。
    https://<ホスト>/fmi/data/apidoc/
    <ホスト> は FileMaker Server が実行されているマスタマシンの IP アドレスまたはホスト名です。
  • Windows サーバーの場合、リファレンスファイルは次のフォルダ内にあります。
    [ドライブ]:¥Program Files¥FileMaker¥FileMaker Server¥Documentation¥Data API Documentation
    [ドライブ] は FileMaker Server 展開が存在するドライブです。

    Windows 上のデフォルト以外の場所にインストールした場合、次のようにデフォルトのインストールパスの先頭部分がインストール場所に置き換わります。
    [ドライブ]:[インストール場所]¥FileMaker¥FileMaker Server¥Documentation¥Data API Documentation
  • macOS サーバーの場合、リファレンスファイルは次のフォルダ内にあります。
    /ライブラリ/FileMaker Server/Documentation/Data API Documentation

メモ

リファレンスファイルでは先頭にコロン (:) の付いたキーワードを使用して URL 内の変数を示しています。例: :database
このガイドでは斜体フォントを使用して URL 内の変数を示しています。例: database-name

環境

macOS High Sierra (10.13.4)
curl 7.54.0
jq 1.5 (brewでインストールしてください!)

windowsの方は、cygwinなどでやってみてください。
時間があれば、検証してみます。

任意のレイアウトのレコードを取得する

Login や Get Records をまとめて書きます。

host="your-host.com"
auth=`echo -n "yourAccountName:yourPassword" | base64`
database="yourFileName"
layout="yourLayoutName"
option="?_limit=5"
token=`curl --request POST \
	--header "Content-Type: application/json" \
	--header "Authorization: Basic $auth" \
	--data "{}" \
	https://$host/fmi/data/v1/databases/$database/sessions \
	| jq '.response.token' \
	| sed "s/\"//g"`
curl --request GET \
	--header "Authorization: Bearer $token" \
	https://$host/fmi/data/v1/databases/$database/layouts/$layout/records$option \
	| jq

これをターミナルに貼り付けると、うまくいくはずです。
エラー処理など一切気にしていないので、細かい点はつっこまないでください。

ちなみに、オプションにスクリプトを指定できます。
この辺は fmp:// と同じ感じでしょうか。

option="?_limit=5&script=testScript"

このように気軽にレスポンスを確認することができます。

filemaker-17-data-api-from-terminal1

↑の画像には testScript の、スクリプト終了の値が入っています。

filemaker-17-data-api-from-terminal2

あとがき

FileMaker 17 Data API は無料ではありませんので、ご注意ください。

とりあえず触ってみましたが、どのように使えそうか、色々と模索しています!

引き続きよろしくお願いいたしますm(_ _)m

2014年からフリーランスとして活動し、2016年に株式会社フルーデンスを設立する。 最近は、GolangでCLIツールを開発したり、GAE/GoでWebアプリケーションを開発しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください