【NoCode】SheetDBを使用してAdaloとGoogleスプレッドシートを連携する
目次
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を使ってみようと思います。