조준경

사용자는 자신의 데이터에 액세스하는 부가기능 및 기타 애플리케이션을 승인해야 합니다. 또는 그들을 대신해서 행동할 수 있습니다. 사용자가 부가기능을 처음 실행할 때 부가기능 UI에 승인 흐름을 시작하라는 승인 프롬프트가 표시됩니다.

이 흐름 중에 프롬프트는 사용자에게 애플리케이션이 원하는 것을 알려줍니다. 할 수 있습니다. 예를 들어 부가기능에 콘텐츠를 읽을 수 있는 권한이 필요할 수 있습니다. 사용자의 이메일 메시지를 보내거나 캘린더에 일정을 만들 수 있습니다. 부가기능 스크립트 프로젝트에서 이러한 개별 권한을 OAuth 범위로 정의합니다.

매니페스트에서 범위 선언 URL 문자열을 사용합니다. 승인 흐름 중에 Apps Script는 인간이 읽을 수 있는 사용자 범위 설명입니다. 예: Google Workspace 부가기능 '현재 메시지 읽기' 매니페스트에 다음과 같이 작성됩니다 https://www.googleapis.com/auth/gmail.addons.current.message.readonly 기간 중 승인 흐름에서 이 범위의 부가기능이 사용자에게 부가기능: 부가기능이 실행 중일 때 이메일 메시지 보기

보기 범위

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

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

프로젝트 매니페스트에서 스크립트 프로젝트의 현재 범위를 볼 수도 있습니다. oauthScopes 아래 필드에 해당 범위를 명시적으로 설정한 경우에만 볼 수 있습니다.

명시적 범위 설정

Apps Script는 검사를 통해 스크립트에 필요한 범위를 자동으로 결정합니다. 이를 필요로 하는 함수 호출을 위한 코드를 제공합니다. 대부분의 스크립트의 경우 다음과 같습니다. 시간을 절약해 주지만 게시된 부가기능의 경우 범위를 더 직접적으로 제어할 수 있습니다

예를 들어 Apps Script는 부가기능 스크립트 프로젝트에 기본적으로 https://mail.google.com 범위를 지정합니다. 사용자가 스크립트를 승인하는 경우 이 범위의 프로젝트에 대해 사용자의 Gmail에 대한 전체 액세스 권한이 부여됩니다. 있습니다. 게시된 부가기능의 경우 이 범위를 반드시 더 높은 부가기능의 필요를 충족할 수 있는 제한된 세트만을 보게 됩니다.

다음을 수정하여 스크립트 프로젝트가 사용하는 범위를 명시적으로 설정할 수 있습니다. 매니페스트 파일에 있습니다. 매니페스트 필드 oauthScopes는 배열입니다. 전체 범위를 지정합니다 프로젝트 범위를 설정하려면 다음 안내를 따르세요. 있습니다.

  1. 부가기능에서 현재 사용하는 범위를 확인합니다. 수행할 작업 결정 변경(예: 더 좁은 범위 사용)
  2. 부가기능의 매니페스트 파일을 엽니다.
  3. oauthScopes이라는 최상위 필드를 찾습니다. 이 태그가 없는 경우 추가할 수 있습니다.
  4. oauthScopes 필드는 문자열의 배열을 지정합니다. 범위를 설정하려면 다음 단계를 따르세요. 사용하는 경우 이 배열의 콘텐츠를 선택합니다. 예를 들어 Gmail을 확장하는 Google Workspace 부가기능의 경우 다음이 있을 수 있습니다.

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
        "https://www.googleapis.com/auth/userinfo.email"
      ],
      ...
    }
    
  5. 매니페스트 파일 변경사항을 저장합니다.

OAuth 확인

특정 민감한 OAuth 범위를 사용하려면 부가기능이 OAuth 클라이언트 확인 해야 합니다. 자세한 내용은 다음 가이드를 참조하세요.

제한된 범위

특정 범위는 제한되며 도움이 되는 추가 규칙이 적용됩니다. 사용자 데이터 보호 다음을 사용하는 Gmail 또는 편집기 부가기능을 게시하려는 경우 하나 이상의 제한된 범위를 사용하는 경우 부가기능은 지정된 모든 게시되기 전에 제한사항을 두어야 합니다

제한된 범위의 전체 목록 검토 300x250의 값으로 이루어져야 합니다. 부가기능에 이러한 콘텐츠가 사용되는 경우 다음 정책을 준수해야 합니다. 다음 코드로 교체합니다. 특정 API 범위의 추가 요구사항 게시할 수 있습니다.

캘린더 범위

다음은 Google Calendar를 확장하는 Google Workspace 부가기능에 자주 사용되는 범위입니다.

범위
액세스 이벤트 메타데이터 https://www.googleapis.com/auth/calendar.addons.execute

부가기능이 Calendar 일정 메타데이터에 액세스하는 경우 필요합니다. 허용 이벤트 메타데이터에 액세스합니다.

사용자 생성 이벤트 데이터 읽기 https://www.googleapis.com/auth/calendar.addons.current.event.read

