Google Photos Library API 包含多个用于访问媒体内容和影集的范围。根据开发者请求的范围,各种调用返回的响应会有所不同。
您的应用向 Google Photos Library API 发送的每个请求都必须包含授权令牌。Google 也可通过此令牌识别您的应用。
关于授权协议
您的应用必须使用 OAuth 2.0 向请求授权,其他任何授权协议均不受支持。如果您的应用使用使用 Google 账号登录,系统会代您执行授权方面的某些操作。
使用 OAuth 2.0 向请求授权
向 Google Photos Library API 发出的所有请求都必须由已通过身份验证的用户授权。
根据您所编写的应用的类型,OAuth 2.0 的具体授权流程可能会有所不同。下面是适用于所有应用类型的大致流程:
- 开发应用时,您需要使用 Google API 控制台注册该应用。然后,Google 会提供您稍后需要用到的信息,例如客户端 ID 和客户端密钥。
- 在 Google API 控制台中激活 Google Photos Library API。(如果 API 控制台中未列出该 API,请跳过这一步。)
- 当您的应用需要访问用户数据时,它会请求 Google 提供特定范围的访问权限。
- Google 会向相应用户显示权限请求页面,让用户授权您的应用请求他们的某些数据。
- 待该用户同意后,Google 会为您的应用提供一个时效很短的访问令牌。
- 您的应用会请求获取用户数据,并在请求中附上该访问令牌。
- 如果 Google 确定您的请求及令牌有效,就会返回您所请求的数据。
有些流程还包含其他步骤,例如使用刷新令牌获取新的访问令牌。如需详细了解适用于各类应用的不同流程,请参阅 Google 的 OAuth 2.0 文档。
以下是 Google Photos Library API 的 OAuth 2.0 范围信息:
范围 | 含义 |
---|---|
https://www.googleapis.com/auth/photoslibrary.readonly |
列出媒体库和所有影集中的内容,访问所有媒体内容,并列出用户拥有的影集(包括与他们共享的影集)。 对于用户分享的影集,只有在也授予 只有在也授予 有关详情,请参阅分享媒体内容。 |
https://www.googleapis.com/auth/photoslibrary.appendonly |
拥有上传字节、创建媒体内容、创建影集和添加扩充项的权限。仅允许在用户媒体库和应用创建的影集中创建新媒体内容。 |
https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata |
拥有对开发者创建的媒体内容和影集的读取权限。有关详情,请参阅访问媒体内容和列出媒体库内容、影集和媒体内容。 应与 |
https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata |
仅拥有编辑权限。 拥有更改开发者创建的影集和媒体内容的以下详细信息的权限: |
https://www.googleapis.com/auth/photoslibrary.sharing |
拥有创建影集、分享影集、向其中上传媒体内容以及加入共享影集的权限。 |
https://www.googleapis.com/auth/photoslibrary |
不推荐。请仅通过增量授权请求所需范围的访问权限。
访问 |
要通过 OAuth 2.0 请求访问权限,您的应用既需要授权范围信息,也需要 Google 在您注册应用时提供的信息(如客户端 ID 和客户端密钥)。
提示:Google API 客户端库可帮您处理部分授权流程,并且支持多种编程语言;有关详情,请参阅库和示例页面。
选择范围
一般来说,应尽可能选择限制最严格的范围,并避免请求应用不需要的范围。用户更容易授予对明确说明的有限范围的访问权限。除非用户信任您的应用并了解该应用需要这些信息的原因,否则他们可能会犹豫是否要授予其对媒体内容的广泛访问权限。
逐步请求范围
按照授权最佳实践,您的应用应仅在需要时请求范围。请避免在登录时预先请求应用的所有范围。请改为提供理由,并在上下文中发出请求。根据用户体验指南和最佳做法,在发送通知并征求用户同意时,明确说明您会如何处理用户数据,以及用户授予访问权限后将获得哪些好处。
服务账号
Library API 不支持服务帐号。您的应用必须使用其他可用的 OAuth 2.0 流程,例如,适用于网络服务器应用的 OAuth 2.0 或适用于移动和桌面应用的 OAuth 2.0。