AdaloのデータベースにGoogleスプレッドシートを使いたい
スマホのネイティブサプリがノーコードで作成できるAdalo(アダロ)でタイムカードのアプリを試作しているのですが、最終的にユーザーがアプリから登録したデータを加工しやすいように、Adaroの内部データベースではなく、外部のGooogleスプレッドシートと連携できたらいいなといろいろ調べていました。
しかし、これがなかなかいい情報に辿り着けません。
AdaloからJSONを使用するREST APIが使えるAPIなら連携できるというのを見つけ、それをヒントに調べていました。Googleスプレッドシートと連携はできるみたいなのですが、Google Cloud PlatformでのAPI登録が難しそうで、手に負えませんでした。
他に方法がないかな?と調べていると、いくつかGoogleスプレッドシートと連携するJSON APIを簡単に作成できるCloudサービスを見つけました。使用量が少なければ無料で使えるものが多く。試しにSheetDBを使ってみうことにしました。結果的に成功したので、その手順をメモ。
見つけた似たようなサービス
調べて今のところわかった同様のサービス。
手順
SheetDBにGoogleスプレッドシートを登録
SheetDBにアクセス
以下のSheetDBのページを開き、画面右上のログインボタンをクリック。ログインにはGoogleアカウントを使用しします。
Googleアカウントを選択
SheetDBのログインに使用したいGoogleアカウントを選択します。私の場合、Chrome上でいくつか複数のGoogleアカウントを使用しているので、選択するアカウントの候補が2つ表示されました。
[CREATE NEW]をクリック
Adaloの外部コレクションの登録に必要な**APIキー(API ID)**を作成します。
GoogleスプレッドシートのURLをコピー
予めAdaloから連携したいGoogleスプレッドシートを用意しておき、以下のようなURLをコピーします。ここでは『Adalo Time Card』という名前のスプレッドシートを用意しました。
https://docs.google.com/spreadsheets/d/*********************************/
連携できるのは1枚目のシートのみ(URLの最後にある#gid=0と表示される最初のシート)。2枚目以降のgid=123456など、0以外のシートIDは登録できなさそうなので、1ファイルに複数のシートがあっても、最初のシート以外は連携できないみたいなので、連携したい複数のシートが1ファイルにある場合は、別のファイルに分割する必要があるようです。
SheetDBの画面にURLを貼り付ける
SheetDBの画面に戻り、GoogleスプレッドシートのURLをフォームに貼り付け、**[CREATE API]**ボタンをクリック。
APIキー(API ID)作成完了
ここに表示された以下のURLをAdaloに登録しますのでコピーしてください。SheeDBでの作業はこれで完了です。
https://sheetdb.io/api/v1/***API*ID***
Adaloの外部コレクションにSheetDBのURLを登録
[START INTEGRATION TRIAL]をクリック
AdaloのDatabaseのメニューにある**[START INTEGRATION TRIAL]**をクリックします。この機能は14日間無料で使えますが、それ以降は有料プランでないと使えません。
[START INTEGRATION PACK TRIAL]をクリック
次に表示された画面の**[START INTEGRATION PACK TRIAL]**をクリックして次に進みます。
[+ADD COLLECTION]をクリック
Databaseのメニューに**『Connect APIs』のメニューが表示されるようになっているので、ここにある[+ADD COLLECTION]** をクリックして外部コレクション(External Collection)の登録に進みます。
API IDを貼り付け
**『API Base URL』**の欄に、SheetDBで取得したURLを貼り付けます。
https://sheetdb.io/api/v1/***API*ID***
Collection Nameは適当に入れてください。後から変更もできます。この2つを入力したら**[NEXT]**ボタンをクリックして次に進みます。
[NEXT]ボタンをクリック
この画面では特に設定することがないので、無視して**[NEXT]**ボタンをクリックして次に進みます。
接続テスト
**[RUN TEST]**ボタンを押して、Googleスプレッドシートに接続できるかテストします。
接続テスト成功!
接続に成功すると以下の画面が表示されますので、**[CREATE COLLECTION]**ボタンをクリックします。
接続先のGoogleスプレッドシートがタイトルのみの1行しかない場合はエラーになりましたので、2行目に何らかダミーでもレコードを入力しておいてください。それでもエラーになる場合、SheetDBでAPIキー(API ID)を取得し直すところからやり直してみてください。
外部コレクションに表示が増えた!
Databaseのメニューに『Adalo Time Card』が表示されました。

これで無事に外部コレクションの登録作業が終わりました。あとはアプリに組み込んでいくだけです。
AdaloからGoogleスプレッドシートを操作できた
外部コレクションに登録が終わり、試作しているタイムカードアプリのプレビューで、入力フォームの内容を登録してみたところ、ちゃんと登録できました!Googleスプレッドシートを開くと、ちゃんとレコードが増えていました。
SheetDB無しでも、ちゃんと設定ができれば、Googleスプレッドシートを直接Adaloの外部コレクションに登録できるとは思うのですが、何度チャレンジしても難しかったので、解決策が見つかるまでは当面、SheetDBを使ってみようと思います。


![[CREATE NEW]をクリック](/blog/2021/06/16/No-35s.jpg)

![GoogleスプレッドシートのURLをフォームに貼り付け、[CREATE API]ボタンをクリック](/blog/2021/06/16/No-37s.jpg)

![Adalo[START INTEGRATION TRIAL]をクリック](/blog/2021/06/16/No-39.jpg)
![[START INTEGRATION PACK TRIAL]をクリック](/blog/2021/06/16/No-40s.jpg)
![[+ADD COLLECTION]をクリック](/blog/2021/06/16/No-41.jpg)

![無視して[NEXT]ボタンをクリック](/blog/2021/06/16/No-43.jpg)
![[RUN TEST]ボタンを押して接続テスト](/blog/2021/06/16/No-44.jpg)

