こんにちは。
ライジングサン・システムコンサルティングの岩佐です。
このブログ記事より、FileMakerのバージョン17より公式リリースとなった FileMaker Data API の使い方について全5回に分けてお送りします。
今回はその第1回目ということで、FileMaker Data API を使うときに必ず必要となる認証処理、Authenticationについて解説していきます。
1. 認証処理の必要性
通常、FileMaker で開発した カスタムApp をエンドユーザに利用してもらうとき、必ず最初に「ログイン」を実行し、システム利用者が認可された利用者であることを確認すると思います。
これから解説する Authentication
は、FileMaker Data API を利用する際に必ず必要となるログイン・ログアウトの処理と思ってください。
ログイン処理が成功すると、APIから token という値が戻ってきます。
以降、すべてのAPIを実行するには、この token が必要となります。
1-1. ログイン後の FileMakerServer AdminConsole の様子
ログインが成功すると、 FileMaker Server の AdminConsole には、ログインAPIで用いたユーザアカウントの接続情報が表示されます。APIでログインというと特別なように感じますが、要は FileMakerPro、FileMakerGo、及びWebDirectではない、クライアントアプリが、該当のfmp12ファイルを開いているようなイメージになります。
ただ、標準の FileMakerクライアントからの接続と異なるところは、同時接続数を消費しないことです。AdminConsoleのダッシュボードを確認すると、API経由でログインしたセッションが、接続数にカウントされていないことがわかります。
それでは実際に、認証系のAPIを確認していきましょう。
2. 学習環境の準備
FileMaker Data API の学習を進めるには、oAuth や WebAPI の座学的な学習よりも、実際に手を動かしながら 様々な機能を実行し、まずはAPIを利用する「勘所」を抑えることが重要です。ですので、こちらのチュートリアルでも、実際に手を動かしながら学べる環境を構築し、具体的な学習に入っていきたいと思います。
2-1. サンプルソリューションの準備
学習を進めるには、まずある程度データが投入された fmp12ファイルが必要となります。今回は株式会社KSP-SP様のサイトでオープンデータとして提供されているPOSデータをサンプルデータとした学習ファイルを用意しました。
https://www.ksp-sp.com/open_data/ranking/2018/
また、こちらのサイトでHTML形式で提供されているデータを、スクレイピングというテクニックを使って、CSVファイルにコンバートするソフトウェアは、弊社のビジネスパートナーでもある株式会社フルーデンスの小巻様にご提供いただきました。
小巻さん、ありがとうございます!
サンプルソリューションは、この記事の最後にダウンロードURLのリクエストフォームをご用意しております。
2-2. アクセス権・拡張アクセス権の設定
ダウンロードいただいたサンプルソリューションにはすでに設定されていますが、FileMaker Data API を利用するには、API を実行するときに使う FileMaker アカウント に拡張アクセス権を設定する必要があります。
今回DLいただけるサンプルソリューションには、api_userというアカウントが [データ入力のみ] のアクセス権セットが設定されています。そして、この [データ入力のみ] のアクセス権セットに、【FileMaker Data API でのアクセス – FMSのみ(fmrest)】という拡張アクセス権が設定されています。
2-3. FileMaker Server の設定
ダウンロードしたサンプルソリューションを簡単に確認いただいたら、それをいつものように FileMaker Server へホストしてください。そしてホストする FileMaker Server は、FileMaker Data API の利用が有効な状態にしておきましょう。
FileMaker Data API の機能を有効にするには、 FileMaker Server Admin Console にログインし、【コネクタ】→【FileMaker Data API】と辿ったページにある、トグルスイッチを有効にするだけでOKです。
これで、FileMaker Data API を利用するための サーバ環境が整いました。
FileMakerプラットフォームらしく、とても簡単な手順ですね。
2-4. Postmanのインストール
APIを実行するには、当然APIをコールするクライアントアプリが必要となります。しかし、学習や動作検証のために、毎回クライアントアプリを開発するのも非効率です。そこで今回は、WebAPI のテスト用アプリとして著名な Postman を使って学習を進めることにします。
Postmanは、Windows/Mac双方のクライアントが用意されています。
まずはそれぞれのOSに応じたPostmanのインスールプログラムをダウンロードして、普通通りインストールしてください。ダウンロードサイトはこちらです。
インストールが終了したら、早速起動してみてください。恐らくこのようなウインドウが開くと思います。このウインドウが確認できたら、 Collection をクリックしてください。
そうすると、 CREATE A NEW COLLECTION というダイヤログウインドウが表示されるので、Nameのテキストボックスに「FileMaker Data API Tutorial」と入力して、「Create」ボタンをクリックします。
コレクションが作成できたら、このような画面が表示されると思います。ポップオーバーのようなコントロールが表示されますが、こちらは必要ないので、右上の閉じるボタンで閉じてください。
2-5. Postman の環境変数設定
Postmanを使って学習を進めていく過程で、サーバ名やデータベース名、レイアウト名など何度も同じ情報を入力する場面があります。こういった作業はタイプミスなどによる作業ロスが発生しやすいので、予め環境変数を設定しておくと便利です。
Postmanの右上を確認すると、No Environment というコンボボックス、そして環境変数を確認できるアイコンボタンが表示されています。このアイコンボタンをクリックし、表示されたポップオーバーにあるaddボタンをクリックしてください。
そうすると以下のような 【MANAGE EVIRONMENTS】 というダイヤログウインドウが表示されますので、この先何度も入力が必要な以下のような項目を追加しておきましょう。
変数名 | 説明 |
serverAddress | FileMakerServer の ホスト名 |
databaseName | APIを実行する対象のfmp12ファイル名 |
userName | APIを実行するときに使うユーザ名 |
password | APIを実行するときに使うユーザのパスワード |
layoutName | API実行時のURLに設定するレイアウト名 |
token | API実行時に必要なアクセストークン |
サーバ名に関しては、各々の学習環境に応じて設定してください。ユーザ名とパスワードに関しては、サンプルソリューションのダウンロードURLをご案内するメールに記述されているので、そちらをコピー&ペーストすると良いでしょう。
レイアウト名とアクセストークンは、現時点では空白のままでOKです。
※実際にお配りするサンプルソリューションのアカウント情報は、上記スクリーンショットと異なります。
2-6. FileMaker Data API のリファレンスページ
学習準備の最後のステップとして、FileMaker Data API のリファレンスページを確認しておきましょう。この先、このページの情報を頼りに学習を勧めていきます。
また実際にソリューションを開発していく中で何回もお世話になるページです。ブックマークなどをしておき、すぐにアクセスできるようにしておきましょう。
FileMaker Data API のリファレンスページは、ソリューションをホストするFileMaker Server から Webサイトとして参照することができます。例えば FileMaker Server のFQDNが…
https://fmsdev01.risingsun-system.biz/
の場合
https://fmsdev01.risingsun-system.biz/fmi/data/apidoc/fmi/data/apidoc/
にアクセスすると、リファレンスページが表示されます。
いかがでしょうか、リファレンスページは表示されましたか?
これで学習準備が整いました。
3. 認証(Authentication)
ここからは実際にPostmanからAPIを実行して、FileMaker Data API がどのように動作するのかを確認していきます。
まず最初にログイン処理について確認しましょう。
3-1. Authentication – Login
それでは、Postmanを使って、実際に認証処理を実行しましょう。
認証処理を実行するには、ホストされている対象のfmp12ファイル名称、そしてそのファイルを開くためのアカウント名とパスワードが必要になります。
アカウント名とパスワードは、サンプルソリューションのダウンロードURLをご案内するメールに記述しています。
そしてここから先は、具体的なPostmanでの操作となるのですが、文章だけでお伝えするよりも動画のほうがよりリアルに伝わると思います。よって、以下の動画を参照しながら、ログイン認証処理を実行してみてください。
いかがでしたでしょうか、認証処理は成功されましたか?
動画の途中で出てくる環境変数が設定されたリクエストURLはこちらになります。
https://{{serverAddress}}/fmi/data/v1/databases/{{databaseName}}/sessions
また、実際にログインが成功したら、ぜひAdminConsoleにログインして、セッションが確立していることをご確認ください。
3-2. Authentication – Logout
次にログアウト処理を見ていきましょう。FileMakerでは、ファイルを閉じる操作で自動的にログアウトとなりますが、FileMaker Data API では、明示的にログアウトの処理が必要になります。
こちら、ログアウトの処理に関しても、動画にてご確認ください。
4.まとめ
このブログ記事では、Postmanを使ってFileMaker Data API を使うために必要なログイン・ログアウトの方法について解説してきました。
また、Postmanを使う上で非常に便利な環境変数の設定方法についても解説をさせていただきました。
次回は、サンプルソリューションに保存されているデータを取り出す API の実行方法について解説をしたいと思います。
4-1. サンプルソリューションのダウンロード
サンプルソリューションはこちらからリクエストしてください。いただいたメールアドレスにダウンロードURLと、APIを実行するために必要なアカウント名とパスワードをお送りします。
※サンプルソリューションを動かすには、FileMakerのVer17以降が必要です。
サンプルソリューションはロックフリーになっています。
ダウンロードURLには、完全アクセス権のアカウント名とパスワードを記述しています。こちらでサンプルソリューションを開いていただければ、全ての中身を確認いただくことが可能です。
そして、サンプルソリューションで使われているカスタム関数やスクリプトは自由にあなたのソリューションにコピーして使っていただくことができます。
ただし、それに伴って発生したあらゆる障害に関しては責任を追いかねることをご了承ください。
最後までお読みいただきありがとうございました。
この記事にご興味を持たれた方には、こちらの記事もおすすめです。