从电子邮件中检索到云端硬盘文档的链接

时间:2019-03-22 12:55:15

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

我正在使用AppsScript开发Gmail插件。我的插件的用例之一是检索电子邮件中与Gdrive链接的文档。

要求:

使用GMailApp服务(API文档)来获取电子邮件以及链接的Gdrive附件(> 25MB)。

需要澄清:

我尝试了以下方法:

  • GMailMessage.getAttachments()API,该API仅返回gmail附件(<25MB)和内嵌图像。
  • 解析电子邮件以从中检索链接和fileId。

我还可以使用其他API方法来实现用例吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

指向Google云端硬盘附件的链接包含在电子邮件的来源中。您可以使用getRawContents()检索邮件的原始内容,然后解析它以搜索Google云端硬盘链接。工作示例:

  var thread = GmailApp.getInboxThreads(0,1)[0]; // Get first thread in inbox
  var message = thread.getMessages()[0]; // Get first message
  var htmlContent = message.getRawContent();
  Logger.log(htmlContent); // Log contents of the body

  var regex = /<(https[^>]*)>/g
  var results = htmlContent.match(regex);

  // Log each attachment link
  for (var i = 0; i < results.length; i++) {
    Logger.log(results[i]);
  }

电子邮件的原始内容: Raw content of an email