【问题标题】:Unable to Restrict YouTube Data API key to Android App无法将 YouTube 数据 API 密钥限制为 Android 应用
【发布时间】:2021-06-06 17:58:37
【问题描述】:

正如标题所说,我在限制 Android 应用使用 YouTube 数据 API 密钥时遇到了问题。

到目前为止我做了什么:

  • 进入 Google Cloud Platform - 限制 API 密钥页面
  • 在应用程序限制下选择Android
  • 添加项目:输入应用程序包和 SHA-1 指纹(从 Playstore 控制台获取)
  • 在 API 限制下选中“Restrict Key”
  • 在以下下拉列表中选择 YouTube Data API V3
  • 点击“保存”

获取 SHA-1 指纹:

  • Google Play 控制台上选择了应用程序。
  • 扩展了设置以打开应用完整性
  • 应用签名密钥证书下复制了 SHA-1 指纹。

我现在相信我已经完成了Applying API Key Restrictions - Google Cloud Platform 页面中列出的所有步骤。但是,YouTube 数据 API 调用仍然失败,出现 403。我错过了什么吗?

这是我来自调试应用程序的请求:我意识到这应该会失败,但如果不推送应用程序更新,我无法为当前应用程序打开网络日志记录。

GET: https://www.googleapis.com/youtube/v3/videos?part=snippet&id=Mkq8pnvsnQg&key=API_KEY

我注意到的一件事是没有 Android 应用识别标记存在,即无法判断请求是从 Android 还是任何其他平台发出的,所以也许我在那里遗漏了什么?

【问题讨论】:

    标签: android youtube youtube-data-api


    【解决方案1】:

    您将无法通过调试应用的受限访问来使用 API。当它上传到设备时 - 它使用 SHA1 与您在 Playstore 上使用的不同的开发密钥进行签名。

    您应该在限制列表中再添加一个 SHA1 密钥 - 您的开发密钥。 Here 是怎么做的。只有在那之后,您才能在调试应用程序上使用它。

    您还可以将 debuggable = trueminifiedEnabled = false 应用到 Gradle 中的发布版本变体设置,以便能够调试发布应用程序 - 只是不要忘记在提交到 Play 商店之前将其更改回来。

    如果即使在使用正确证书签名的发布版本上您仍然无法使用该应用程序 - 这意味着您输入了错误的 SHA1 和错误的包名称,或者没有提供所有需要的 scopes谷歌登录。

    【讨论】:

    • 我已经明确表示我正在从 Google Play 控制台复制 SHA-1 签名,而不是我自己生成的密钥库文件的签名。是的,我还尝试添加调试 SHA-1 指纹并运行调试应用程序(这也使成功调用失败)。
    • 我已经反复检查并验证了SHA-1指纹和包名,它们是正确的。您能告诉我为什么需要提供 Google 登录范围吗?
    • 我只是使用API​​播放公共视频并检索视频信息。
    • 嗨,我也遇到了同样的问题,你能解决吗@Abbas
    • @Apoorvpandey 不。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 2020-05-01
    • 2017-12-24
    • 2015-04-01
    • 2017-01-25
    • 2018-10-06
    • 2010-12-13
    相关资源
    最近更新 更多