Baserow REST API
前回は Baserow にデータベースを作成するまでを紹介しました。
データベース化することでデータの管理の質はあげられますが、データを管理するだけでは価値を得ることは出来ません。
データは活用して初めて、価値が出ます。Baserow のデータをWebアプリで活用するのに必要になる、REST API の使い方をご紹介します。
EXCEL管理の強み
EXCELのようなスプレッド・シートでも、仕事の効率はあげられます。場合によってはEXCELのままのほうが、使い勝手が良い分、便利なことも多いです。
社内や社外からの情報を、スプレッドシート上で整理・分析し、個別最適化された価値のあるデータにした上で、利用出来るので、個々人の能力を向上させることで、スピーディーでかつ、品質の高いアウトプットに結びつけることも可能になります。
EXCEL管理の弱み
前の話でも触れたとおり、EXCEL管理の弱みには以下のようなものが挙げられます。
- 同じデータ用に複数のEXCELファイルが存在してしまう。
- 人によって入力する値に違いがあって、顧客名などが複数存在してしまう。
- 最新の状態が個人のコンピュータの中に存在してしまう。
- 社外からのアクセスが出来ない。
- スマホ・アプリなど、データの流用が出来ない
つまり、EXCEL管理の強みである、個別最適化されてしまったデータの価値は、他部署や他のチーム、別プロセス、別組織との間で、最適な価値になっているか、わかりません。
往々にして、重複や細かな齟齬を生じてしまい、データを統合させようとすると相当の労力(コスト)がかかることになります。結果的に全体最適化に伴う価値を、コストが上回ってしまうことになりかねません。
そうすると、変化の激しいビジネス・シーンにおいて、意思決定の遅れや、大胆な変化への躊躇へつながってしまいます。
必要なタイミングに、必要な場所で、データへアクセス出来る必要があるのに、データを移動するためのコストもかかります。
REST API とは
REST APIとは、データをインターネットなどのネットワーク経由で利用するための仕組みの一つです。
せっかくデータベース化しても、利用するための手段がなければ意味がありません。データベースを利用する方法は様々ありますが、REST APIを使うことで、社内・社外を問わず、様々なシステムで、データを活用することが可能になります。
もちろん、インターネット経由でデータにアクセス出来るようにすると、セキュリティの問題も出てきます。REST APIは、社内のネットワークだけでも使えますが、インターネットに出る可能性がある場合は、セキュリティにも注意が必要です。
Baserow の REST API
Baserow の REST API は、自動的に作成されるドキュメントで確認出来ます。

APIドキュメントは、ワークスペースごと、テーブルごとに一つずつ作成されるので、そのまま参考にして利用することができます。
例えば、テーブルのデータを一覧で取得するAPIドキュメントはこうなります:

HTTPヘッダにTokenが必要になります。Tokenは、Baserowのアカウント設定で作成出来ます。
アカウント設定から Database tokens を開くと、下図のようなメニューが開きます:

作成したトークンは、REST APIの Authorization ヘッダに利用します:

Baserow の REST API を呼び出す
今回はREST APIを呼び出すところまで実行してみます。
curl コマンドを利用した場合のサンプルです。

APIドキュメントと比較してみます。

Baserow では、”?user_field_names=true” というリクエストパラメタを付加しないと、カラム名が内部的なIDとして返却されます。わかりにくいので、注意が必要です。
