FileMaker Data API 3

さて、前回は FileMaker の [ URL から挿入 ] スクリプトステップを利用して、ログイン、ログアウトができるようになりました。

今回は、データを取得してみましょう。

スクリーンショット 2019-11-01 5.25.34

下準備

データを取りたいファイルに、Data API 用のレイアウト ( フォーム形式 )を作成しておきましょう。

今回は、process_management_system.fmp12 というファイルに t002_user というレイアウトを用意しました。

スクリーンショット 2019-11-01 5.43.48

このレイアウトの情報を取得してみましょう。

スクリプト作成

ログイン用の [ URL から挿入 ]スクリプトステップで得られた結果を以下のようにすれば token を取得できます。

JSONGetElement ( $結果 ; "response.token" )

これを利用して、データを取得していきます。

まず手始めに、1 レコード目のデータを取得したいと思います。

スクリーンショット 2019-11-01 5.31.24

取得用の[ URL から挿入 ]スクリプトステップを作成します。Server のアドレス、ファイル名、レイアウト名などは適宜変更してください。

URL

"https://Server.local/fmi/data/vLatest/databases/process_management_system/layouts/t002_user/records/1"

cURL

"curl https://Server.local/fmi/data/vLatest/databases/process_management_system/layouts/t002_user/records/1
 -X GET
 -H \"Authorization: Bearer " & $response.token & "\""

スクリーンショット 2019-11-01 5.35.49

上記のスクリプトを実行してみます。以下のような結果が得られました。

{
	"messages" : 
	[
		{
			"code" : "0",
			"message" : "OK"
		}
	],
	"response" : 
	{
		"data" : 
		[
			{
				"fieldData" : 
				{
					"account" : "admin",
					"changeTrigger" : "10/31/2019 18:25:57",
					"creationAccountName" : "admin",
					"creationPersistentID" : "****************",
					"creationTimestamp" : "08/28/2019 12:53:56",
					"creationUser" : "test",
					"hash" : "******************************",
					"id" : "C1FD8756-B7A3-4F80-82F9-141B480C4201",
					"img" : "https://server.local/Streaming/MainDB/***********************.png?RCType=EmbeddedRCFileProcessor",
					"isActive" : 1,
					"isCommit" : 1,
					"isDeleted" : 0,
					"modificationAccountName" : "admin",
					"modificationPersistentID" : "****************",
					"modificationTimestamp" : "10/31/2019 18:25:57",
					"modificationUser" : "test",
					"name" : "管理者",
					"one" : 1,
					"sort" : 1
				},
				"modId" : "33",
				"portalData" : {},
				"recordId" : "1"
			}
		],
		"dataInfo" : 
		{
			"database" : "process_management_system",
			"foundCount" : 1,
			"layout" : "t002_user",
			"returnedCount" : 1,
			"table" : "t002_user",
			"totalRecordCount" : 3
		}
	}
}

オブジェクトフィールドに格納されたデータは、URL という形で取得できました。この URL にアクセスすると、格納されたデータを確認することができました。データを変更すると、URL も変わります。

何に利用できるか?

今回は、データを閲覧するだけでしたが、書き込み権限を与えて、データを追加することができたり、スクリプトを実行することもできるので、色々な場面で利用できそうです。

例えば、不特定多数の人にアンケートを入力してもらって、そのデータを一元管理したり、必要な時だけ、サーバーからデータを持ち出して、ネットワークが繋がらないところで入力作業して、終わったらサーバーにアップロードしてもらったり・・・

1 人あたり年間 24 GB割り当てられ、1 レコードのデータを取得するのに、1 KB 消費するとしても、2500 万レコード / 年 も取得するシチュエーションはあまり思いつきません。

もし、そういう場面になったら、オブジェクトフィールドにデータを入れてあげれば、容量の問題は回避できるかもしれません。

今後の FileMaker Data API 活用事例に注目していきたいと思います。



この記事が気に入ったらサポートをしてみませんか?