【发布时间】:2015-11-11 05:34:21
【问题描述】:
我编写了一个脚本,当作为网络应用发布时,它会计算我收件箱中的电子邮件数量以及最早发送消息的日期,并以 .csv 格式输出:
function doGet() {
// get all threads in inbox
var threads = GmailApp.getInboxThreads();
var dataLength = threads.length
var earliestMessage = new Date();
for (var y = 0; y < dataLength; y++) {
var message = threads[y]
//sets last message date in thread y
var msgDate = message.getLastMessageDate();
//checks last message date to current value of earliestMessage, updates if necessary
if(msgDate.valueOf() < earliestMessage.valueOf()) {
earliestMessage = msgDate
}
}
//save to external files
return ContentService.createTextOutput(dataLength + '\n' + Utilities.formatDate(earliestMessage, 'GMT', 'dd/MM/yyyy')).downloadAsFile('emailData.csv');
}
这工作正常,但我现在希望此脚本从我有权访问的共享邮箱返回相同的信息。由于这是一个共享邮箱,我不能只访问它的 Google Drive 并将脚本保存在那里(如果我弄错了,请告诉我!),所以脚本只会返回有关我自己帐户的信息.
我曾尝试搜索类似的问题,但我找到的最接近的问题如下,似乎都没有明确的解决方案:
- How do I process emails in a shared mailbox using Google Scripts
- Google 帮助论坛 - How do I run a Google Script in a shared mailbox
是否需要重写脚本(如果需要,如何重写?),或者有没有办法将 GmailApp 类指向共享邮箱而不是我自己的?
【问题讨论】:
标签: google-apps-script gmail gmail-api