使用clientId&获取“无法验证提供的URL”身份验证错误谷歌地理编码URL中的签名

时间:2013-02-26 10:32:58

标签: google-geocoding-api

我们正在从地理编码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.

知道我们生成签名的方式有什么问题吗?我们直接使用上面给出的样本签名生成代码。

2 个答案:

答案 0 :(得分:0)

实际上我所遵循的步骤是正确的,但是我们用来在google提供的java代码中生成signed_url的'YOUR_PRIVATE_KEY'是不正确的。我们为代码提供了正确的私钥。它生成了一个现在有效的正确签名。

答案 1 :(得分:0)

我曾经遇到同样的错误。

我正在使用2把钥匙 - 一个用于开发(带有引用的浏览器应用程序的密钥:允许任何引用) - 一个用于服务器(具有引用的浏览器应用程序的密钥:referer =我的服务器的域)

有一天,我开始在我的开发VBox上遇到这个错误(无法验证提供的URL),对于一些Gooble API调用(比如路由),但奇怪的是并不是所有的API。 我通过将localhost添加到我的服务器授权的引用者并使用相同的密钥来解决它。刺。 我不能说更多,因为只要我有一个解决方法,了解问题是什么不是我的最高优先级,但我希望这可以帮助您解决自己的问题。