google-apps-scriptを変更して、特定のラベルのメールをフォローアップするためのイベントをGoogleカレンダーに作成しようとしています。その側を私は世話します。私が抱えている問題は、TypeErrorを取得することです:スクリプトを実行しようとすると、未定義のメソッド "push"を呼び出せません。私はここで間違いを見ていないので、どんな助けも大いに評価されるでしょう。TypeError:未定義のメソッド "push"を呼び出すことができません
function ReadEmails() {
var thread, subject, body, from,
date, emails, index, event = [], i;
var mySheet = SpreadsheetApp.getActiveSpreadsheet();
var LABEL = mySheet.getRange("D5").getValue();
var TOTAL = mySheet.getRange("D7").getValue();
emails = GmailApp.search("label:" + LABEL);
var count = emails.length;
if (count == 0)
return;
if (count > TOTAL)
index = getIndex(TOTAL, 0, count);
else {
for (i=0; i<count; i++)
index.push(i);
}
for (i=0; i<TOTAL; i++) {
var n = index[i];
if (emails[n]) {
thread = emails[n].getMessages()[0];
subject = thread.getSubject();
body = processHTML(thread.getBody(), 250);
link = thread.getId();
from = thread.getFrom();
date = Utilities.formatDate(thread.getDate(),
Session.getTimeZone(), "MMM dd, yyyy");
event = 'Follow up with' + from + 'on'+ subject + ', Next Friday
at 1PM';
CalendarApp.getDefaultCalendar().createEventFromDescription(event);
Logger.log('Event ID: ' + event.getId());
}
}
}
function getIndex(count, min, max) {
var results = [], index;
while (count > 0) {
randNumber = Math.round(min + Math.random() * (max - min));
if (results.indexOf(randNumber) == -1) {
results.push(randNumber);
count--;
}
}
return results;
これは、 'index'が未定義であることを意味します。 'index'を初期化せずに' index.push() 'を呼び出します。 – Pointy