【问题标题】:Attaching Google doc link read from Google spreadsheet to automatic email in script将从 Google 电子表格读取的 Google 文档链接附加到脚本中的自动电子邮件
【发布时间】:2016-07-11 14:58:12
【问题描述】:

以下代码不起作用,并出现以下错误:

TypeError: 在对象 Drive 中找不到函数 getFileByID。

我正在尝试通过直接在脚本中提供 ID 进行测试:

var atta = DriveApp.getFileByID('1XD...c'); //ID is Folder and Google Doc ID I                      want to attach

MailApp.sendEmail(emailto, subject, message, {
  cc: emailcc,
  attachments:[atta]
 });

最后,我想从 Google 电子表格中读取链接:

var range = active_actions.getRange(i+1,16) //active_actions is the spreadsheet and i+1,16 is the cell with the link

var link = range.getFormula();
var atta = DriveApp.getFileByID(link); 
MailApp.sendEmail(emailto, subject, message, {
  cc: emailcc,
  attachments:[atta]
 });

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    这并不难。谷歌文档/电子表格/等。不能作为附件放置在电子邮件中。这是因为它实际上不是“物理文档”。它只存在于云端。相反,将 URL 放入电子邮件中,它会在底部为接收者提供一个小框,其中 Doc 看起来像一个附件。

    它并不完美,但已经足够好了。更多详情,您可以查看此问题请求或 Google 的 App Script Issue 页面:

    https://code.google.com/p/google-apps-script-issues/issues/detail?id=585&q=attachment%20types&sort=-stars&colspec=Stars%20Opened%20ID%20Type%20Status%20Summary%20Component%20Owner

    编辑(解释 SS 中的数据获取):

    要从范围对象(文本、数字等)中获取数据,您应该使用这种格式。

    var range = getRange();
    var rangeData;
    var cellValue;
    
    while (range.hasNext()) {
      rangeData = range.next();
      cellValue = rangeData.getValue();
    }
    

    如果你是一个累加器变量,你可以在一个列表/字符串/等中获取每一位数据。

    现在您有了数据,您可以通过电子邮件发送它,或用它做任何其他事情。

    【讨论】:

    • 是的,谢谢,这会起作用。现在,我正在尝试阅读链接: var range = active_actions.getRange(i+1,16) var link = range.getFormula() 但没有返回任何内容。另外,我必须将实际链接放在单元格中还是可以使用 Text
    • 现在,我正在尝试使用
    • 您可以使用纯文本,因为 gmail 应该自动将任何 www.sathue.ending 解释为超链接。我认为您遇到的另一个问题(很难确切地说)是您试图从复数中获取单数对象。 .getRange() 得到一个范围,一组单元格。即使它只是一个单元格,您仍然必须遍历范围的内容才能获取其内容。
    • 对不起,我觉得我说得不够清楚。我在 Gspreadsheet 中有包含链接到超链接的文本的单元格,即“操作文档”,它链接 https:... 到另一个文件夹中的谷歌文档。我想在应用程序脚本中阅读该链接并发送带有该链接的自动电子邮件。如果可以的话,感谢您的耐心和帮助。
    • 我已经编辑了我的答案,希望能更好地解释如何获取您的超链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    相关资源
    最近更新 更多