我在Google开发人员控制台上为我的行车路线要求创建了一个新的API密钥。当我使整个密钥不受限制时,服务器将用所需的信息响应我的请求。
但是很明显,我不能让密钥不受限制,所以我首先添加了调试密钥库的SHA1指纹。这直接来自运行Android Studio的签名报告。我也可以从终端生成相同的信息:
Variant: debug
Config: debug
Store: /Users/me/.android/debug.keystore
Alias: AndroidDebugKey
MD5: XXXXX
SHA1: 70:57:A8:11:11:11::11:11:11:11:11:11:11:11:11:11:85:29:EA
SHA-256: XXXXXX
Valid until: Wednesday, October 21, 2048
开发控制台中的屏幕截图:
Charles的网络请求和响应:
https://maps.googleapis.com/maps/api/directions/json?&origin=40.07000,-105.18000&destination=39.70221,-104.97711&arrival_time=1580569200000&key=AIzaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXfYBw
{
"error_message": "This IP, site or mobile application is not authorized to use this API key. Request received from IP address 73.229.XXX.XXX, with empty referer",
"routes": [],
"status": "REQUEST_DENIED"
}
我看不到我在做什么错。感谢您的帮助。
您是否尝试直接发出HTTPS请求?还是使用相关的Google SDK?在第一种情况下,您不能使用包ID来过滤请求,因为您是直接发出HTTP请求。如果您使用的是Google SDK,请在使用“方向”服务的地方共享代码段。