Android 应用 - 在 RELEASE 模式下访问 YouTube 数据 API
Android app - Access the YouTube Data API in RELEASE mode
我制作了一个 Android 应用程序,它在 调试 模式下运行良好。它使用 YouTube 数据 API 从连接用户的 YouTube 帐户获取一些数据。
一切正常,但是当我制作 release apk 时,将其复制粘贴到我的 Android 设备上并安装,我的应用程序没有访问 YouTube 数据 API。我收到消息 "Access Not Configured. The API (YouTube Data API) is not enabled for your project. Please use the Google Developers Console to update your configuration."
是否有一个步骤可以让发布版本访问与调试模式不同的 Google APIs?我错过了什么?
我认为你应该 app.I 的浏览器密钥有那个错误 google 地图自动完成 example.I 固定使用浏览器密钥。
因此,只需要使用
生成发布 SHA1 足迹
keytool -list -v -keystore ~/pathToYourKeyStore/your_release_key.jks -alias yourKeyAlias -storepass yourStorePassWord
然后将此 SHA1 后跟 ;
和 "Android Applications" 中的包名称添加到我的 public 访问 API 密钥(在 Google 开发者控制台)。
而且,因为我还使用 OAuth,所以我必须使用这个新的 SHA1 证书为应用程序创建一个新的客户端 ID。
然后,等待几分钟(无论如何在我的情况下)。
如何将我的 API 密钥限制为特定的 Android 应用程序?
您可以通过提供调试证书指纹或发布证书指纹将 API 密钥限制到特定 Android 应用程序。
调试证书指纹
对于 Linux 或 macOS:
$
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
对于Windows:
$
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
释放证书指纹
$
keytool -list -v -keystore your_keystore_name -alias your_alias_name
Replace your_keystore_name
使用密钥库的完全限定路径和名称,包括 .keystore 扩展名。将 your_alias_name 替换为您在创建证书时分配给证书的别名。
我制作了一个 Android 应用程序,它在 调试 模式下运行良好。它使用 YouTube 数据 API 从连接用户的 YouTube 帐户获取一些数据。
一切正常,但是当我制作 release apk 时,将其复制粘贴到我的 Android 设备上并安装,我的应用程序没有访问 YouTube 数据 API。我收到消息 "Access Not Configured. The API (YouTube Data API) is not enabled for your project. Please use the Google Developers Console to update your configuration."
是否有一个步骤可以让发布版本访问与调试模式不同的 Google APIs?我错过了什么?
我认为你应该 app.I 的浏览器密钥有那个错误 google 地图自动完成 example.I 固定使用浏览器密钥。
因此,只需要使用
生成发布 SHA1 足迹keytool -list -v -keystore ~/pathToYourKeyStore/your_release_key.jks -alias yourKeyAlias -storepass yourStorePassWord
然后将此 SHA1 后跟 ;
和 "Android Applications" 中的包名称添加到我的 public 访问 API 密钥(在 Google 开发者控制台)。
而且,因为我还使用 OAuth,所以我必须使用这个新的 SHA1 证书为应用程序创建一个新的客户端 ID。
然后,等待几分钟(无论如何在我的情况下)。
如何将我的 API 密钥限制为特定的 Android 应用程序? 您可以通过提供调试证书指纹或发布证书指纹将 API 密钥限制到特定 Android 应用程序。
调试证书指纹 对于 Linux 或 macOS:
$
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
对于Windows:
$
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
释放证书指纹
$
keytool -list -v -keystore your_keystore_name -alias your_alias_name
Replace your_keystore_name
使用密钥库的完全限定路径和名称,包括 .keystore 扩展名。将 your_alias_name 替换为您在创建证书时分配给证书的别名。