부가기능에서 사용자 생성 이벤트 데이터를 읽어야 하는 경우 필요합니다. 부가기능에서 사용자 생성 이벤트 데이터에 액세스하도록 허용합니다. 이 데이터는 사용할 수 있는 <ph type="x-smartling-placeholder"></ph> addOns.calendar.eventAccess 매니페스트 필드 READ 또는 READ_WRITE로 설정됩니다.

사용자 생성 이벤트 데이터 작성 https://www.googleapis.com/auth/calendar.addons.current.event.write

부가기능에서 사용자 생성 이벤트 데이터를 작성해야 하는 경우 필요합니다. 부가기능에서 사용자 생성 이벤트 데이터를 수정하도록 허용합니다. 이 데이터는 사용할 수 있는 <ph type="x-smartling-placeholder"></ph> addOns.calendar.eventAccess 매니페스트 필드 WRITE 또는 READ_WRITE로 설정됩니다.

Drive 범위

다음은 Google Drive를 확장하는 Google Workspace 부가기능에 자주 사용되는 범위입니다.

범위
선택한 항목 메타데이터를 읽습니다. https://www.googleapis.com/auth/drive.addons.metadata.readonly

부가기능이 트리거된 컨텍스트 인터페이스를 구현하는 경우 필요합니다. 사용자가 Drive에서 항목을 선택할 때. 부가기능에서 사용자가 보유한 항목에 관해 제한된 메타데이터를 읽도록 허용합니다. 있습니다. 메타데이터는 항목 ID, 제목, MIME 유형, 아이콘 URL, 부가기능에 액세스할 수 있습니다.

파일별 액세스 https://www.googleapis.com/auth/drive.file

부가기능에서 개별 Drive에 액세스해야 하는 경우 권장됩니다. 파일. 다음을 사용하여 앱에서 만들거나 여는 파일에 대한 파일별 액세스 권한을 부여합니다. Apps Script 고급 드라이브 서비스를 제공합니다. 따라서 기본 드라이브 서비스 있습니다. 파일 승인은 파일별로 부여되며 사용자가 앱을 승인 취소하면 취소됩니다.

자세한 내용은 <ph type="x-smartling-placeholder"></ph> 선택한 파일에 대한 파일 액세스 요청 예시

Gmail 부가기능 범위

Cloud Functions를 사용하기 위해 특별히 생성된 몇 가지 범위가 있습니다. 사용자 Gmail을 보호하는 데 도움이 되는 Google Workspace 부가기능 데이터입니다. 다음을 수행해야 합니다. 이 범위를 명시적으로 추가 부가기능 매니페스트에 있는 다른 사용자 이름 및 필요한 경우

다음은 Gmail을 확장하는 Google Workspace 부가기능에 자주 사용되는 범위입니다. 필수라고 표시된 라벨과 함께 부가기능이 확장되는 경우 Google Workspace 부가기능 매니페스트 Gmail.

또한 https://mail.google.com 더 좁은 범위의 범위를 가진 부가기능으로 필요가 없습니다.

범위
새 초안 만들기 https://www.googleapis.com/auth/gmail.addons.current.action.compose

부가기능이 <ph type="x-smartling-placeholder"></ph> 작성 작업 트리거 부가기능을 사용하여 새 임시보관 메일을 임시로 만들고 답글 를 참조하세요. 임시보관 메일 작성하기 참조하세요. 이 범위는 종종 <ph type="x-smartling-placeholder"></ph> 작성 작업에 대해 자세히 알아보세요. 액세스 토큰이 필요합니다.

열린 메시지 메타데이터 읽기 https://www.googleapis.com/auth/gmail.addons.current.message.metadata

