正如标题所说,我无法限制 Android 应用程序使用 YouTube 数据 API key 。
到目前为止我做了什么:
获取 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 还是任何其他平台发出的,所以也许我在那里遗漏了什么?
最佳答案
您将无法通过调试应用程序的受限访问来使用 API。当它上传到设备时 - 它使用一个开发 key 签名,该 key 与您在 Playstore 上使用的 key 不同。
您应该在限制列表中再添加一个 SHA1 key - 您的开发 key 。 Here是怎么做的。只有在此之后,您才能在调试应用程序上使用它。
您也可以应用 debuggable = true
和 minifiedEnabled = false
到 Gradle 中的发布构建变体设置,以便能够调试发布应用程序 - 在提交到 Play 商店之前不要忘记将其更改回来。
如果即使在使用正确证书签名的发布版本中您仍然无法使用该应用程序 - 这意味着您输入了错误的 SHA1 和错误的包名称,或者没有提供所有需要的 scopes到 Google 登录。
关于android - 无法将 YouTube 数据 API key 限制为 Android 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66536845/