HomeRPAブログページその他SSSAPIを使ってスプレッドシートを使ってみよう

BizRobo!ブログ

 今回は、BizRobo!というよりもBizRobo!をより活用していくための外部サービスのご紹介です。

 ご紹介するサービスは、「SSSAPI」です。
 GoogleスプレッドシートをAPIで扱う際は、GoogleCloudPlatform(以降、GCPと呼称)でプロジェクト作成して、OAuth認証やアクセストークンの発行、SheetsAPIの操作方法の確認等、普段からリファレンスに馴染んでないとかなり大変な作業になりますよね。

 このSSSAPIは、現時点では参照のみという制限はありますが、そういった難しい作業を抜きにして簡単にスプレッドシートをAPI化してくれるサービスです。
 制限を抜きにしても、「誰でも」「簡単に」スプレッドシートをAPIとして利用できることはかなりのメリットですよね。

ではでは、実際の使い方を確認していきましょう。

 

SSSAPIとは


 合同会社めもらばが運営しているGoogleスプレッドシートをJSON形式で返却するAPIを作成できるWebサービスです。

「GoogleAPIが難しくて手が出せない」、「わざわざサーバを用意するまでもでもない」といったときに「ノーコード / サーバレス」で簡単に利用できます。

SSSAPI 説明引用:SSSAPIの特徴より(https://sssapi.app/)

 2021年12月1日より、正式サービスとして稼働しているため、料金プランが存在します。
 お試しや利用したいスプレッドシートが3つ以下の場合は無料プランでも問題ないため、まずは試してみましょう。

SSSAPI 料金引用:SSSAPIのプランより(https://sssapi.app/)

 利用にあたっての注意点としては、4つです。

  1.  SSSAPIのgoogleアカウントを自身のスプレッドシートの共有に追加すること
    アクセス設定のため必須作業です。
    共有させたくない場合は、素直にSheetsAPIを利用しましょう。
  2. スプレッドシートの参照しかできないこと(SheetsAPIのように動的APIとして利用することはできません)
    現在は、参照用APIとしての利用となっています。
    もし参照している内容を更新したい場合は、スプレッドシートを更新後、SSSAPIを更新する必要があります。
  3. SSSAPI独自のアクセス用URLが発行されるため、サービス側でスプレッドシートのデータが取り込まれる可能性があること
    アクセス速度向上のため、スプレッドシートのデータをサービス側で取り込んでいる可能性があります。
    2つ目の注意点にも記載している通り、サービス側にデータが取り込まれているかと想定できます。
    そのため、個人情報や社内機密系のデータを保持しているスプレッドシートを利用してもいいか、検討しましょう。
  4. デフォルトでは全体公開になっているので、本番運用ではアクセス制限を追加する必要があること
    デフォルト設定では、URLさえ分かれば誰でもアクセスできる状態ですので、検証/テスト時は見られてもいいデータを利用しましょう。

 

SSSAPIを使ってみよう


 1. 会員登録

 SSSAPIの利用には、会員登録が必要です。
 簡単なので、ササッと済ませてしまいましょう。

 SSSAPIにアクセス後、メニューのLoginをクリックし、Googleアカウントを利用して会員登録します。

SSSAPI LOGINメニュー

SSSAPI 登録

 登録が完了すると、編集画面が表示されます。

SSSAPI 登録後TOP

 

 2. APIの登録 

 ここから以降は、実際にスプレッドシート参照するAPIを作成しますが、事前に利用したいスプレッドシートを作成しておきましょう。
 今回は、下記のIT系のニュースサイトの名称/URLを記載したものを利用します。

スプレッドシート1

 では、実際にAPIを作成して行きましょう。
 まずは、右上の AddAPI をクリックし、登録画面を表示します。

SSSAPI AddAPI

 続いて、SSSAPIでの表示名と利用するスプレッドシートのURLを記載します。
 フォルダを変更したい場合は、先に一覧画面でフォルダを追加してから、この登録画面を表示してください。

SSSAPI 新規追加

 最後に必要な作業は、赤枠のSSSAPIアカウントをスプレッドシートの共有設定に閲覧権限で追加することです。
 表示されている「このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。」アカウントをコピーします。 
 なお、右側のファイルアイコンをクリックするだけでコピーできます。 

 別タブにスプレッドシートを表示し、右上の 共有 から共有設定画面を表示します。

SSSAPI スプレッドシート共有2 

 上記画像のように、コピーしたSSSAPIのアカウントを閲覧権限を選択し、送信します。
 共有設定が終われば、SSSAPIの画面に戻って設定を確定します。

 そうすると、一覧画面に作成した項目が表示されますので、右側の build... となっているラベルが Ready になるまでしばらくお待ち下さい。

SSSAPI build

SSSAPI ready

 以上で、APIの作成は完了です。

 

 3. APIの利用

 後は利用するだけなので、サクサク進めていきましょう。
 簡単な実行方法は、 一覧画面の右側︙ からOpen API URLをクリックするだけです。

SSSAPI OpenURL

 文字の羅列になっているため見辛いですが、別タブに全てのスプレッドシートのデータがJSON形式で表示されます。
 スプレッドシートの "@IT" から始まり、 "BRIDGE" まで取得できていることが確認できます。

SSSAPI browser

 URLをコピーして、CURLコマンドでも簡単に実行可能です。

SSSAPI curl2

 BizRobo!で実行すると、改行もあり見やすいかと思います。

SSSAPI Bizrobo

 

 4. APIの更新

 SSSAPIで取得できるJSONを更新したい場合、スプレッドシート自体を更新し、SSSAPIにスプレッドシートの変更を取り込む必要があります。

 今回は、スプレッドシートを以下のように変更します。

スプレッドシート2

 変更したスプレッドシートをSSSAPIに反映しましょう。
 一覧の右側のUpdateをクリックすると、再取り込みが始まります。うん、簡単ですね。
 Readyアイコン が Build...Ready になるため、完了するまでしばらく待ちましょう。

SSSAPI ready

 CURLコマンドを実行してみると、追加した項目も取得されていることが確認できます。

SSSAPI curl3

しかし、現状のままではJSONの項目が何個あるのか、何個目がどのサイトなのか識別し辛いため、各項目に "ID" を表示できるように設定を編集しましょう。
一覧画面の右側 > から編集画面を表示します。

SSSAPI 編集

 編集画面の下部にオプションがありますので、下までスクロールします。
 API Optionを見つけたら、その項目内の「行数をIDとして追加」をONに変更後、画面上部のUpdateをクリックします。
 API Optionを変更した場合、Updateをクリックしないと変更が反映されないため、忘れないようにしましょう。

SSSAPI Option2

 設定の変更後にAPIを再度実行すると、各項目に "ID" が追加されていることを確認できます。

SSSAPI Bizrobo2

 

  5. APIのフィルタリング

 多数の項目から検索条件に応じて、データを必要に応じて自由に取り出して利用したいと思いますよね。
 SSSAPIには、検索オプションも標準搭載です。
 APIの利用方法

 利用方法はガイドに記載されていますので、今回は簡単に試してみましょう。
 お題は、サイト名列に 「IT」とつくデータだけを取得します。

フィルタリングはとても簡単、URLの後ろにGETでおなじみの「?」から始まる検索ワードを追加します。
今回であれば、スプレッドシートのサイト名列に「IT」という文字が含まれるかどうかなりますので、以下のように指定します。

 https://api.sssapi.app/シートID?filter__サイト名__contains=IT

 簡単に解説すると

  •  ? → 以降の文字は、検索条件ですよーと表す記号
  •  filter → 検索を表す文字
  •  __サイト名__ → 検索したい列<スプレッドシートの列名の前後に_(半角のアンダーバー)を2つ付けたもの>
  •  contains= → 検索条件<次のワードを含む>
  •  IT → 検索したい単語

 

CURLで実行してみると、サイト名に「IT」を持つデータのみを取得できれいることが確認できます。

SSSAPI検索

 

使ってみた感想


 簡単に使ってみるぐらいで他の細かい機能の説明はしていませんが、登録〜利用するまでかなりスムーズにできる考えられたサービスだと思いました。
 利用には必須となる検索機能も標準で準備されており、使い方もヘルプページで簡単に確認でき、検索条件の追加もURLの?以降に検索条件を追加するだけなので簡単でいいですね。

 今回は紹介していませんが、スプレッドシートを手動で変更した際の更新通知も受け取れるようになっているため、Optionの自動更新をONにしておくとSSSAPIも自動で再取り込みしてくれる点もGoodです!
 アクセス可能なドメイン設定やアクセストークンの発行もできるので、外部からのアクセスを制御できることも管理側としては安心できる点ですね。
 最初の注意事項にも記載している通り、本番利用する際は必ずアクセス制御は設定してください。

 外部サービスの利用になるため、連携させるスプレッドシートについては検討した上で利用することをおすすめします。
 なお、現在は参照のみとなるため、リアルタイムでデータを更新しないといけないスプレッドシートも対応できません。
 こちらは対応する予定はある?かもしれないので、ニュースリリース等が更新されるまで気長に待ちましょう。

 

今後もBizRobo!で使えそうな便利ツールを見つけた際は、随時ご紹介していきます。
 最後までお読みいただきありがとうございました。
 また、次回をお楽しみに!

大阪本社
〒541-0056
大阪市中央区久太郎町2-2-7 山口興産堺筋ビル3階  アクセスマップ
TEL:06-6266-0440   FAX:06-6266-0450