服务帐号是一种特殊的 Google 帐号,应用可使用此类帐号通过 OAuth 2.0 以编程方式访问 Google API。服务帐号使用 OAuth 2.0 流程,无需人工授权。而是使用只有您的应用可以访问的密钥文件。本指南介绍了如何使用服务帐号访问 Content API for Shopping。
注意:使用服务帐号进行身份验证的应用只能访问您自己的 Merchant Center 帐号。如果您要编写的第三方应用需要访问客户的 Merchant Center 帐号,请参阅向请求授权指南。
前提条件
- 一个 Merchant Center 帐号。
使用服务帐号访问 Content API for Shopping 的步骤
- 生成服务帐号凭据或访问已生成的公共凭据。您需要创建 OAuth 2.0 客户端 ID 并获取 *.json 私钥文件:
- 转到 Google API 控制台。
- 从页面顶部的下拉菜单中选择一个项目。如果您还没有项目,请点击新建项目创建一个。
- 如果您尚未为此项目启用 Content API for Shopping,请在 Google API 列表中搜索并启用它。
- 在左侧边栏中,选择凭据。您可能需要点击左上角的向左箭头才能看到此信息。
- 如需设置服务帐号,请选择创建凭据,然后选择服务帐号。
- 为新服务帐号命名。这还可用作服务帐号 ID 的默认用户名。记录服务帐号 ID(包括“@”字符后面的部分),以便稍后使用。点击创建,然后执行向项目和用户授予访问权限的可选步骤,并点击完成。
为服务帐号选择的角色不会影响对 Content API 进行哪些调用,因为对 Content API 方法的访问权限取决于与 Merchant Center 中的服务帐号 ID 关联的角色。如果您不确定该选择什么,只需选择 Project > Viewer。
- 系统会将您转到“服务帐号”页面,您可以在其中访问自己的新服务帐号。
- 如需获取 JSON 私钥,请点击服务帐号,然后点击密钥标签页。依次点击添加密钥 > 创建新密钥,然后选择 JSON 作为密钥类型。点击创建,将私钥下载到您的计算机。
- 将新服务帐号作为用户添加到 Merchant Center 帐号中。如果您是第三方开发者,则需要让您的客户为您执行此步骤。
- 转到您的 Merchant Center 帐号。
- 前往 Merchant Center 帐号设置中的帐号访问权限。
- 点击 + 添加用户,并将服务帐号 ID 用作新用户的电子邮件地址。
如果您之前未记下服务帐号 ID,请转到服务帐号管理页面,然后选择您创建的项目。
- 指定服务帐号的用户访问权限和电子邮件通知偏好设置。请注意,使用
Accounts
服务需要管理员访问权限。 - 点击添加用户以保存偏好设置,并返回用户列表。服务帐号 ID 应与选定的用户角色一起列出。
- 对要添加的所有其他服务帐号重复此过程。
- 现在,您可以使用服务帐号访问 Merchant Center 帐号,方法是使用 Google 应用默认凭据流程或直接使用服务帐号流程。Content API for Shopping 示例展示了如何在每种受支持的编程语言中同时使用两个流程获取服务帐号凭据。请查看代码示例,试用您的新服务帐号,并了解在您自己的代码中使用服务帐号需要做出哪些更改。
常见问题解答
- 我可以使用我的服务帐号登录 Merchant Center 界面吗?
- 不可以,服务帐号不是常规 Google 帐号,无法访问 Merchant Center 界面。
- 我需要多久刷新一次服务帐号访问令牌?
- 访问令牌在由 Google OAuth 2.0 授权服务器颁发后一小时后过期。访问令牌到期后,应用应使用客户端库获取另一个访问令牌。