2017-12-21 19 views
1

GmailのアドオンからGoogleドキュメントにアクセスする際に問題が発生しています。GmailのアドオンからGoogleドキュメントにアクセスする

GMailアドオンから特定のGoogleドキュメントファイルをコピーして、新しいドキュメントを編集します。

var docTemplate="<DOCUMENT ID>"; 
    var docName = "Generated Document 123"; 
    var copyId = DriveApp.getFileById(docTemplate).makeCopy(docName).getId(); 

しかし、私はこのコードを使用してファイルを開こうとすると:私は使用して、私のテンプレートドキュメントから新しいドキュメントを作成することができています

var copyDoc = DocumentApp.openById(copyId); 

私はGmailでエラーが発生します追加します私は、GoogleシートにAppsスクリプトで正常にこの同じコードを使用しました

-Onペインには、「[コード:36、機能:getContextualAddOn、ファイルの行]あなたはopenByIdを呼び出すためのアクセス許可がありません」と言っ私は私のアクセス許可を正しく設定していないと仮定します。

私のマニフェストファイルでは、私はとoauthScopes値を設定します。

"oauthScopes": [ 
    "https://www.googleapis.com/auth/gmail.addons.execute", 
    "https://www.googleapis.com/auth/gmail.readonly", 
    "https://www.googleapis.com/auth/drive", 
    "https://www.googleapis.com/auth/script.external_request" 
    ] 

/認証/車権限は私がDriveApp.getFileById()を呼び出すことができますが、私はDocumentAppを呼び出すために別のものを許可が必要です。 openById()?それとも別の問題がありますか?

ここではすべての指針/ガイダンスをいただければ幸いです!

答えて

1

ことは、これを追加: "https://www.googleapis.com/auth/documents" これはUsing Apps Script servicesに記載されている

+0

oauthScopesに「https://www.googleapis.com/auth/documents」を追加すると、それが解決されました。ありがとう! (私のupvoteは記録されましたが、表示されませんでした。) –

+0

はい、それはそれのパーミッションの部分を超えてしまいます。私はそれ以降のコメントのポイントに話すかもしれない別のエラーが発生しました。どうだった? –

+1

私のドキュメント(Googleドキュメント)にアクセスできます。例えば、 'var doc = DocumentApp.create(myFileName);' –

1

Upvoteこの答えはあなたを助けている場合...:アプリスクリプト他のほとんどのタイプ、カスタム関数は決してとは異なり

ユーザーに、個人データへのアクセスを許可するよう依頼してください。

>その他のスプレッドシートを開くことができません(SpreadsheetApp.openById()または SpreadsheetApp.openByUrl())

:その結果、彼らは のみ、以下、具体的個人データへのアクセスを持っていないサービス、 を呼び出すことができます
関連する問題