1.1:OAuth 账号关联

简介与业务影响


若要利用 Google API,您必须启用 OAuth 来授予集成权限 必要的商家信息,允许商家在非付费商品详情和付费广告中展示商品。

Alt-OAuth

您的应用必须使用 OAuth 2.0 向请求授权。 不支持其他授权协议。

用户体验指南


目标:让商家有权进行共享 Google 应用对其数据的使用情况。

设计原则:在适当的时间请求适当的权限。 如果商家不授予权限,则暂时失败。

系统会提示商家提供访问权限。 以下示例说明了如何向商家显示这些说明:

oauth_1

oauth_2

商家完成这些初始步骤后 有三种可能的结果:

结果 1:如果商家同意所有权限

oauth_3

如果商家提供完整权限,则需要勾选所有复选框 并提示您继续完成初始配置流程。

结果 2:如果商家不同意 Google Ads

oauth_4

商家选中了除权限以外的所有复选框 与 Google Ads 相关 他们会继续执行新手入门流程 创建新 Google Ads 账号或关联到 现有账号,系统会再次提示他们授予权限:

oauth_5 oauth_6

结果 3:如果商品数据或网站验证处于未选中状态, 该商家将无法继续合作

oauth_7

oauth_8

oauth_9

oauth_10

上述所有选项都会导致相同的错误消息:

oauth_11

技术指南


使用 OAuth 2.0 选择授权请求

您可以通过以下两种方法选择商家身份验证方法

针对非服务账号的 OAuth 2.0(强烈推荐) 适用于服务账号的 OAuth 2.0
OAuth 2.0 客户端可识别应用,并允许最终用户授予应用对其 Google 数据的有限访问权限。该应用允许您的应用代表最终用户访问 Google Cloud API。

所列的情况导致访问令牌失效,应在代码中进行说明:

● 用户已撤消访问权限
● 用户更改了密码
● 授予的刷新令牌数量超出上限
● 6 个月内未使用刷新令牌
服务账号是一种特殊的 Google 账号,可供应用使用 OAuth 2.0 以编程方式访问 Google API。它采用 OAuth 2.0 流程,无需人工授权。而是改为使用只有您的应用可以访问的密钥文件。

注意:使用服务账号进行身份验证的应用只能访问自己的 Merchant Center 账号。如果您编写的第三方应用需要访问客户端的Merchant Center 账号,请改为参阅“向请求授权”指南。

注意:必须使用 Cloud 项目,最多可创建 100 个服务账号。请参阅文档

设置 OAuth 流程

OAuth 2.0 授权框架使第三方应用 对 HTTP 服务的有限访问权限,无论是代表资源所有者, 在资源所有者和 HTTP 之间编排审批交互 或允许第三方应用自行获取访问权限 。

您的应用会访问受保护的(非公开)数据,因此您需要使用 OAuth 2.0 客户端 ID。Google API 使用 OAuth 2.0 协议进行身份验证, 授权。Google 支持常见的 OAuth 2.0 场景,例如 Web 场景 服务器、已安装的应用和客户端应用。

了解详情

针对用于购物的内容 API 使用 OAuth 的注意事项:

  1. 确保已将 access_type 设为离线:访问令牌 定期失效并成为相关 API 的无效凭据 请求。

  2. 刷新访问令牌:您可以在不提示用户的情况下执行此操作 以请求权限(包括用户不在场时) 离线访问范围的权限。(了解详情)。

  3. 在库中实现 OAuth:我们强烈建议您使用 Google API 客户端库

  4. 范围:您需要请求商家授予您读取和 通过 Google Merchant Center OAuth 访问其 Google 账号的写入权限 作用域:https://www.googleapis.com/auth/content。

  5. 您可以使用 OAuth 获取重要的用户个人资料信息

要用于集成的范围

根据您计划为自己构建的集成类型, 我们建议您请求所有必要的作用域。

计划 范围 范围要求采用哪种格式
Content API https://www.googleapis.com/auth/content 非付费商品详情
网站验证 https://www.googleapis.com/auth/siteverification 非付费商品详情和付费广告
Ads https://www.googleapis.com/auth/adwords 非付费商品详情和付费广告

验证商家是否已授予 OAuth 访问权限

商家必须在 OAuth 同意流程中勾选复选框才能授予您 对特定范围的访问权限:如果缺少必需的范围,请说明 向商家说明为什么需要这些信息,并再次请求权限 (了解详情)。无权使用所有这些权限 导致商家无法完全完成初始配置。

访问权限

调用以下 API 端点以检查已授予的范围:

https://www.oauth2.googleapis.com/token

该网址会返回以下信息:

  • access_token
  • 授予用户的范围
  • 距离令牌过期的时间

request

敏感范围和 OAuth 验证流程

可以考虑使用 OAuth API 使用的部分范围 且需要验证流程。其他信息 如需查看和示例,请参阅适用于 Content API 的 OAuth

  1. 需要遵守政策的敏感应用范围:需要确保应用符合政策 遵守 Google 的 API 服务用户数据政策。 您还需要同意 API 服务条款

  2. 确认您的应用不属于 验证要求的例外情况

  3. 使用“搜索”验证项目已获授权的网域的所有权 控制台。使用具有 Project Owner 或 Project Editor 角色的账号 Cloud 控制台项目的角色

  4. 确保 OAuth 同意屏幕上显示的所有品牌信息都一致且 有效信息,例如:向用户显示的项目名称、支持电子邮件地址、首页网址和 隐私权政策网址,准确反映应用的身份。

  5. 在验证流程中请求您的应用访问敏感范围: 按照需要填写表单的流程 提供理由并发送视频。