這篇文章將專注於如何使用 Google Apps Script 讀取和寫入 Google 試算表,將其作為我們的資料來源,這是建立動態應用程式的關鍵一步。
我們使用 Google Apps Script 建立一個網頁應用程式並處理請求。現在,我們需要一個地方來存放 App 評論的資料。對於初學者來說,Google 試算表是一個非常棒的選擇。它既是試算表,又能像資料庫一樣被程式讀取和寫入。
在 SheetsService.gs
檔案中,readRows_
函式負責從試算表讀取所有資料並進行篩選。
首先,getReviewsSheet_()
會取得我們存放評論資料的試算表工作表。如果工作表不存在,它會自動建立一個,並設定好標題欄。
接著,readRows_
函式會讀取整個工作表的資料範圍 (getDataRange()
),並將其轉換成一個二維陣列 (getValues()
)。
function readRows_(params) {
var sh = getReviewsSheet_();
var rng = sh.getDataRange();
var values = rng.getValues();
if (!values || values.length < 2) return [];
var header = values[0];
var idx = {};
for (var i = 0; i < header.length; i++) idx[header[i]] = i;
//...(略)
var rows = [];
for (var r = 1; r < values.length; r++) {
var row = values[r];
//...(略)
rows.push({
title: row[idx['title']],
review: row[idx['review']],
rating: row[idx['rating']],
//...(略)
});
}
return rows;
}
getSummary
函式則利用 readRows_
讀取到的資料,進行各種統計分析。它會計算每月評論數、各類別評論分佈以及不同星等的平台分佈。
function getSummary(params) {
var rows = readRows_(params);
var monthly = {};
var catDist = {};
var ratingPlatform = {};
for (var i = 0; i < rows.length; i++) {
var it = rows[i];
// 計算每月評論數、類別分佈、評分與平台分佈...
}
//...(略)
return { rows: rows.slice(0, 1000), monthly: monthlySeries, cats: cats, ratings: rp };
}
這個函式最終回傳一個包含原始資料、每月趨勢、類別分佈和評分分佈等統計數據的物件 ,這些資料會被傳送到網頁上,用來繪製漂亮的圖表,讓使用者可以直觀地看到 App 評論的趨勢。