승인 범위

사용자는 자신의 데이터에 액세스하거나 사용자를 대신하여 작업하는 스크립트 프로젝트를 승인해야 합니다. 사용자가 승인이 필요한 스크립트를 처음 실행하면 UI에 승인 흐름을 시작하라는 메시지가 표시됩니다.

이 흐름 중에 UI는 스크립트가 어떤 작업을 할 권한을 원하는지 사용자에게 알려줍니다. 예를 들어 스크립트가 사용자의 이메일 메시지를 읽거나 캘린더에 일정을 만들 권한을 원하는 경우 스크립트 프로젝트는 이러한 개별 권한을 OAuth 범위로 정의합니다.

대부분의 스크립트의 경우 Apps Script가 필요한 범위를 자동으로 감지합니다. 언제든지 스크립트에서 사용하는 범위를 확인할 수 있습니다. URL 문자열을 사용하여 manifest에서 범위를 명시적으로 설정할 수도 있습니다. 게시된 애플리케이션은 항상 가능한 한 가장 좁은 범위를 사용해야 하므로 부가기능과 같은 특정 애플리케이션의 경우 범위를 명시적으로 설정해야 하는 경우가 있습니다.

승인 흐름 중에 Apps Script는 사용자에게 필요한 범위에 관한 사람이 읽을 수 있는 설명을 표시합니다. 예를 들어 스크립트에 스프레드시트에 대한 읽기 전용 액세스 권한이 필요한 경우 매니페스트의 범위는 https://www.googleapis.com/auth/spreadsheets.readonly일 수 있습니다. 승인 흐름 중에 이 범위의 스크립트는 사용자에게 이 애플리케이션이 'Google Sheets를 볼 수 있도록' 허용해 달라고 요청합니다.

일부 범위는 다른 범위를 포함합니다. 예를 들어 승인된 경우 https://www.googleapis.com/auth/spreadsheets 범위는 스프레드시트에 대한 읽기 및 쓰기 액세스를 허용합니다.

범위 보기

다음을 실행하여 스크립트 프로젝트에 현재 필요한 범위를 확인할 수 있습니다.

  1. 스크립트 프로젝트를 엽니다.
  2. 왼쪽에서 개요 를 클릭합니다.
  3. 프로젝트 OAuth 범위에서 범위를 확인합니다.

명시적 범위 설정

Apps Script는 코드에서 필요한 함수 호출을 스캔하여 스크립트에 필요한 범위를 자동으로 결정합니다. 대부분의 스크립트의 경우 이 방법으로 충분하며 시간을 절약할 수 있지만 게시된 부가기능, 웹 앱, Google Chat 앱, Google Chat API 호출의 경우 범위를 더 직접적으로 제어해야 합니다.

Apps Script는 프로젝트에 매우 관대한 범위를 자동으로 할당하는 경우가 있습니다. 이는 스크립트가 필요 이상으로 사용자에게 요청한다는 의미일 수 있으며 이는 좋지 않은 관행입니다. 게시된 스크립트의 경우 광범위한 범위를 스크립트의 요구사항만 충족하는 더 제한적인 세트로 대체해야 합니다.

스크립트 프로젝트의 manifest 파일을 수정하여 스크립트 프로젝트에서 사용하는 범위를 명시적으로 설정할 수 있습니다. 매니페스트 필드 oauthScopes는 프로젝트에서 사용하는 모든 범위의 배열입니다. 프로젝트의 범위를 설정하려면 다음 단계를 따르세요.

  1. 스크립트 프로젝트를 엽니다.
  2. 왼쪽에서 프로젝트 설정 을 클릭합니다.
  3. 편집기에 'appsscript.json' 매니페스트 파일 표시 체크박스를 선택합니다.
  4. 왼쪽에서 편집기 를 클릭합니다.
  5. 왼쪽에서 appsscript.json 파일을 클릭합니다.
  6. oauthScopes로 라벨이 지정된 최상위 필드를 찾습니다. 이 옵션이 표시되지 않으면 추가할 수 있습니다.
  7. oauthScopes 필드는 문자열 배열을 지정합니다. 프로젝트에서 사용하는 범위를 설정하려면 이 배열의 콘텐츠를 사용하려는 범위로 바꿉니다. 예를 들면 다음과 같습니다.
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. 상단에서 저장 을 클릭합니다.

OAuth 확인

특정 OAuth 범위는 Google 사용자 데이터에 대한 액세스를 허용하므로 민감합니다. 스크립트 프로젝트에서 사용자 데이터에 액세스할 수 있는 범위를 사용하는 경우 웹 앱 또는 부가기능으로 공개적으로 게시하려면 먼저 프로젝트를 OAuth 클라이언트 인증을 거쳐야 합니다. 자세한 내용은 다음 가이드를 참조하세요.

제한된 범위

민감한 범위 외에도 특정 범위는 제한됨으로 분류되며 사용자 데이터를 보호하는 데 도움이 되는 추가 규칙이 적용됩니다. 제한된 범위를 하나 이상 사용하는 웹 앱 또는 부가기능을 게시하려는 경우 앱을 게시하기 전에 지정된 모든 제한사항을 준수해야 합니다.

게시하기 전에 제한된 범위의 전체 목록을 검토하세요. 앱에서 이러한 API를 사용하는 경우 게시하기 전에 특정 API 범위에 대한 추가 요구사항을 준수해야 합니다.