見出し画像

【Adalo】Sheetsonを使ってスプレッドシートにデータを追加する(CREATE)

(構成)
SheetsonはスプレッドシートAPIです~
第一回:スプレッドシートのデータを読み込む_READ(GET)
第二回:スプレッドシートにデータを追加する_CREATE(POST)※本ページ
第三回:スプレッドシートのデータを更新する_UPDATE(PUT)
第四回:スプレッドシートのデータを削除する_DELETE(DELETE)

(API接続 関連ブログ)
・Adaloから直接airTableのデータを変更してみた  
・SheetDBを使ってAdaloからスプレッドシートのデータを変更した 

(やろうとしている事)
Adaloからスプレッドシートにデータを追加、変更、削除をしようとしています。直接、データのやり取りは出来ないのでスプレッドシートAPIを使って実行します。今回はSheetsonというスプレッドシートAPIを使ったやり方をシリーズで説明します。

(今回のテーマ)
前回スプレッドシートからAdaloに読み込んだデータがあります。今回、そこに1行データを追加してみます。(データのCreateです)

(読み込んだデータと大元のスプレッドシート)

画像1

何でrowIndexが1番からじゃなくて2番からなんだ!と思っている人がいるかもしれません。これはSheetsonが勝手に割り振ってくれる行番号なんです。1行目が見出しで、実際のデータは2行目から始まっているのでrowIndexも2から始まっています。(この行番号は固定値です。途中の行が削除されたからと言って変更されるわけではないです)

画像2

(実際の作業)
スプレッドシートの6行目に以下のデータを1行追加します。
name: SanFrancisco
state: CA
country: USA
population: 860000

1.データを追加するためのText Input(4個)とボタンを追加
  ボタンの名前はCREATEにしました。

画像3

2.ボタンにCustom Actionを設定していきます
今回は外部データベースにデータを送信するので通常のActionではなく、Custom Actionに設定を入れていきます。

画像4

3.Custom Actionの設定画面が開きます(Name&Type)
設定画面は3ページあります。最初のページで以下のように設定します。
・Name: 分かり易い名前を付けて下さい
・Type:   「Create」を選択します

画像6

4.設定画面の2ページ目(API Requestの設定)
ここが最大の難所です。入力項目が多いのでメモ帳などに入力項目を事前にまとめておき、それをコピーしながらやって行くといいと思います。

画像6

一番最初設定するときは何を入力したらいいのか分からないと思います。
設定項目はSheetsonのドキュメント(Docs)にすべて書いてあるので、そのページにアクセスして必要箇所をコピーして、それをメモ帳にペーストするといいと思います。(間違いが起きるので自分で文字をキーボードから1字1字入力しないことです。)

画像7

こんな感じで入力しました。
①API Base URL:
 「https://api.sheetson.comv2/sheets/(シート名)」の形になります。
②Method: Createの場合「POST」(データを送信)を選択します
③Header:2種類のヘッダー認証を入力します。
④Inputs:変数の定義をここで行い、左下にある「Body」のJSONデータに入れ込みます。

画像11

設定ミスがあると以下のようなエラーメッセージが出ます。

画像9

(エラーの原因)
~プロパティの数だけデータは送る事~

エラーの原因は様々ありますが、最初やった時、どうしてもうまく行かず、エラーの連続でした。私の場合、原因は以下のようなものでした。

スプレッドシートには「name」,「state」,「country」,「population」の4つの項目があります。つまり4つデータを送らなければならないのですが、countryの部分はいつもUSAなので送らなくてもいいと思い、3つだけデータを送っていました。

結局それではダメで、項目が4つあったら4つデータを送らないとエラーが出ます。

5.送信成功画面
データ送信テストが成功するとTest Successful!という以下のような画面が出てきます。

画像10

6.Custom Actionの保存
Custom Actionのボタンを選択すると画面左に設定内容が表示されます。各データの部分が最初は空欄になっていますのでデータを持ってくる各TextInputの値をマジックテキストで入れてやって下さい。

画像11

7.プレビューで表示してみる

画像12

API Request 画面の「Run Test Request」でテスト値にサンフランシスコのデータを登録しましたが、それが6番のデータとして登録されています。

Text Inputにデータを入力し、「CREATE」のボタンを押すとデータが追加されるようになりました。

長くなるので以下の項目については別のサイトで説明します。
・Update(PUT/PATCH)・・・データの更新
・Delete・・・・・・・・・データの削除(行単位で削除する)

(過去の投稿はこちら)
https://note.com/mucho3/n/n632515d056d1

この記事が気に入ったらサポートをしてみませんか?