![](/img/trans.png)
[英]Grab html table from gmail and put in google sheets using google apps script
[英]Parsing Gmail into Google Sheets using Google Apps Script
我正在嘗試使用特定主題解析 gmail 並將數據 output 到特定列中的谷歌表。 我只使用 getPlainBody() 選項讓腳本工作,但后來我嘗試添加 getDate() ,現在出現錯誤。 我確信我的語法有問題,但我已經絞盡腦汁了幾個星期,現在嘗試在 getGmail 和收集功能中進行各種操作。 我當前的代碼如下,運行時,email 的日期位於 A 列,email 的整個主體位於 B 列,我收到錯誤“TypeError:message.replace 不是函數”。 有人可以幫助指導我嗎?
function onOpen() {
const spreadsheet = SpreadsheetApp.getActive();
let menuItems = [
{name: 'Gather emails', functionName: 'gather'},
];
spreadsheet.addMenu('New Employees', menuItems);
}
function gather() {
let messages = getGmail();
if (messages.length > 0) {
let curSheet = SpreadsheetApp.getActiveSheet();
curSheet.getRange(curSheet.getLastRow() + 1, 1, messages.length, messages[0].length).setValues(messages);
messages.forEach(message => {curSheet.appendRow(parseEmail(message))});
}
}
function getGmail() {
const query = "from:(ApplicationServices@help.net) subject:New Account Newer_than:18d NOT label:done";
let threads = GmailApp.search(query,0,10);
let label = GmailApp.getUserLabelByName("done");
if (!label) {label = GmailApp.createLabel("done")}
let messages = [];
threads.forEach(thread => {
const m = thread.getMessages()[0];
messages.push([m.getDate(), m.getPlainBody()]);
label.addToThread(thread);
});
return messages;
}
function parseEmail(message){
let parsed = message.replace(/,/g,'')
.replace(/\n\s*.+: /g,',')
.replace(/^,/,'')
.replace(/\n/g,'')
.replace(/^[\s]+|[\s]+$/g,'')
.replace(/\r/g,'')
.split(',');
let result = [0,1,2,3,4,5,6,7].map(index => parsed[index]);
return result;
}
以下是電子郵件的樣子:
已創建帳戶:
員工 ID:987333 第一:Bill 最后:Walsh 用戶名:bwalsh 密碼:67&&8^.!
員工必須盡快更改其 email 密碼。 密碼每 90 天過期一次,並且必須包含 8 個或更多字符(至少一個大寫字母、一個小寫字母和一個數字或符號)。 注意:此密碼也是訪問谷歌Email的密碼。
如果您需要幫助,請致電 998-9999 或發送電子郵件至 helpdesk@help.net 聯系您的學區技術支持團隊或 HELP IT 幫助台。
您能提供的任何幫助將不勝感激。
您的getGmail()
function 返回一個二維數組,其中每個子數組中的第一個值是日期,第二個值是文本字符串。 要訪問文本字符串,您需要通過索引1
引用它,如下所示:
messages.forEach(message => { curSheet.appendRow(parseEmail(message[1])) });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.