2022年6月10日 星期五

App inventor:透過Google Apps Script 使用google sheets資料(新增資料)

 App inventor可透過web 這個網路元件積木,連接至Google Apps Script,而後透過其中的功能讀取、新增、更新Google Sheet的資料。大概的步驟如下:

一、於google網路硬碟中,依你的需要新增一個Google Sheet,以下例子檔名設為test,資料表中只加入了ID及NAME作示範。如下:




二、於google網路硬碟中,開一個Google Apps script作為中介的網站。

(2-1)


(2-2)寫法如下:



//外部程式若使用get方法連接google apps scipt,會自動去尋找doGet()這個函數,並執行裡頭的方程式,e為傳進來的參數總集合
function doGet(e) {
//宣告ss變數為連接test資料表這個方法,後面那個為test那個google sheet的網址
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1ZqgyZd4D12P3NRI7_db5g5BFLOC46FEPB_k278S754g/edit#gid=0");
//宣告sheet為取得 工作表1
var sheet = ss.getSheetByName("工作表1");
//執行adduser這個下面自寫的函數
adduser(e,sheet);

}
//外部程式若使用post方法連接google apps scipt,會自動去尋找doPost(e)這個函數,並執行裡頭的方程式,e為傳進來的參數總集合
function doPost(e) {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1ZqgyZd4D12P3NRI7_db5g5BFLOC46FEPB_k278S754g/edit#gid=0");
//宣告sheet為取得 工作表1
var sheet = ss.getSheetByName("工作表1");
//執行adduser這個下面自寫的函數
adduser(e,sheet);

}

//因為上面那個方法都有使用到以下的方法,因此在這裡寫了一個adduser的函數
function adduser(e,sheet){
//取得傳過來參數總集合裡id的值(傳過來的那個id值)
var id = e.parameter.id;
//取得傳過來參數總集合裡name的值(傳過來的那個id值)
var name = e.parameter.name;
//將資料加入
sheet.appendRow([id,name]);
}


(2-3)點選「布署」「 新增布署畫面」「選取類型」「網頁應用程式」,最後做如下的設定後按「布署」。

(2-4)把發布後的網頁應用程式網址複製下來,等會要在App inventor用到。

三、開啟App inventor,並依你的需求製作介面。以下簡單的製作可以輸入id和name的輸入盒,及送出按鈕一個。介面如下:




(3-1)積木拉法如下:網址為剛才布置後的「網頁應用程式網址」

四,接下來運作APP,輸入id和name,就可以在剛才的test資料庫中看到加入的資料。



參考:https://www.oxxostudio.tw/articles/201805/backend-apps-script.html

           https://ai2.metricrat.co.uk/guides/post-data-to-a-google-sheet


沒有留言:

張貼留言