0

我正在使用google autocomplete地方api。Google Place API无法在Android上使用密钥

https://maps.googleapis.com/maps/api/place/autocomplete/json?key= “我的Android按键” &输入=毫克%20Ro &成分=国家:

从控制台产生我的重点是Android的关键

我在谷歌API控制台启用API是

Google Places API Web Service 
Google Places API for Android 
Google Maps Android API 

和SHA-1指纹是debug-keystore。 现在的击球,我得到的输出此链接是

{"error_message":"This IP, site or mobile application is not authorized to use this API key. Request received from IP address 122.177.199.201, with empty referer","predictions":[],"status":"REQUEST_DENIED"} 

虽然在服务器密钥的情况下,我得到适当的响应

{"predictions":[{"description":"MG Road Metro Station","id":"9db78081a8f0e59874d51baff0df2c007e8c8dde","matched_substrings":[{"length":2,"offset":0}],"place_id":"ChIJY8G_aiIZDTkRohS7EKRePsw","reference":"CjQkAAAAj-nav4S-WWDQfmK7D5V_uc6XT8s5wZzsKNLQMHA7ucgRD_AGu5uIoxvWlxtpJaAiEhDOj61RTKbD9lK28Seovch6GhSPoMA7WPxS6v8ApRf_q03TtnzzrQ","terms":[{"offset":0,"value":"MG Road Metro Station"}],"types":["transit_station","point_of_interest","establishment","geocode"]},{"description":"M G Road Metro Station, Mehrauli-Gurgaon Road, Sector 28, Gurgaon, Haryana, India","id":"041408b314da313beac2e2016c697a9aba451be8","matched_substrings":[{"length":22,"offset":0}],"place_id":"ChIJATH6EiIZDTkR-aEggPmaDrU","reference":"CmRgAAAAEMJLJnkGwPSnN5BmE7_IU_UTEAxRT83T2IuHGKja7PouwUxH6j6gVzPlWiSi-yPgYH1vEUs_wiLMME2QbSkOBACPdtQmPdjQ5q-BlLxL3d81UOvaD8-jtvgrKOLLF_dPEhCRDuiBXJ90DQMY7ioJsQxnGhSFULVBF754FuwF2LFwzWTvlxmVoQ","terms":[{"offset":0,"value":"M G Road Metro Station"},{"offset":24,"value":"Mehrauli-Gurgaon Road"},{"offset":47,"value":"Sector 28"},{"offset":58,"value":"Gurgaon"},{"offset":67,"value":"Haryana"},{"offset":76,"value":"India"}],"types":["transit_station","point_of_interest","establishment","geocode"]},{"description":"MGF MAll Management, DLF City Mall Parking Road, Sector 28, Gurgaon, Haryana, India","id":"c8e8961eb24684f8fa6457876e0f5c1d7c38b5b9","matched_substrings":[{"length":2,"offset":0}],"place_id":"ChIJS3fMbyIZDTkRkexzrN-6sBg","reference":"CnRhAAAApKaoK6e148xwbkJZGhNXNTTDqStbf3vU5b0udThzC0jcdbtJceqWXcQ-I8U_x838GYjHTLLcNNswfrTu3jYVgnA-evtNfhN1pRKnugpvOAtonL2aEYmxGHQadW3bY8uzf-ERjosRBicEb2HfdoKZPhIQvUrFQqXv67CoiaWqlVqXUxoUBccSCK3csfVr1HA0H2HZOiqEmu8","terms":[{"offset":0,"value":"MGF MAll Management"},{"offset":21,"value":"DLF City Mall Parking Road"},{"offset":49,"value":"Sector 28"},{"offset":60,"value":"Gurgaon"},{"offset":69,"value":"Haryana"},{"offset":78,"value":"India"}],"types":["establishment"]},{"description":"MGF Infratech, Gurgaon, Haryana, India","id":"1b4b1ce2e29a7a8f3b3d07192bf06f7e6f0df84f","matched_substrings":[{"length":2,"offset":0}],"place_id":"ChIJTytQ6hgZDTkR2p2nzYt9tfA","reference":"CkQ1AAAAgAsxqmineUN1diGhpF5khDroggPvicHj5VlegMg-SYKf3ORdoFU5JB9dp5lpRY5byp9LAIx3alsDZ0k4D5QCrxIQXi5gMF1JakSfbAufPMlvcRoUqMmrZiUzEmhdiVxMBneGKFLrmZg","terms":[{"offset":0,"value":"MGF Infratech"},{"offset":15,"value":"Gurgaon"},{"offset":24,"value":"Haryana"},{"offset":33,"value":"India"}],"types":["establishment"]},{"description":"MG Road, National Highway 236, Maruti Housing Colony, Gurgaon, Haryana, India","id":"20c271b151605328170192b769e72e3e9bee6056","matched_substrings":[{"length":2,"offset":0}],"place_id":"ChIJrYoVEyIZDTkRcmM4_rRo_OE","reference":"CmRcAAAAtEh471bANMlFV-mDp2hOSVxW0_XxmNFQEmGXCiuZxvjsLvOcoyMPC0VhOifD7ngb-2rs5cfplaomYupeARu3kKEf6WPBQ170Ge7ZRNscQ1PDx12EvHkm4R7MrUD2F_kZEhBq6yvt7WzJgAkdXholeEObGhTuXqJl41XcSz2dzzksTMsHsU7Nzg","terms":[{"offset":0,"value":"MG Road"},{"offset":9,"value":"National Highway 236"},{"offset":31,"value":"Maruti Housing Colony"},{"offset":54,"value":"Gurgaon"},{"offset":63,"value":"Haryana"},{"offset":72,"value":"India"}],"types":["transit_station","point_of_interest","establishment","geocode"]}],"status":"OK"} 

