2017-12-21 34 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(); 

을 그러나, 나는이 코드를 사용하여 파일을 열려고하면 : 추가 나는 Gmail에서 오류가 발생

var copyDoc = DocumentApp.openById(copyId); 

을 나는 사용하여 내 템플릿 문서에서 새 문서를 만들 수 있어요 말을 -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

찬성 투표이 대답은 당신을 도움이 있다면 ... : 애플리케이션 스크립트의 대부분의 다른 유형, 사용자 정의 함수 결코 달리

사용자에게 개인 데이터에 대한 액세스 권한을 부여하도록 요청하십시오.

> 다른 스프레드 시트를 열 수 없습니다 (SpreadsheetApp.openById() 또는 SpreadsheetApp.openByUrl())

: 결과적으로, 그들은 은 다음의 특정 개인 데이터에 액세스 할 수 없습니다 서비스, 를 호출 할 수 있습니다