服务账号是一种特殊的 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 列表中搜索并启用它。
- 在左侧边栏中,选择凭据。 您可能需要点击左上角的左箭头才能看到此信息。
- 如需设置服务账号,请选择 CREATE CREDENTIALS,然后选择 Service account。
- 为新服务账号命名。这也用作服务账号 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 授权服务器签发一小时后过期。当访问令牌到期时,应用应使用客户端库来提取另一个访问令牌。