사용자는 커뮤니티 커넥터를 사용하여 자체 데이터 소스를 만듭니다. 이러한 데이터 소스의 경우 커넥터는 유효 사용자의 ID에 액세스할 수 있습니다. 데이터 소스 사용자 인증 정보에 따라 유효 사용자는 데이터 소스 생성자 (소유자의 사용자 인증 정보) 또는 보고서 뷰어 (조회자의 사용자 인증 정보)가 될 수 있습니다.
이점
- 사용자 대신 Google 서비스 및 API에 액세스할 수 있습니다.
- 관련 데이터만 표시되도록 커스텀 액세스 제어를 구현할 수 있습니다.
- 효과적인 사용자를 위해 사용자 환경을 맞춤설정할 수 있습니다.
구현 단계
사용자 OAuth 토큰 액세스
커넥터는 사용자의 OAuth 토큰을 전달하여 사용자를 대신하여 Google 서비스 및 API에 액세스할 수 있습니다. 커넥터에서 유효 사용자의 OAuth 토큰에 액세스하려면 ScriptApp.getOAuthToken()
를 사용합니다. getOAuthToken 참조를 확인하세요.
이 토큰에는 커넥터 승인 중에 포함된 승인 범위가 포함됩니다.
대부분의 커넥터에서 Apps Script는 스크립트를 파싱하고 처리하여 필요한 범위를 자동으로 감지합니다. 언제든지 커넥터에서 사용하는 범위를 볼 수 있습니다. 매니페스트에서 URL 문자열을 사용하여 범위를 명시적으로 설정할 수도 있습니다. 사용자를 대신하여 Google 서비스 또는 API에 액세스하려면 관련 범위를 매니페스트에 포함합니다.
사용자 이메일 주소 액세스
코드에서 Session.getEffectiveUser().getEmail()
로 현재의 유효 사용자를 식별할 수 있습니다. geteffectiveUser 참조를 확인하세요.
이 코드를 추가하면 https://www.googleapis.com/auth/userinfo.email
승인 범위가 커넥터에 자동으로 추가됩니다.
예: 사용자 OAuth 토큰으로 Google API 호출
- Google 피트니스 커넥터는 유효 사용자를 위해 Google 피트니스 API에서 데이터를 가져옵니다. API를 호출하는 동안 유효 사용자의 OAuth 토큰이 전달됩니다. 구현에 관한 자세한 내용은 소스 코드를 참고하세요.
- Firestore 커넥터는 Cloud Resource Manager를 사용하여 유효 사용자의 프로젝트 목록을 가져옵니다. 이 커넥터는 유효 사용자의 OAuth 토큰도 전달합니다. 구현에 관한 자세한 내용은 소스 코드를 참고하세요.
예: 이메일 주소 기준 isAdminUser()
- Chrome UX 커넥터는 관리자 목록을 유지 관리합니다.
getEffectiveUser()
를 사용하고 유효 사용자를 목록과 비교하여 유효 사용자가 관리자인지 확인합니다.getEffectiveUser
구현을 참고하세요.