상세 컨텐츠

본문 제목

구글 앱스크립트에서 심플 트리거-onEdit 권한 에러 해결 방법

IT✨/프로그래밍

by Eva___ 2023. 8. 19. 19:32

본문

반응형

[에러 현상]

구글 앱스크립트(Google Appscript)에서 onEdit 사용시 권한 에러가 발생하면서 onEdit 함수에 있는 UrlFetchApp.fetch 실행이 안됐다.

 

Head	onEdit	단순 트리거	2023. 8. 18. 오후 12:59:22	1.13초	실패
Cloud 로그
2023. 8. 18. 오후 12:59:23	정보	
2023. 8. 18. 오후 12:59:23	오류	Exception: UrlFetchApp.fetch을(를) 호출할 수 없습니다. 다음 권한이 필요합니다. https://www.googleapis.com/auth/script.external_request
    at requestMirroring(         :104:34)
    at onEdit(         :52:5)

[에러  원인]

onEdit()와 같은 심플 트리거(Simple Trigger)는 승인이 필요한 서비스에는 액세스 할 수 없어 외부에 호출하는 api는 사용이 어렵다.
심플 트리거 : https://developers.google.com/apps-script/guides/triggers?hl=ko#restrictions

설치 가능한 트리거 :https://developers.google.com/apps-script/guides/triggers/installable?hl=ko 

 

간단한 트리거  |  Apps Script  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 간단한 트리거 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 트리거를 사

developers.google.com

 

설치 가능한 트리거  |  Apps Script  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 설치 가능한 트리거 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 간단한

developers.google.com

[해결 방법]

외부 권한이 필요한 함수 호출시에는 단순 트리거 대신 설치 가능한 트리거(Installable trigger)를 사용하면 된다.

1)단순 트리거는 지정된 함수를 실행하면 자동적으로 실행되는 트리거 이다. 

종류는 다음과 같다.

  • onOpen(e)은 사용자가 수정 권한이 있는 스프레드시트, 문서, 프레젠테이션 또는 양식을 열 때 실행됩니다.
  • onInstall(e)은 사용자가 Google Docs, Sheets, Slides 또는 Forms 내에서 편집기 부가기능을 설치할 때 실행됩니다.
  • onEdit(e)는 사용자가 스프레드시트에서 값을 변경할 때 실행됩니다.
  • onSelectionChange(e)는 사용자가 스프레드시트에서 선택사항을 변경할 때 실행됩니다.
  • doGet(e)는 사용자가 웹 앱을 방문하거나 프로그램이 웹 앱에 HTTP GET 요청을 전송할 때 실행됩니다.
  • doPost(e)는 프로그램이 웹 앱에 HTTP POST 요청을 전송할 때 실행됩니다.

2)설치 가능한 트리거는 앱 스크립트 > 트리거 메뉴에서 생성한 함수를 매핑해서 사용하는 custom 함수이다.

구글 앱스크립트 > 트리거에서 함수와 작동될 트리거를 설정하면 된다.

반응형

관련글 더보기

댓글 영역