열린 메일의 메타데이터 (예: 있습니다. 메일 내용을 읽을 수 없음 액세스 토큰이 필요합니다

부가기능이 작성 작업에서 메타데이터를 사용하는 경우 필수 항목입니다. 있습니다 용 작성 작업. 이 범위는 구성 트리거가 실행될 때 필요합니다. 메타데이터에 액세스할 수 있어야 합니다. 실제로 이 범위를 사용하면 Compose 답장 수신자 목록 (받는사람:, 참조:, 숨은참조:) 실행 이메일 초안입니다.

열린 메일 콘텐츠 읽기 https://www.googleapis.com/auth/gmail.addons.current.message.action

사용자 상호작용 시 열린 메일의 콘텐츠에 대한 액세스 권한을 부여합니다. 예를 들어 부가기능 메뉴 항목이 선택되었을 때 액세스 권한 필요 토큰입니다.

열린 대화목록 콘텐츠 읽기 https://www.googleapis.com/auth/gmail.addons.current.message.readonly

열린 메시지의 메타데이터 및 콘텐츠에 대한 임시 액세스 권한을 부여합니다. 열린 공간에 있는 다른 메시지의 콘텐츠에 대한 액세스 권한도 부여합니다. 있습니다. 액세스 토큰이 필요합니다.

모든 메시지 콘텐츠 및 메타데이터 읽기 https://www.googleapis.com/auth/gmail.readonly

열린 메일을 포함하여 모든 이메일 메타데이터 및 콘텐츠를 읽습니다. 다음과 같은 다른 메시지에 대한 정보를 읽어야 할 때 필요합니다. 전체 메일 대화목록을 읽는 경우

액세스 토큰

사용자 데이터를 보호하기 위해 Google Workspace 부가기능은 사용자 데이터에 대한 임시 액세스 권한을 부여할 수 있습니다 임시 액세스를 사용 설정하려면 함수 GmailApp.setCurrentMessageAccessToken(accessToken) 액세스 토큰을 인수로 사용합니다. Google Cloud Platform에서 액션 이벤트 객체입니다.

다음은 메시지의 메타데이터입니다. 이 예에서 필요한 유일한 범위는 https://www.googleapis.com/auth/gmail.addons.current.message.metadata

function readSender(e) {
  var accessToken = e.gmail.accessToken;
  var messageId = e.gmail.messageId;

  // The following function enables short-lived access to the current
  // message in Gmail. Access to other Gmail messages or data isn't
  // permitted.
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  return mailMessage.getFrom();
}

편집자 범위

다음은 Docs, Sheets, Google Slides

범위
현재 Docs 파일 액세스 https://www.googleapis.com/auth/documents.currentonly

부가기능이 Apps Script Docs API에 액세스하는 경우 필수 항목입니다. 열려 있는 문서의 콘텐츠에 대한 임시 액세스 권한을 부여합니다.

현재 Sheets 파일 액세스 https://www.googleapis.com/auth/spreadsheets.currentonly

부가기능이 Apps Script Sheets API에 액세스하는 경우 필수 항목입니다. 공개 스프레드시트의 콘텐츠에 대한 임시 액세스 권한을 부여합니다.

현재 Slides 파일 액세스 https://www.googleapis.com/auth/presentations.currentonly

부가기능이 Apps Script Slides API에 액세스하는 경우 필요합니다. 공개 프레젠테이션의 콘텐츠에 대한 임시 액세스 권한을 부여합니다.

파일별 액세스 https://www.googleapis.com/auth/drive.file

부가기능에서 onFileScopeGrantedTrigger를 사용하는 데 필요합니다. 부가기능이 Docs, Sheets, Slides, Drive API에 액세스하는지 여부 다음을 사용하여 앱에서 만들거나 여는 파일에 대한 파일별 액세스 권한을 부여합니다. Apps Script 고급 드라이브 서비스를 제공합니다. 따라서 기본 드라이브 서비스 있습니다. 파일 승인은 파일별로 부여되며 취소될 수 있습니다.

기타 범위

부가기능에서 다른 Apps Script 서비스를 사용하는 경우 추가 범위가 필요할 수 있습니다. 대부분의 경우 Apps Script에서 이러한 범위를 감지하고 자동으로 매니페스트를 만들 수 있습니다 매니페스트의 범위 목록을 수정할 때 삭제하지 마세요. 더 적절한 대안으로 대체하지 않는 한 더 좁은 범위와 같은 것들이 있습니다

다음은 Google Cloud에서 자주 사용되는 Google Workspace 부가기능과 연계:

범위
사용자의 이메일 주소 읽기 https://www.googleapis.com/auth/userinfo.email

프로젝트가 현재 사용자의 이메일 주소를 읽을 수 있도록 허용합니다.

외부 서비스에 대한 통화 허용 https://www.googleapis.com/auth/script.external_request

프로젝트에서 UrlFetch 드림 요청을 처리합니다 이는 프로젝트가 <ph type="x-smartling-placeholder"></ph> OAuth2 for Apps Script 라이브러리를 사용합니다.

사용자의 언어 및 시간대 읽기 https://www.googleapis.com/auth/script.locale

프로젝트가 현재 사용자의 언어와 시간대를 학습할 수 있도록 허용합니다. 를 참조하세요. 자세한 내용은 사용자 언어 및 시간대 액세스를 참고하세요.

트리거 만들기 https://www.googleapis.com/auth/script.scriptapp

프로젝트에서 다음 항목을 만들 수 있도록 허용합니다. <ph type="x-smartling-placeholder"></ph> 트리거를 사용합니다.

서드 파티 링크 미리보기 https://www.googleapis.com/auth/workspace.linkpreview

부가기능이 서드 파티 서비스의 링크를 미리 보는 경우 필수 항목입니다. 사용자가 상호작용하는 동안 프로젝트가 Google Workspace 애플리케이션 내의 링크를 볼 수 있도록 허용합니다. 자세한 내용은 페이지를 참조하세요. 스마트 칩으로 링크 미리보기

서드 파티 리소스 만들기 https://www.googleapis.com/auth/workspace.linkcreate

부가기능이 서드 파티 서비스에서 리소스를 생성하는 경우 필요합니다. 프로젝트에서 사용자가 제출하는 정보를 읽을 수 있도록 허용합니다. 리소스 생성 양식과 Google Workspace 애플리케이션 내에서 리소스로 연결되는 링크를 삽입할 수 있습니다. 자세한 내용은 페이지를 참조하세요. @ 메뉴에서 서드 파티 리소스 만들기