|本文圖片與內容均由《梅問題教學網》授權行銷人轉載、編輯,原文出處。
上一篇(進階技巧:利用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],依此類推。
步驟3:設定好後,再按 發布/ 部署為網路應用程式。
步驟4:接著將權限設為任何人。
步驟5:再按核對權限,而過程會與先前的寫入篇一樣。
步驟6:再把權限設定完畢後,就會看到一串網址,而這網址就是串接的API網址。
步驟7:這時可用Postman工具,先進行測試一下,首先上方先貼上剛的API網址,下方再貼入參數。
步驟8:再按下Send後,就會以json的格式作顯示,這時各位就可依自己的需求,處理所需的資料欄位。
步驟9:在梅干的範例頁面(測試平台)中,在訂完畢後,就會看到訂單查詢的輸入框。
步驟10:當按下送出後,隨即就會帶出訂單的狀態,因此是不是覺得超方便的呀!!如此一來Google試算表,不但可寫入,還可查詢,就跟在使用資料庫一樣,而有需要的朋友,不妨也可試試看囉!
更多行銷人報導
【Google Sheets】企劃人必學!用Google試算表就可以直接生成精美圖表
【Google Sheets】別再複製貼上了!教你如何同步多個Google試算表資料
這篇文章 【Google Sheets】進階技巧2:試算表變身資料庫,輕鬆查詢訂單 最早出現於 行銷人。
想要弄自己的資料庫,卻又不知道該怎麼做,只知道要建立欄位,而Google的試算表就能達成這件事。只要 : 就能撈取 JSON格式資料並使用 Get、Post等方式來存取了。 發布資料有兩種方式 : 這兩種方式中,我們會還會用到 為什麼需要將試算表發布為公開可檢視,是因為我們在撈取資料時,會遇到跨網域存取的問題,存放在 google的資料預設不給其他網站存取,但經過設定後,就能正常存取我們要的資料。另外,像是政府的開源資料,也常會遇到跨網域的問題,原因是同源政策,開源資料的網址在瀏覽器中可以正常讀取,但在測試用的線上程式編輯器就無法存取,因為它們無法跨網域存取資源,透過 Google Apps Script重新發布後,就能解決這個問題。 可以到線上程式碼編輯器等網站測試,codePen或者其他都可以,利用 fetch語法或者套件 axios進行資料撈取。 讀取 發布至網路 的試算表 讀取
部屬網頁應用程式建立資料
skilldescription html
網頁標籤與結構化
CSS/SASS
使用 SASS格式撰寫 CSS
發布資料
發布自建試算表
指令碼編輯器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function doGet() {
var id = '試算表網址列的 ID';
var spreadsheet = SpreadsheetApp.openById(id);
var sheet = spreadsheet.getSheets()[0];
var data = sheet.getDataRange().getValues();
var dataExportFormat = JSON.stringify(data);
return ContentService.createTextOutput(dataExportFormat).setMimeType(ContentService.MimeType.JSON);
}
讀取資料
跨網域問題
讀取自建試算表
作為中繼點後讀取
1
2
3
4
5
6
7
8
9
10
11
12
function doGet(e){
var url = e.parameter.url;
var response = UrlFetchApp.fetch(decodeURIComponent(url),{
headers: { "Content-type" : "application/json" }
});
var data = JSON.parse(response.getContentText());
return ContentService.createTextOutput(JSON.stringify(data)).setMimeType(ContentService.MimeType.JSON);
}
//script.google.com/macros/s/試算表的 ID/exec?url=開源資料的網址參考來源