为 Android 应用设置 OAuth

Home API 使用 OAuth 2.0 授予对结构中设备的访问权限。借助 OAuth,用户无需公开其登录凭据,即可向应用或服务授予权限。

如果您已经有经过验证的 OAuth 客户端(例如,来自已发布的应用),则可以使用该客户端测试 Home API,而无需设置新的客户端。如需了解详情,请参阅如果您已有 OAuth 客户端

为应用签名

首先,在 Android Studio 中运行应用以生成 OAuth 密钥。当您在 Android Studio 中运行或调试应用时,系统会自动生成一个用于开发和调试的 OAuth 密钥。如需完整说明,请参阅 Android Studio:为调试 build 签名

应用运行后:

  1. 将移动设备连接到本地机器。 Android Studio 会按型号列出已连接的设备。从列表中选择您的设备,然后点击运行项目。这会在您的移动设备上构建并安装示例应用。

    如需更详细的说明,请参阅 Android 开发者网站上的在硬件设备上运行应用

  2. 停止正在运行的应用。

  3. 按照 Google Cloud 控制台帮助网站上设置 OAuth 2.0 / 原生应用/Android 中详述的说明获取 OAuth 证书的 SHA-1 指纹。

  1. 在 Google Cloud 控制台中,前往“项目选择器”信息中心,然后选择要用于创建 OAuth 凭据的项目。
  2. 前往 API 和服务页面,然后点击导航菜单中的凭据
  3. 如果您尚未为此 Google Cloud 项目配置同意屏幕,系统会显示配置同意屏幕按钮。在这种情况下,请按照以下步骤配置同意屏幕。否则,请直接进入下一部分。

    1. 点击配置同意屏幕。系统会显示 OAuth 权限请求页面
    2. 根据您的用例,选择内部外部,然后点击创建。系统会显示 OAuth 权限请求页面窗格。
    3. 按照屏幕上的说明在“应用信息”页面上输入信息,然后点击保存并继续。系统随即会显示 Scopes 窗格。
    4. 您无需添加任何镜重,因此请点击保存并继续。系统会显示测试用户窗格。
    5. 如果您想添加用户来测试对应用的访问权限,请点击添加用户。系统随即会显示添加用户窗格。测试用户有权在您的应用中授予权限。
    6. 在空白字段中,添加一个或多个 Google 账号电子邮件地址,然后点击添加
    7. 点击保存并继续。系统随即会显示摘要窗格。
    8. 查看您的 OAuth 同意屏幕信息,然后点击返回信息中心

如需了解完整详情,请参阅 Google Cloud 控制台帮助网站上的设置 OAuth 权限请求页面

注册应用并创建凭据

如需为 OAuth 2.0 注册应用并创建 OAuth 凭据,请按照设置 OAuth 2.0 中提供的说明操作。您需要指明应用类型,即原生/Android 应用

按照 Google Cloud 控制台帮助网站上设置 OAuth 2.0 / 原生应用中的说明,将您在为应用签名时获得的 SHA-1 指纹添加到您在 Google Cloud 控制台中设置的 OAuth 客户端。

将移动设备连接到本地机器后,从列表中选择您的设备,然后再次点击运行项目以运行项目。如需更详细的说明,请参阅 Android 开发者网站上的在硬件设备上运行应用

如果您已有 OAuth 客户端

如果您已为已发布的应用拥有经过验证的 OAuth 客户端,则可以使用现有的 OAuth 客户端测试 Home API。

无需进行 Google Home Developer Console 注册即可测试和使用 Home API。不过,即使您有通过其他集成获得验证的 OAuth 客户端,仍需要获得已获批准的 Developer Console 注册才能发布应用。

需要注意以下几点:

  • 使用现有 OAuth 客户端时,用户数上限为 100 人。如需了解如何添加测试用户,请参阅设置 OAuth 权限请求页面。无论是否通过 OAuth 验证,Home API 都限制只能有 100 位用户可以向您的应用授予权限。完成 Developer Console 注册后,此限制将解除。

  • 当您准备好通过 OAuth 限制设备类型授予权限,以便使用 Home API 更新应用时,应发送Developer Console注册 以供审批。

对于仍在等待 OAuth 验证的 Google Cloud 应用,用户在验证完成之前无法完成 OAuth 流程。尝试授予权限将会失败,并显示以下错误:

Access blocked: <Project Name> has not completed the Google verification process.