2

アプリスクリプトを介してGoogleドキュメントの内容をメールすることは可能ですか? ドキュメントへのリンクをメールで送信する方法を確認できます。これは、受信者がアクセス権を持っていれば問題なく機能します。

これは手動で行うことができます - ドキュメントにチェックマークを付けます - [その他...] ボタンから [共有...] を選択し、次に [添付ファイルとして電子メールで送信] を選択します。 .

ただし、スクリプトを使用してこれを行う方法がわかりません。

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]});

この例が十分に明確であることを願っています。

編集 :あなたのコメントに続いて、古い Google グループ フォーラムでのHenrique によるこの投稿は、あなたのニーズを満たすはずだと思います (これは、私が多くのスクリプトでよく使用する回避策であり、美しく機能します...唯一の煩わしい詳細は、それが必要なことですスクリプト エディタから承認されます (通常の赤い枠のポップアップではありません)。

方法は次のとおりです。

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 に答える