[GAS] 여러 .gs 파일이 있을 때 범위가 자동으로 추가되지 않고 "xxx를 호출할 수 있는 권한이 없습니다"오류가 발생함
4711 단어 GoogleAppsScriptgas
오류가 발생하는 조건
아래와 같이 두 개의 .gs 파일로 나누어 코드를 쓰고 test()를 실행하려고 하면 예외가 나와 실행할 수 없다
폴더로드.gs
const ID_DIR_SUB = "hogehogehogehogehogehogehogehoge";
const Dir_sub = DriveApp.getFolderById(ID_DIR_SUB);
하위 폴더 만들기.gs
function test() {
let Dir_new = Dir_sub.createFolder("testFolder");
}
해당 오류 문
에러 내용은 아래와 같은 느낌. 보통이라면 처음 실행할 때 자동으로 필요한 스코프를 추가해줄 것이지만, 복수 파일로 하면 새는 것 같다
Exception: You do not have permission to call DriveApp.Folder.createFolder. Required permissions: htps //w w. ㅇㅜㅜㅜㅜ 코 m / 아 th / d 리ゔ
test @ 하위 폴더 만들기.gs:2
했던 일
참고
Qiita : GAS 오류 "불러올 권한이 없습니다"는 매니페스트 파일에 문제가 있습니다.
해결 방법 자체는 이쪽이 자세히 있으므로 이쪽을 봐 주시면. 이번 기사는 「복수의 .gs 파일을 만들 경우에 발생하는 상기 에러가 나올 가능성이 높아요」라고 하는 비망으로서 올려 둔다
해결 방법
매니페스트 파일을 명시적으로 작성해, 그 곳에서 스코프를 강제적으로 재기록한다.
※ 프로 퍼디 나 매니페스트 파일을 괴롭히는 메뉴가 새로운 에디터에는 없기 때문에
이번에는 drive.readonly 만
appsscript.json
{
"timeZone": "Asia/Tokyo",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}
※ 이번에는 원래 설정된 범위가 drive.readonly이므로 drive를 추가하는 것만으로 좋다
appsscript.json (변경 후)
{
"timeZone": "Asia/Tokyo",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"oauthScopes":["https://www.googleapis.com/auth/drive"
]
}
후기
보통 쓰는 분에는 스코프를 자동으로 인식해주는 것 같지만, 할 수 없는 경우는 조금 귀찮아.
새로운 에디터가 되고 나서 프로젝트의 프로퍼티라든지 스코프라든지 여러가지 볼 수 없게 되어 있는 것은 빨리 어떻게든 해 주지 않을까.
Reference
이 문제에 관하여([GAS] 여러 .gs 파일이 있을 때 범위가 자동으로 추가되지 않고 "xxx를 호출할 수 있는 권한이 없습니다"오류가 발생함), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/FireFoxCorp/items/75b71add7bcb14da507a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)