승인 범위

Google 포토 라이브러리 API에는 미디어 항목 및 앨범에 액세스하는 데 사용되는 여러 범위가 포함되어 있습니다. 다양한 호출에서 반환되는 응답은 개발자가 요청한 범위에 따라 다릅니다.

애플리케이션에서 Google 포토 라이브러리 API로 전송하는 모든 요청에는 승인 토큰이 포함되어야 합니다. Google은 이 토큰을 사용하여 애플리케이션을 식별합니다.

승인 프로토콜 정보

요청을 승인하려면 애플리케이션에서 OAuth 2.0을 사용해야 합니다. 다른 승인 프로토콜은 지원되지 않습니다. 애플리케이션에서 Google 계정으로 로그인을 사용하는 경우, 승인의 일부 절차는 자동으로 처리됩니다.

OAuth 2.0을 사용하여 요청 승인하기

Google 포토 라이브러리 API에 대한 모든 요청은 인증된 사용자의 승인을 받아야 합니다.

OAuth 2.0의 세부적인 승인 절차('흐름')는 제작 중인 애플리케이션 종류에 따라 약간씩 다릅니다. 다음의 일반적인 과정은 모든 애플리케이션 유형에 적용됩니다.

  1. 애플리케이션을 만들 때 Google API 콘솔을 사용하여 애플리케이션을 등록합니다. 이렇게 하면 Google에서 클라이언트 ID 및 클라이언트 보안 비밀과 같이 나중에 필요한 정보를 제공합니다.
  2. Google API 콘솔에서 Google 포토 라이브러리 API를 활성화합니다. API 콘솔의 목록에 이 API가 없다면 이 단계를 건너뜁니다.
  3. 애플리케이션에서 사용자 데이터에 액세스해야 하는 경우 Google에 특정 액세스 범위를 요청합니다.
  4. Google에서 사용자에게 애플리케이션이 일부 데이터를 요청하도록 승인할 것인지 물어보는 동의 화면을 표시합니다.
  5. 사용자가 승인하면 Google에서 애플리케이션에 제한 시간이 있는 액세스 토큰을 제공합니다.
  6. 애플리케이션에서 액세스 토큰을 첨부하여 사용자 데이터를 요청합니다.
  7. Google에서 요청과 토큰이 유효하다고 판단하면 요청된 데이터를 반환합니다.

일부 흐름에는 새로운 액세스 토큰을 얻기 위해 갱신 토큰을 사용하는 등의 추가 단계가 포함됩니다. 다양한 유형의 애플리케이션에 적용되는 흐름을 자세히 알아보려면 Google의 OAuth 2.0 문서를 참조하세요.

다음은 Google 포토 라이브러리 API의 OAuth 2.0 범위 정보입니다.

범위 의미
https://www.googleapis.com/auth/photoslibrary.readonly

읽기 액세스 전용:

라이브러리 및 모든 앨범의 항목을 나열하고, 모든 미디어 항목에 액세스하며, 사용자가 소유한 앨범(사용자와 공유된 항목 포함)을 나열합니다.

사용자가 공유한 앨범의 경우 공유 속성 photoslibrary.sharing 범위도 부여된 경우에만 반환됩니다.

앨범의 shareInfo 속성과 mediaItemscontributorInfo 속성은 photoslibrary.sharing 범위도 부여된 경우에만 사용할 수 있습니다.

자세한 내용은 미디어 공유를 참고하세요.

https://www.googleapis.com/auth/photoslibrary.appendonly

쓰기 액세스 전용.

바이트를 업로드하고, 미디어 항목을 만들고, 앨범을 만들고, 보강 항목을 추가할 수 있는 액세스 권한입니다. 사용자의 라이브러리와 앱에서 만든 앨범에서만 새 미디어를 만들 수 있습니다.

https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata

개발자가 만든 미디어 항목 및 앨범에 대한 읽기 액세스 권한입니다. 자세한 내용은 미디어 항목 액세스라이브러리 콘텐츠, 앨범, 미디어 항목 나열을 참고하세요.

photoslibrary.appendonly 범위와 함께 요청됩니다.

https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata

수정 액세스 권한만 있습니다.

개발자가 만든 앨범 및 미디어 항목의 세부정보를 변경할 수 있는 액세스 권한:

https://www.googleapis.com/auth/photoslibrary.sharing

통화 공유 액세스.

앨범을 만들고 공유하고, 앨범에 미디어 항목을 업로드하고, 공유 앨범에 참여할 수 있는 액세스 권한입니다.

https://www.googleapis.com/auth/photoslibrary

권장하지 않음 증분 승인을 통해 필요한 범위에 대한 액세스만 요청하세요.

photoslibrary.appendonlyphotoslibrary.readonly 범위 모두에 액세스할 수 있습니다. photoslibrary.sharing 또는 photoslibrary.edit 액세스 권한은 포함되지 않습니다.

OAuth 2.0을 사용하여 액세스를 요청하려면 애플리케이션에 범위 정보와 함께 애플리케이션 등록 시 Google에서 제공하는 정보(예: 클라이언트 ID, 클라이언트 보안 비밀)가 필요합니다.

팁: Google API 클라이언트 라이브러리가 사용자를 대신하여 일부 승인 과정을 처리할 수 있습니다. 이러한 라이브러리는 다양한 프로그래밍 언어로 제공됩니다. 자세한 내용은 라이브러리 및 샘플 페이지를 참조하세요.

범위 선택

일반적으로 가능한 한 가장 제한적인 범위를 선택하고 앱에 필요하지 않은 범위는 요청하지 않는 것이 좋습니다. 사용자는 제한적이고 명확하게 설명된 범위에 더 쉽게 액세스 권한을 부여할 수 있습니다. 사용자는 앱을 신뢰하고 앱에 정보가 필요한 이유를 이해하지 않는 한 미디어에 대한 광범위한 액세스 권한을 주저할 수 있습니다.

점진적으로 범위 요청

승인 권장사항에 따라 애플리케이션은 필요한 범위만 요청해야 합니다. 로그인 시 애플리케이션의 모든 범위를 미리 요청하지 마세요. 대신 사유를 제공하고 컨텍스트에 따라 요청하세요. 알림을 제공하고 동의를 요청하도록 UX 가이드라인 및 권장사항에 따라 사용자 데이터를 어떻게 사용하고 액세스 권한을 부여함으로써 사용자에게 어떤 이점이 있는지 명확하게 설명합니다.

서비스 계정

Library API는 서비스 계정을 지원하지 않습니다. 애플리케이션에서는 웹 서버 애플리케이션의 경우 OAuth 2.0 또는 모바일 및 데스크톱 앱의 경우 OAuth 2.0과 같은 다른 OAuth 2.0 흐름을 사용해야 합니다.