【问题标题】:How can a Google script gather information from a shared mailbox?Google 脚本如何从共享邮箱中收集信息?
【发布时间】: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 并将脚本保存在那里(如果我弄错了,请告诉我!),所以脚本只会返回有关我自己帐户的信息.

我曾尝试搜索类似的问题,但我找到的最接近的问题如下,似乎都没有明确的解决方案:

是否需要重写脚本(如果需要,如何重写?),或者有没有办法将 GmailApp 类指向共享邮箱而不是我自己的?

【问题讨论】:

    标签: google-apps-script gmail gmail-api


    【解决方案1】:

    所以我相信您的共享邮箱应该设置为一个普通的老谷歌用户。如果是这样,那么您没有理由不能为他们设置谷歌驱动器。

    这个问题的第二部分是你想用这个脚本创建什么,如果你只是想从你的共享邮箱中获取信息,你可以:

    • 将脚本放在共享用户的驱动器中并以他们的身份运行
    • 将脚本留在驱动器中,将其设置为以User accessing the web app(在Publish -&gt; Deploy as web app...)运行,并在运行时确保以共享用户身份登录。

    现在,如果您想合并两个信息源,那就另当别论了,我不相信您可以在同一个脚本中以两个不同的用户身份运行。我还测试了图书馆,他们似乎使用相同的会话用户,所以据我所知,你真的只有一个选择。创建一个 webapp 脚本来提取信息并以您的共享用户身份运行它,并将其作为 json/xml(如果您只是附加它,甚至是 CSV)返回,然后在您现有的脚本中使用 HTTP 调用(使用 URLFetchApp)检索该信息并对其进行处理并使用它做任何你需要的事情(像你一样运行)。这将是一个缓慢的选择,但至少它会做你想做的事。

    【讨论】:

      【解决方案2】:

      不知道您是否找到了解决问题的方法。 我也不知道这是否能解决您的问题,但已向 Google Cloud CommunityGoogle Issue Tracker 提出功能请求,以允许从委派邮箱访问 Gmail Apps 脚本插件。 点赞越多,Google 认真对待这个问题的机会就越大;)。

      【讨论】:

        猜你喜欢
        • 2020-10-25
        • 1970-01-01
        • 1970-01-01
        • 2023-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-20
        相关资源
        最近更新 更多