FileMaker から Airtable のレコードを作成する

ずっと前から気になっていた Airtable をやっと使ってみた。

Airtable | Create apps that perfectly fit your team's needs
https://www.airtable.com/

無料版を少し触ってみたが、iPadOS からデータベースの作成・編集ができたりといった FileMaker ではできないことができる。使い方によってはいろいろ便利だ。FileMaker から完全に乗り換えることはできなさそうだが、FileMaker を補うツールとして使っていきたい。

Airtable で最初に混乱したのが、Workspace と Base の違いだ。これについては、「Workspace がフォルダで、Base がその中に入れるファイル」と考えることでやっと理解できた。Workspace はグループ分けをしているだけで、Base が個々のデータベースである。

複雑なスクリプトなどを使用せず、単純にデータを蓄積していくだけなら FileMaker Server を使うまでもなく、Airtable で事足りそうだ。

そこで、最初にやってみたことが、FileMaker から Airtable のレコードを作成することだ。これができれば、Mac の FileMaker や iPad の FileMaker Go からデータを入力して、どんどん Airtable にデータを溜めたりできる。

今回は(レコードのデータを拾ったりせず)FileMaker のスクリプト内のみで、Airtable のレコードを新規作成してみた。

環境:macOS Catalina Version 10.15.6(英語環境)、FileMaker Pro 19

(0)Airtable のアカウントを作成する。今回は無料版で作成した。

(1)FileMaker から Airtable にデータを送るには、Airtable の Base ID および API key を確認する必要がある。

Base ID は2つの方法で確認できる。

(方法1)適当な Base を開きその URL を見てみると以下のようになっているので、ここで Base ID が分かる。

https://airtable.com/[Base ID]/[Table ID]/[View ID]

(方法2)適当な Base を開いた状態で、「右上の HELP>ADDITIONAL RESOURCES>API documentation」で API documentation を開き、「The ID of this base is〜」の部分に書かれている。

Base ID は、名前からして各 Base 固有の値なのかと思いきや、アカウントごとに決められた値のようだ。

次に API key だが、これは「右上のユーザーアイコン>Account>API>Generate API key」で発行する。

(2)FileMaker で以下のようなスクリプトを作成する(Airtable で、Table 1 というテーブルに、FieldA、Field FieldB、FieldC というテキストフィールドがあるとする)。

Set Variable [$url ; Value: "https://api.airtable.com/v0/[Base ID]/Table%201"]
Set Variable [$fA ; Value: "フィールドAです。"]
Set Variable [$fB ; Value: "フィールドBです。"]
Set Variable [$fC ; Value: "フィールドCです。"]
Set Variable [$JSON ; Value: *1 ]
Insert from URL [Select ; With dialog: Off ; Target: $$Results : $url ; cURL options: *2 ]

*1 の値
JSONSetElement ( $JSON ;
["records[0].fields.FieldA"; $fA ; JSONString];
["records[0].fields.FieldB"; $fB ; JSONString];
["records[0].fields.FieldC" ; $fC ; JSONString]
)

*2 の値
"curl -X POST -H "Authorization: Bearer [API key]" -H "Content-Type: application/json" -d " & $JSON

これでスクリプトを実行すると、Airtable にレコードが作成され、スクリプトで指定した内容が反映される。投稿内容は日本語も大丈夫だった。

注意点としては、投稿内容に半角スペースがあってはいけないことと(全角スペースは OK)、Airtable のフィールドタイプは Number だとエラーとなるので Single line text などのテキストにしなければいけないこと、だ。

参考:
【Airtableの使い方】ノーコードでデータベース管理をしよう | ノーコードジャパンニュース-ノーコード開発の羅針盤
https://nocodejapan.org/media/how-to-use-airtable/#WorkspacetoBase

Understanding Airtable IDs – Airtable Support
https://support.airtable.com/hc/en-us/articles/4405741487383-Understanding-Airtable-IDs

Integrating FileMaker and Airtable
https://blog.supportgroup.com/integrating-filemaker-and-airtable

JSON関数の階層化 – ファイルメーカーの使い方はもちろん開発やサポートも安心!FileMakerのことなら株式会社東洋へ
https://fm.toyo-group.co.jp/tips/2020/11/11/949


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