※ 本記事は@kuwazzyさんの記事に続く「Web API Advent Calendar 2021」9日目の記事となります。
※ 本記事は2021年12月時点での情報を元にしています。今後のアップデートにより仕様が変更される可能性がある点はご注意ください。
「Web API Advent Calendar 2021」2日目の記事でGoogle スプレッドシートの内容をJSON形式で返すAPIを作成するサービス「SSSAPI」が紹介されていました。
活用例としてモックやマスターデータ系が紹介されていましたが、実に面白い!
スプレッドシートの更新は他に任せて読み取り専用で提供するという潔さもまた良いです。
本サービスにはお試し用の無料プランも用意されていて、個人的にこういったニッチだけれど地味に需要があるサービスは大好きなのでさっそく試してみることにしました。
SSSAPIの登録方法(無料プラン)
- 公式サイトから「無料ではじめる」ボタンをクリックします。
- 利用規約とプライバシーポリシーを確認した上で、問題がなければ「Googleでログイン」ボタンをクリックしてGoogle アカウントでログインします。
- 問題無くログインできれば「API List」画面が表示されます。
以上で登録作業は完了です。
非常に簡単です。Google アカウントさえあれば1分で使えるようになります。
有料プランに切り替えたいときは設定画面の「UPGRADE」ボタンから決済作業を行います。
APIの追加方法
- 元となるスプレッドシートを準備します。下図のサンプルデータはMockarooで作成したものです。
- SSSAPIのHOME画面から「Add API」ボタンをクリックします。
- 「APIの追加」画面でAPI名とスプレッドシートのURL(対象シートの編集画面のURL)を入力し、共有用アカウントのアドレスをコピーしておきます。
- スプレッドシートの編集画面から「共有」ボタンをクリックし、手順3.でコピーしたアカウントでシートを閲覧できるように権限を設定します。
- SSSAPIの「APIの追加」画面に戻り「OK」ボタンをクリックします。
- ビルドが行われ、問題がなければAPI Listに新しくAPIが追加されます。
- APIの詳細画面を開くと、APIを実行するためのURLが発行されていることが確認できます。
- 発行されたURLをブラウザーで開くと、スプレッドシートのデータがJSON形式で表示されることが確認できます。
以上でAPIの追加は完了です。
こちらも非常に簡単で、スプレッドシートの準備さえできれば数分でAPIを利用できるようになります。
APIの利用方法
発行されたURLを叩くと基本的に全件取得になりますが、パラメーターを指定してフィルタリングやソートすることもできます。
下記は「app_name」に「Zoo」が含まれるデータのみを抽出して「app_version」で降順ソートする例です。
https://api.sssapi.app/<API_ID>?filter__app_name__contains=Zoo&order_by=-app_version
詳しい利用方法は下記ヘルプをご参照ください。
Access Tokenによる認証
APIはAccess Tokenで制限を掛けることもできます。
SSSAPIの設定画面にある「Access Token」から新しいトークンを追加し、APIの詳細画面にある「承認済みドメイン」から「*sssapi.app」を削除することで、リクエストヘッダーでトークンを指定しないとデータを取得できなくなります。
詳細は下記ヘルプをご参照ください。
制限を超えるとどうなるのか?
無料プランでは1APIにつき50行までという制限(2021年12月時点)がありますが、最大行数を超える場合はどうなるのか試してみました。
結果は上図の通りで、制限を超えてデータを取得することはできませんでした。
大量のデータを扱いたいときにはボリュームに応じて有料プランを契約する必要があります。
上記の通り、今回はGoogle スプレッドシートのAPI化サービス「SSSAPI」を試してみたわけですが、実際に使ってみるとあまりに簡単に利用できるので非常に驚きました。
本サービスと同様のことはGoogle Apps Script(GAS)でも実装できますが、GASには下記サイトで解説されているように制限がありますし、手間を考えると本サービスの方が圧倒的に楽です。
“テスト用に気軽に叩けるAPIが欲しい!”と思うこともよくありますし、スプレッドシートで簡単にデータが用意できる本サービスの需要は結構あるのではないかと思います。
一点だけ気になったのはビルドのタイミングで、APIのオプションで「自動更新」をオンにしておけばスプレッドシートが更新されたタイミングでAPIも更新されるのですが、ポーリングで処理されているのか更新されるまで数分間(3分程度?)のラグがあるため、クエリパラメーター(例えば「?build=on」のような)や叩いたタイミングでビルドされるAPIの実装等、自動更新以外に何かしらビルドを実行できるようになるとより使いやすくなるのではないかと思いました。
とはいえ、上記の通り非常にお手軽で「Standard」プランで月額300円、「Premium」プランで月額980円という安さを考えるとお買い得なサービスといえるのではないでしょうか。
今回の記事はこれで終了です。
Web API Advent Calendar 2021、10日目は@R_t_A_n_Mさんの下記記事になります。
この記事へのコメントはありません。