android - 无法将 YouTube 数据 API key 限制为 Android 应用

标签 android youtube youtube-data-api

正如标题所说,我无法限制 Android 应用程序使用 YouTube 数据 API key 。
到目前为止我做了什么:

  • 继续 Google Cloud Platform - 限制 API key
  • 在选择的应用程序限制下 安卓 .
  • 添加了项目:输入的应用程序包和SHA-1指纹(从Playstore控制台获得)
  • 在 API 限制下检查 “限制键” .
  • 在下面的下拉列表中选择 YouTube 数据 API V3 .
  • 点击 “保存” .

  • 获取 SHA-1 指纹:
  • Google Play 管理中心 选择了应用程序。
  • 展开 设置 打开应用完整性 .
  • 从下复制 SHA-1 指纹 应用签名 key 证书 .

  • 我现在相信我已经完成了 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 = trueminifiedEnabled = false到 Gradle 中的发布构建变体设置,以便能够调试发布应用程序 - 在提交到 Play 商店之前不要忘记将其更改回来。
    如果即使在使用正确证书签名的发布版本中您仍然无法使用该应用程序 - 这意味着您输入了错误的 SHA1 和错误的包名称,或者没有提供所有需要的 scopes到 Google 登录。

    关于android - 无法将 YouTube 数据 API key 限制为 Android 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66536845/

    相关文章:

    android - 我已将 android studio 版本更新到 3.1 - 运行应用程序时导致错误

    android - 我如何在 ORMLite 中将 "map"作为所有数据库实体扩展的基础对象

    android - 在 Android 开发者控制台中删除 Beta 用户列表

    youtube-api - 使用 YouTube API,如何获取 YouTube 视频的唯一观看者?

    google-api - Youtube 数据 API -/channels 端点不返回较小的用户

    android - 在 Android Studio 中构建时找不到 .idea/misc.xml

    javascript - 如何嵌入 YouTube iframe 视频 100% 全宽

    ios - 使用 MPMoviePlayerController 播放 youtube 视频

    node.js - 下载youtube播放列表

    c# - 将视频上传到特定 channel /Youtube