|本文圖片與內容均由《梅問題教學網》授權行銷人轉載、編輯,原文出處。 上一篇(進階技巧:利用Google Script將Google試算表變成簡易資料庫)分享過,利用Google Script,將Google Sheets試算表,變成一個雲端資料庫來使用,並可將資料以GET或POST的方式寫入,由於是透過Google Script因此自由度相當的高,也不用受限於Google表單,甚至也不用逐一的去尋找每個欄位名稱,同時當資料寫入後,也可回傳完成的資訊,當接受到完成訊息後,可再做後續相關的處理,雖然剛開始不熟悉,會覺得有些繁鎖,但熟悉後,會愛上Google Script。 竟然是資料庫,當然可寫入也要可查詢,因此接下來梅干將分享,如何透過Google Script,來查詢Google Sheets試算表中的資料,讓消費者可查詢訂單的相關資料,因此要如何做,現在就一塊來看看吧! 步驟1:首頁,開啟要查詢的Google試算表,接著選擇 工具 / 指令碼編輯器。 步驟2:將下方的語法貼上後,並修改試算表的ID與頁籤名稱後,接著就是要查詢的欄位序號,以梅干這個試算表來說,因為是以訂單編號作為查詢欄位,所以它的欄位序號就為1,若要以姓名的話,就得改為data[i][3],依此類推。 <pre><code>function doGet(e) { /*查詢表單*/ var params = e.parameter; var type = params.type; var time = params.order_time; var no = params.order_no; var pay = params.order_pay; var SpreadsheetAppId = "試算表ID"; var getSheetByName ="試算表頁籤名稱"; if(type == "select"){ var SpreadSheet = SpreadsheetApp.openById(SpreadsheetAppId); var Sheet = SpreadSheet.getSheetByName(getSheetByName); var LastRow = Sheet.getLastRow(); var data = []; for(i=0; i<LastRow; i++){ data[i] = []; } data = Sheet.getRange(1,1,LastRow,8).getValues(); var time,pay,name; var output=[]; for(i=0; i<LastRow; i++){ if(data[i][1]==no){ //查詢的欄位序號 output.push({output:data[i],index:i}); }//if }//for return ContentService.createTextOutput(JSON.stringify(output)) .setMimeType(ContentService.MimeType.JSON); }//select }//doGet </code></pre><p></p> 步驟3:設定好後,再按 發布/ 部署為網路應用程式。 步驟4:接著將權限設為任何人。 步驟5:再按核對權限,而過程會與先前的寫入篇一樣。 步驟6:再把權限設定完畢後,就會看到一串網址,而這網址就是串接的API網址。 步驟7:這時可用Postman工具,先進行測試一下,首先上方先貼上剛的API網址,下方再貼入參數。 步驟8:再按下Send後,就會以json的格式作顯示,這時各位就可依自己的需求,處理所需的資料欄位。 步驟9:在梅干的範例頁面(測試平台)中,在訂完畢後,就會看到訂單查詢的輸入框。 步驟10:當按下送出後,隨即就會帶出訂單的狀態,因此是不是覺得超方便的呀!!如此一來Google試算表,不但可寫入,還可查詢,就跟在使用資料庫一樣,而有需要的朋友,不妨也可試試看囉! 更多行銷人報導 這篇文章 【Google Sheets】進階技巧2:試算表變身資料庫,輕鬆查詢訂單 最早出現於 行銷人。 想要弄自己的資料庫,卻又不知道該怎麼做,只知道要建立欄位,而Google的試算表就能達成這件事。只要 : 就能撈取 JSON格式資料並使用 Get、Post等方式來存取了。 發布資料有兩種方式 : 這兩種方式中,我們會還會用到 為什麼需要將試算表發布為公開可檢視,是因為我們在撈取資料時,會遇到跨網域存取的問題,存放在 google的資料預設不給其他網站存取,但經過設定後,就能正常存取我們要的資料。另外,像是政府的開源資料,也常會遇到跨網域的問題,原因是同源政策,開源資料的網址在瀏覽器中可以正常讀取,但在測試用的線上程式編輯器就無法存取,因為它們無法跨網域存取資源,透過 Google Apps Script重新發布後,就能解決這個問題。 可以到線上程式碼編輯器等網站測試,codePen或者其他都可以,利用 fetch語法或者套件 axios進行資料撈取。 讀取 讀取
|