授權範圍

Google Photos Library API 提供多個範圍,可用於存取媒體項目和相簿。根據開發人員要求的範圍,各種呼叫傳回的回應會有所不同。

您的應用程式傳送至 Google Photos Library API 的每個要求都必須包含一個授權權杖。這個權杖也可讓 Google 識別您的應用程式。

關於授權通訊協定

您的應用程式必須使用 OAuth 2.0 對要求進行授權,系統不支援其他授權通訊協定。如果您的應用程式採用使用 Google 帳戶登入功能,系統會為您處理部分授權事項。

使用 OAuth 2.0 對要求進行授權

所有傳送至 Google Photos Library API 的要求都必須獲得已驗證使用者的授權。

OAuth 2.0 授權程序 (或「流程」) 的細節會根據您編寫的應用程式類型而有所不同。下列一般程序適用於所有應用程式類型:

  1. 建立應用程式後,請透過 Google API 控制台註冊應用程式。接著 Google 會向您提供稍後需要的資訊,例如用戶端 ID 和用戶端密碼。
  2. 在 Google API 控制台中啟用 Google Photos Library API。(如果 API 控制台裡沒有列出該 API,則可略過這個步驟)。
  3. 當應用程式需要存取使用者資料時,會向 Google 要求特定的存取範圍
  4. Google 會向使用者顯示同意畫面,請對方授權您的應用程式要求部分資料。
  5. 如果使用者同意,Google 即會授予短期存取權杖給您的應用程式。
  6. 您的應用程式向使用者要求資料,並且在要求中附上存取權杖。
  7. 如果 Google 判定您的要求與權杖有效,便會傳回您要求的資料。

部分流程包含額外步驟,例如使用「更新權杖」來取得新的存取權杖。如要進一步瞭解各類應用程式的流程,請參閱 Google 的 OAuth 2.0 說明文件

以下是 Google Photos Library API 的 OAuth 2.0 範圍資訊:

範圍 意義
https://www.googleapis.com/auth/photoslibrary.readonly

唯讀存取權

列出資料庫和所有相簿中的項目、存取所有媒體項目並列出使用者擁有的相簿,包括共用對象的相簿。

如果是使用者共享的相簿,只有在獲得 photoslibrary.sharing 範圍的情況下,才會傳回共用屬性

只有在也已經取得 photoslibrary.sharing 範圍,才能使用相簿的 shareInfo 屬性和 mediaItemscontributorInfo

詳情請參閱「分享媒體」。

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.sharingphotoslibrary.edit 存取權。

如要透過 OAuth 2.0 要求存取權,您的應用程式需要範圍資訊,以及 Google 在您註冊應用程式時提供的資訊 (例如用戶端 ID 和用戶端密碼)。

提示:Google API 用戶端程式庫可以為您處理部分授權程序,且適用於多種程式設計語言;詳情請參閱程式庫和範例頁面

選取範圍

一般來說,請盡可能選擇最嚴格的範圍,並避免要求應用程式不需要的範圍。使用者可以透過較為清楚明瞭的「有限」範圍來授予存取權。除非使用者信任您的應用程式,並瞭解應用程式需要這些資訊的原因,否則他們可能會猶豫不決,願意授予媒體內容的廣泛存取權。

逐步要求範圍

遵循授權最佳做法時,應用程式應只在需要時要求範圍。請避免在登入時預先要求應用程式的所有範圍。請改為提供正當理由,並在背景資訊中提出要求。根據使用者體驗指南與最佳做法,清楚說明您會如何處理使用者資料,以及他們藉由授予存取權的方式,提供通知及徵求同意。

服務帳戶

Library API 不支援服務帳戶。您的應用程式必須使用其他可用的 OAuth 2.0 流程,例如適用於網路伺服器應用程式的 OAuth 2.0,行動版和電腦版應用程式皆需使用 OAuth 2.0。