사용자는 데이터에 액세스하거나 사용자를 대신하여 조치를 취하는 스크립트 프로젝트를 승인해야 합니다. 사용자가 처음으로 승인이 필요한 스크립트를 실행하면 UI에 승인 흐름을 시작하라는 메시지가 표시됩니다.
이 흐름에서 UI는 사용자에게 스크립트에 필요한 권한을 알려줍니다. 예를 들어 스크립트가 사용자의 이메일 메시지를 읽거나 캘린더에서 일정을 만들 권한을 요청할 수 있습니다. 스크립트 프로젝트에서는 이러한 개별 권한을 OAuth 범위로 정의합니다.
대부분의 스크립트에서 Apps Script는 자동으로 필요한 범위를 자동으로 감지합니다. 스크립트에서 사용하는 범위는 언제든지 확인할 수 있습니다. URL 문자열을 사용하여 매니페스트에서 범위를 명시적으로 설정할 수도 있습니다. 게시된 애플리케이션은 항상 가능한 한 가장 좁은 범위를 사용해야 하므로 부가기능과 같은 특정 애플리케이션에는 범위를 명시적으로 설정해야 할 수 있습니다.
승인 흐름 중에 Apps Script는 필요한 범위에 대한 사람이 읽을 수 있는 설명을 사용자에게 표시합니다. 예를 들어 스크립트에 스프레드시트에 대한 읽기 전용 액세스 권한이 필요한 경우 매니페스트의 범위가 https://www.googleapis.com/auth/spreadsheets.readonly
일 수 있습니다. 승인 흐름 중에 이 범위의 스크립트가 사용자에게 'Google Sheets 보기'를 허용하도록 요청합니다.
일부 범위는 다른 범위를 포함합니다. 예를 들어 범위가 승인되면 https://www.googleapis.com/auth/spreadsheets
은 스프레드시트에 대한 읽기 및 쓰기 액세스를 허용합니다.
범위 보기
다음을 수행하면 스크립트 프로젝트에 현재 필요한 범위를 볼 수 있습니다.
- 스크립트 프로젝트를 엽니다.
- 왼쪽에서 개요 를 클릭합니다.
- 프로젝트 OAuth 범위에서 범위를 확인합니다.
명시적 범위 설정
Apps Scripts는 코드에서 코드가 필요한 함수 호출을 스캔하여 스크립트에 필요한 범위를 자동으로 결정합니다. 대부분의 스크립트로는 이 작업만으로 충분하며 시간이 절약됩니다. 그러나 게시된 부가기능과 웹 앱에는 범위를 더 직접 제어해야 합니다.
Apps Script는 프로젝트에 권한을 부여하는 범위를 자동으로 할당합니다. 이 경우 스크립트가 사용자에게 필요한 양보다 더 많은 것을 요구하게 될 수 있으므로 바람직하지 않습니다. 게시된 스크립트의 경우, 광범위한 범위를 스크립트의 요구사항을 포함하는 보다 제한된 세트로 대체해야 하며 더 이상 범위가 아니어야 합니다.
스크립트 매니페스트의 매니페스트 파일을 수정하여 스크립트 프로젝트에서 사용하는 범위를 명시적으로 설정할 수 있습니다. 매니페스트 필드 oauthScopes
는 프로젝트에서 사용하는 모든 범위의 배열입니다. 프로젝트의 범위를 설정하려면 다음 단계를 따르세요.
- 스크립트 프로젝트를 엽니다.
- 왼쪽에서 프로젝트 설정 을 클릭합니다.
- 편집기에 앱 매니페스트 파일 표시 체크박스를 선택합니다.
- 왼쪽에서 편집기 를 클릭합니다.
- 왼쪽에서
appsscript.json
파일을 클릭합니다. oauthScopes
라는 최상위 필드를 찾습니다. 이 태그가 없으면 추가할 수 있습니다.oauthScopes
필드는 문자열 배열을 지정합니다. 프로젝트에서 사용하는 범위를 설정하려면 이 배열의 콘텐츠를 사용할 범위로 바꿉니다. 예:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- 상단에서 저장 을 클릭합니다.
OAuth 확인
특정 OAuth 범위는 Google 사용자 데이터에 대한 액세스를 허용하므로 민감한 범위입니다. 스크립트 프로젝트에서 사용자 데이터에 대한 액세스를 허용하는 범위를 사용하는 경우 프로젝트를 OAuth 클라이언트 인증을 거쳐야 웹 앱 또는 부가기능으로 공개적으로 게시할 수 있습니다. 자세한 내용은 다음 가이드를 참조하세요.
제한된 범위
특정 범위는 민감한 범위 외에도 제한됨으로 분류되며 사용자 데이터를 보호하는 데 도움이 되는 추가 규칙이 적용됩니다. 하나 이상의 제한된 범위를 사용하는 웹 앱이나 부가기능을 게시하려는 경우, 앱이 지정된 모든 제한사항을 준수해야 게시할 수 있습니다.
게시하기 전에 제한된 범위의 전체 목록을 검토하세요. 앱에서 이러한 기능을 사용하는 경우 게시하기 전에 특정 API 범위의 추가 요구사항을 준수해야 합니다.