我无法理解的情景那为什么地方api不适用于Android-Key。请任何人试图解释我。

感谢

+0

您是否使用了Javascript库或Android?....你的服务器密钥的作品,因为这是为网络那么你的服务器密钥将被启用

 StringBuilder sb = new StringBuilder(PLACES_API_BASE+TYPE_AUTOCOMPLETE+OUT_JSON); sb.append("?key=" + API_KEY); sb.append("&types=(cities)"); sb.append("&input=" + URLEncoder.encode(input, "utf8")); 

在这里你必须使用API​​_KEY是服务器密钥。 SHA-1指纹和密钥库用于签署您的apk,而不是**用于放入网址。 – Andy

+0

我在Android中使用。对于android键我把sha-1&包名称放在谷歌API控制台中不在URL中。在URL中,我把从api控制台返回的密钥。 –

+0

好吧,你仍然不会把你的android密钥到网址中。 Android密钥适用于Android应用程序。你会把它放在你项目的清单文件中。对于Google地图v3(javascript),您可以使用浏览器密钥或服务器密钥。您可以在Android应用程序中使用v3,因为您仍然可以执行诸如制作http请求和在webviews中加载内容等内容。请注意,它们应该适用于不同的平台。从我的问题中可以看出,没有任何Android相关的必要。 – Andy

回答

0

首先,尝试改变现有的Android按键选择或创建一个没有包名称和指纹限制的新的密钥。如果它的工作,那么你可能有错误的,你包的名称(后缀的.debug自动添加到包在调试版本名称)

也会使您的清单

+0

我试图让没有包名称和指纹的Android键,幸运的是它工作正常。但正如你在这里提到的.debug后缀自动添加,所以我试图添加包.debug后缀,但它不起作用。任何想法? –

+0

在进行调试构建时检查包的名称,并确保您抓取正确密钥的SHA1 –

0

确认您已加入您的Android金钥对于谷歌的API放置API时,它需要服务器密钥。使用sha1指纹创建服务器密钥,并使用该密钥为google放置api。在清单中使用api键。不要弄糊涂API密钥和服务器密钥。在Places API的清单和服务器密钥

enter image description here

采用Android关键。 Afetr创建SERVER键等待5分钟。不ANDROID关键