昨天成功得到10組不重複的亂數驗證碼,今天要把產好的驗證碼寫進 Google Sheet。
verification_code
先前提過,Google Sheet 可以看作是 Database,而裡面的工作表可以看成是 table,所以我們就在之前的 auto-get-verification-code
Google Sheet 新增ㄧ張工作表叫 verification_code
。
注意:記得把第一行的資料格式設成純文字,驗證碼塞入後才不會被誤判為數字類型
Read Mail
專案接著我們修改一下 Read Mail
中的 connectToSheet.gs
以擴充使用情境
修改 connectToSheet.gs
如以下內容
sheetName
可用 sheet name 取得指定的工作表function connectToSheet(sheetName) {
Logger.log('start to connectToSheet');
var spreadSheet = SpreadsheetApp.openById('your_spread_sheet_id');
var sheet = spreadSheet.getSheetByName(sheetName);
if (sheet != null) {
return sheet;
}
throw Error;
}
接著修改 app.gs
中有用到 connectToSheet
的地方
function app(userId) {
var content = readMail();
var sheet = connectToSheet('contents');
insertToSheet(sheet, content, userId);
return content;
}
接著修改 generateVerificationCode.gs 如下:
verificationCode[]
時,改成塞入 array [front+end]
,這是因為我們要塞進 Google Sheet 時,每一個驗證碼就塞一個 RowinsertVerificationCode
function,利用 ReadMailAndInsertToGoogleSheet
連線到 verification_code
sheet,並且將驗證碼寫入 Google Sheetfunction generateVerificationCode() {
var amount = 10;
var verificationCode = [];
var i = 0;
var front = "";
var end = "";
while ( i < amount) {
front = (((1 + Math.random()) * 0x10000)|0).toString(16).substring(1);
end = (((1 + Math.random()) * 0x10000)|0).toString(16).substring(1);
verificationCode.push([front+end]);
i++;
}
var uniqueVerificationCode = [...new Set(verificationCode)];
insertVerificationCode(uniqueVerificationCode);
}
function insertVerificationCode(uniqueVerificationCode) {
var sheet = ReadMailAndInsertToGoogleSheet.connectToSheet('verification_code');
var range = sheet.getRange(1, 1, uniqueVerificationCode.length, 1);
range.setValues(uniqueVerificationCode);
}
修改後記得存檔!然後我們就執行 generateVerificationCode 看看結果:
有成功寫入驗證碼了!
今天就先到這裡~補班是身體跟心靈的雙重打擊啊(倒)
希望明天颱風可以平安無事!明天假日再來多完成一些進度囉~