为 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. 输入测试用户的电子邮件地址,然后点击保存按钮。
    7. 点击保存并继续。系统会显示摘要窗格。
    8. 查看 OAuth 权限请求页面信息,然后点击返回信息中心

有关完整详细信息,请参阅 Google Cloud Console 帮助网站上的 设置 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 注册后,此限制将被解除。

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

对于仍在等待 OAuth 验证的 Google Cloud 应用,用户必须等到验证完成后才能完成 OAuth 流程。尝试授予权限时会失败,并显示以下错误:

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