1.1:OAuth 账号关联
简介与业务影响
若要利用 Google API,您必须启用 OAuth 来授予集成权限 必要的商家信息,允许商家在非付费商品详情和付费广告中展示商品。
您的应用必须使用 OAuth 2.0 向请求授权。 不支持其他授权协议。
用户体验指南
目标:让商家有权进行共享 Google 应用对其数据的使用情况。
设计原则:在适当的时间请求适当的权限。 如果商家不授予权限,则暂时失败。
系统会提示商家提供访问权限。 以下示例说明了如何向商家显示这些说明:
商家完成这些初始步骤后 有三种可能的结果:
结果 1:如果商家同意所有权限:
如果商家提供完整权限,则需要勾选所有复选框 并提示您继续完成初始配置流程。
结果 2:如果商家不同意 Google Ads
商家选中了除权限以外的所有复选框 与 Google Ads 相关 他们会继续执行新手入门流程 创建新 Google Ads 账号或关联到 现有账号,系统会再次提示他们授予权限:
结果 3:如果商品数据或网站验证处于未选中状态, 该商家将无法继续合作
上述所有选项都会导致相同的错误消息:
技术指南
使用 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 的注意事项:
确保已将 access_type 设为离线:访问令牌 定期失效并成为相关 API 的无效凭据 请求。
刷新访问令牌:您可以在不提示用户的情况下执行此操作 以请求权限(包括用户不在场时) 离线访问范围的权限。(了解详情)。
在库中实现 OAuth:我们强烈建议您使用 Google API 客户端库。
范围:您需要请求商家授予您读取和 通过 Google Merchant Center OAuth 访问其 Google 账号的写入权限 作用域:https://www.googleapis.com/auth/content。
您可以使用 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
- 授予用户的范围
- 距离令牌过期的时间
敏感范围和 OAuth 验证流程
可以考虑使用 OAuth API 使用的部分范围 且需要验证流程。其他信息 如需查看和示例,请参阅适用于 Content API 的 OAuth。
需要遵守政策的敏感应用范围:需要确保应用符合政策 遵守 Google 的 API 服务用户数据政策。 您还需要同意 API 服务条款。
确认您的应用不属于 验证要求的例外情况。
使用“搜索”验证项目已获授权的网域的所有权 控制台。使用具有 Project Owner 或 Project Editor 角色的账号 Cloud 控制台项目的角色
确保 OAuth 同意屏幕上显示的所有品牌信息都一致且 有效信息,例如:向用户显示的项目名称、支持电子邮件地址、首页网址和 隐私权政策网址,准确反映应用的身份。
在验证流程中请求您的应用访问敏感范围: 按照需要填写表单的流程 提供理由并发送视频。