見出し画像

【Adalo】Sheetsonを使ってスプレッドシートのデータを更新する(Update)

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

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

前回はSheetsonを使ってAdaloからスプレッドシートにデータを追加するやり方を説明しました。今回はAdaloからスプレッドシートのデータを更新してみます。

(大元のスプレッドシート)

画像1

下記がAdaloで読み込んだ状態です。rowIndex6番にあるサンフランシスコの人口のデータを今回68万人を80万人に変更してみたいと思います。

画像2

~Adaloの設定~
1.編集用画面(Edit)を設定

現在Homeはデータ表示画面になっていますが、これとは別に編集用の画面を設けることにします。(名前は「Edit」とする。)

Home画面のデータをクリックするとEdit画面に遷移するようにLinkを設定した。Editには各データを表示するため5個のText Inputを設けた。その下に2つボタンを設け、「UPDATE」と「DELETE」という名前にした。

画像3

2.Home画面のデータをEdit画面のText Inputに表示する
Edit画面のText Inputに現在読み込んでいるデータの中身を表示するように内容を紐づけします。

画像4

Home画面のname,state,country,population,rowIndexのデータをEdit画面のText Inputに読み込みます。

画像5

3.UpdateボタンにCustom Actionを設定します

画像6

4.UpdateのCustom Actionの設定(1ページ目;Name& Type)
・Name: 分かり易い名前を付けます
・Type: Updateを選択

画像7

5.UpdateのCustom Actionの設定(2ページ目;API Request)
ここは間違いやすいので慎重に設定して下さい。Updateする場合、どの行を更新するのかrowIndex(一意に割り振られた行番号)で指定します。URLの最後にrowIndexを追加して更新する場所を指定します。
①API Base URL:
「https://api.sheetson.com/v2/sheets/(シート名)/rowIndex」の形

②Method: 必ず「PUT」を選択(PATCHは選ばない)
sheetsonの場合Updateは必ずPUTを選ぶとDocsに書かれています。選択しなかったデータはそのまま(変更なし)になるそうです。(これは本来、PATCHの機能ですがSheetsonはPUTでもそうなるらしいです)
→知らないとPATCHを選択してしまうが、PUTと覚えて下さい。

③④ヘッダー(認証)2種類の認証を入力して下さい
name:  Authorization
value:  Bearer (API Key) 

name: X-Spreadsheet-Id
value: (スプレッドシートIDを記入)

⑤Inputs
項目の数だけ変数を設定して下さい。
今回は「name」,「state」,「country」,「population」,「rowIndex」の5個です。

⑥JSONデータの入力
注意点としては数字(number)で設定した変数はJSONの配列にする時は" "で囲まないで下さい。囲むのはデータ型がテキストの場合です。
{"name":"(変数)","state":"(変数)","country":"(変数)","population":(変数)}
※population(人口)は数字なので""で囲まないで下さい。

画像8

6.送信が成功したときの画面(3ページ目;Outputs)
Test Successfulと表示されます。画面右下の「SAVE CUSTOM ACTION」ボタンを押します。

画像9

一発でこの画面に行かないこともあると思います。うまく行かないときは前の画面でJSON等の設定が問題ないか再確認して下さい。

7.Custom Actionの設定をボタンに保存します
Updateのボタンを選択すると変数を使った設定画面が左側に表示されます。変数(name,state,country,population)はInputから入力される値になります。(マジックテキストでInputの値を持って来て下さい。)

画像10

8.Home画面へのLink設定
データをUpdateしたらHome画面に戻るようにLinkを設定します

画像11

9.うまく動くか試しましょう!
最下行にサンフランシスコのデータがあります。人口68万人となっていますが、これを80万人に変更してみましょう。
サンフランシスコの行をクリックすると、Edit(編集)画面に遷移します。

画像12

10.データの変更
population(人口)の数字を68万→80万に変更し、「UPDATE」ボタンを押します。

画像13

11.変更できました!
人口が68万人→80万人に変更できました。

画像14

次回は読み込んだデータを削除(DELETE)するやり方をご説明します。

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

いいなと思ったら応援しよう!