は答え、前の質問にすべての手がかりを提供し、ここでのエリートレスポンダ(セルジュ/ Mogsdad /サンディら)、のおかげで、最終的に自分自身をそれを考え出しました。最初にSergeのgetMessageコードを使用する。 appendRowを使用するよりも良い方法ですが、メッセージの不適切な形式のHTMLコンテンツでは機能しないものがあります(たとえば、行を配列に配置すると範囲幅に関するエラーが発生しました)。私のスクリプトは、選択したラベルを持つ最新のメールを1通だけ呼び出します。以下は
はそれをカバーして機能です:
function getMessageWithLabel() {
var destArray = new Array();
var threads = GmailApp.getUserLabelByName('<GMailLabel>').getThreads(0,1);
for(var n in threads){
var msg = threads[n].getMessages();
var destArrayRow = new Array();
destArrayRow.push('thread has '+threads[n].getMessageCount()+' messages');
for(var m in msg){
destArrayRow.push(msg[m].getBody());
}
destArray.push(destArrayRow);
}
//open spreadsheet and set sheet for appending data
var ss = SpreadsheetApp.openById('<Google Spreadsheet ID>');
var sh5 = ss.getSheets()[4];
//get number of lines in content
var lines = destArrayRow[0].split('\n');
var length = lines.length;
//appendRow for each line in content
for (var i = 0; i <= length; i++) {
sh5.appendRow([lines[i]]);
}
}