为 Android 应用设置 OAuth

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

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

为应用签名

首先,在 Android Studio 中运行应用以生成调试证书。当您在 Android Studio 中运行或调试应用时,它会自动生成用于开发和调试的调试证书。如需完整了解,请参阅 Android Studio:为调试 build 签名

应用运行后:

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

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

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

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

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

    1. 点击配置同意屏幕。系统会显示 OAuth 权限请求页面
    2. 根据您的用例,选择内部外部,然后点击创建。系统会显示 OAuth 权限请求页面窗格。
    3. 按照屏幕上的说明在“应用信息”页面上输入信息,然后点击保存并继续。系统随即会显示镜重窗格。
    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 registration 以供审批。

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

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