2

可以通过应用程序脚本邮寄谷歌文档的内容吗?我可以看到如何邮寄指向文档的链接,如果收件人有权访问,该链接可以正常工作。

可以手动执行此操作 - 选中文档 - 从更多.. 按钮选择共享... 然后作为附件发送电子邮件... - 从下一个屏幕选择附件作为下拉菜单,然后选择将项目本身粘贴到电子邮件中.

但是,我无法弄清楚如何通过脚本来做到这一点。

4

1 回答 1

3

这相当简单,互联网上有一些可用的示例,但基本上这里是如何继续将其作为 pdf 附件发送:

var docName = DocumentApp.openById(docID).getName();
var pdf = DocsList.getFileById(docID).getAs('application/pdf').getBytes();
var attach = {fileName: docName+".pdf",content:pdf, mimeType:'application/pdf'};
MailApp.sendEmail(emailadress, 'Your document as PDF ('+docName+')', 'see attachment', {attachments:[attach]});

我希望这个例子足够清楚。

编辑:根据您的评论,我认为Henrique在旧 Google 群组论坛上的这篇文章应该可以满足您的需求。(这是一种解决方法,我在许多脚本中使用了很多,而且效果很好......唯一烦人的细节是它需要从脚本编辑器授权(不是通常的红色边框弹出窗口)。

这是怎么回事:

function emailDocTest() {
  var id = 'Doc-Very-Long-ID-Here';
  var url = 'https://docs.google.com/feeds/';
  var doc = UrlFetchApp.fetch(url+'download/documents/Export?exportFormat=html&format=html&id='+id,
                              googleOAuth_('docs',url)).getContentText();
  var emailAdress = Session.getEffectiveUser().getEmail();
  MailApp.sendEmail(emailAdress, 'test doc send by mail as html', 'html only', {htmlBody:doc});
}

function googleOAuth_(name,scope) {
  var oAuthConfig = UrlFetchApp.addOAuthService(name);
  oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
  oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
  oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
  oAuthConfig.setConsumerKey('anonymous');
  oAuthConfig.setConsumerSecret('anonymous');
  return {oAuthServiceName:name, oAuthUseToken:"always"};
}
于 2012-09-04T20:07:47.140 回答