我们正在从地理编码api的版本2移植到版本3。此公开url有效,但每天仅限2500次请求。我们是商业用户,因此我们需要使用clientId
&网址中还包含signature
个参数。我们有谷歌提供的clientId
,我们正在使用谷歌本身提供的code生成signature
。
注意:版本2要求我们直接使用“密钥”,但在版本中我们需要生成签名并使用而不是密钥!
但在生成签名后&附加clientId&签名到网址,例如
http://maps.googleapis.com/maps/api/geocode/xml?address=27606&sensor=false&client=<OUR_CLIENT_ID>&signature=<SIGNATURE_WE_GENERATE>
我们收到此消息Unable to authenticate the supplied URL. Please check your client and signature parameters.
。
知道我们生成签名的方式有什么问题吗?我们直接使用上面给出的样本签名生成代码。
答案 0 :(得分:0)
实际上我所遵循的步骤是正确的,但是我们用来在google提供的java代码中生成signed_url的'YOUR_PRIVATE_KEY'是不正确的。我们为代码提供了正确的私钥。它生成了一个现在有效的正确签名。
答案 1 :(得分:0)
我曾经遇到同样的错误。
我正在使用2把钥匙 - 一个用于开发(带有引用的浏览器应用程序的密钥:允许任何引用) - 一个用于服务器(具有引用的浏览器应用程序的密钥:referer =我的服务器的域)
有一天,我开始在我的开发VBox上遇到这个错误(无法验证提供的URL),对于一些Gooble API调用(比如路由),但奇怪的是并不是所有的API。 我通过将localhost添加到我的服务器授权的引用者并使用相同的密钥来解决它。刺。 我不能说更多,因为只要我有一个解决方法,了解问题是什么不是我的最高优先级,但我希望这可以帮助您解决自己的问题。