我有一个地址列表,需要转换为坐标,Here Geocode API停止在列表中间,并返回"InvalidCredentials"/"PermissionError",这是错误的,因为我的凭据是有效的。
下面的完整错误消息:
<ns2:Error xmlns:ns2="http://www.navteq.com/lbsp/Errors/1" type="PermissionError" subtype="InvalidCredentials"><Details>invalid credentials for </Details></ns2:Error>
然后我检查了我的请求,发现问题不在于凭据,而在于地址文本中的"#"。
错误消息是错误的,如果Here可以专门针对这种情况更改他们的消息,那将非常有帮助。
地址字符串中有"#"可重复:
例如:https://geocoder.api.here.com/6.2/geocode.json?searchtext=1920+River+Rd+57号公寓,+Tucson,+AZ&app_id=:your_app_id&app_code=:your_app_code&gen=9
如果您删除请求中的"#",它将返回200,并且返回成功。还请注意,您可能需要将您的应用程序id和应用程序代码放在上面的url中。
希望这篇文章可以帮助其他有同样问题的人,API开发人员可以看到这一点,并可能更改其返回消息。
"#"需要编码为%23。请参阅URL编码。