gpt4 book ai didi

android - 此 IP、站点或移动应用程序无权使用此 API key - Android 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:14 25 4
gpt4 key购买 nike

我试图将我的 Android API key (用于 Google Maps Direction API)的使用限制为使用我的 SHA-1 指纹签名的 Android 应用程序。当我不在 Google Developers Console 的凭据下“添加包名称和指纹”时, key 将正常工作。但是当我添加它们时出现这个错误:

W/System.err: com.google.maps.errors.RequestDeniedException: This IP, site or mobile application is not authorized to use this API key. Request received from IP address XX.XX.XXX.XXX, with empty referrer

为解决此错误而给出的大部分答案都是针对 Places API 的,并通过切换到服务器 API key 来解决它。我需要使用 Android key 并想限制该 key 的用户。

我注意到的要点:

  1. Google 确实识别出我使用的是有效的 API key 。
  2. Google 确实识别出正确的 SHA-1 签名,如果我使用无效的 API key ,Google 将显示签名错误。

任何帮助将不胜感激!

最佳答案

如您所见,只要不安全,任何 API key 都可以在此处使用,但安全的 Android API key 不适用于 Google Maps Directions API。

很简单,您需要为 Directions API(或任何网络服务 API)使用服务器 API key 。

来自 the documentation: :

The Google Maps Directions API will only work with a Server key.

原因是这些网络服务 API 最初旨在用于网站,而不是 Android 应用。

此外,保护服务器 key 的唯一方法是使用 IP 地址,因此无法在客户端进行。

Google 的官方建议是使用应用向其发出请求的代理服务器,并从代理服务器发出 Directions API 请求。

请参阅此处(这是特定于 Places 网络服务 API,但对任何网络服务 API 都有效):https://groups.google.com/forum/#!topic/google-places-api/SmujrL-pDpU

Google 员工的回应:

Alexey,

Anything stored client side is compromisable, even with obfuscating, you are only making it somewhat slower for a dedicated hacker to access.

I would suggest you set up your application to send your Places requests without the API Key to a proxy server to receive the request, append the API Key to the end of the request, send the request, and then receive and return the response from the request to your application.

Cheers,

Chris

关于android - 此 IP、站点或移动应用程序无权使用此 API key - Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com