TOMTOM api calculateReachableRange 'avoidVignette' 或 'allowVignette'

TOMTOM api calculateReachableRange 'avoidVignette' or 'allowVignette'

我是使用 TOMTOM API 的新手,但我在浏览器中使用示例没有问题,请致电:

https://api.tomtom.com/routing/1/calculateReachableRange/50.97452,5.86605/json/?key=[MYKEY]&timeBudgetInSec=3600

在浏览器中,我得到了带有多边形点的 json 响应。但是在 python 中,我只收到错误消息:

"Invalid request: should contain one of the following elements 'avoidVignette' or 'allowVignette'"

有没有人知道为什么它在浏览器中工作但在 python 代码中使用它时却出现错误?

我的代码:

request_post = requests.post('https://api.tomtom.com/routing/1/calculateReachableRange/50.97452,5.86605/json/?key=[MYKEY]&timeBudgetInSec=3600')

提前致谢

我在@ForceBru 的评论的帮助下弄明白了。 我用 postman 找出问题所在,似乎如果您不直接在浏览器中使用 link 而是将其用作真正的 post 请求,则需要在需要指定的地方给它一个 xml 或 json 正文:

{"avoidVignette": []}

如果您正在使用 json。

如果您将其作为正文放入您的 post 请求中,它应该会非常有效。 工作代码:

requests.post('https://api.tomtom.com/routing/1/calculateReachableRange/50.97452,5.86605/json/?key=[MYKEY]&timeBudgetInSec=3600', json={"avoidVignette": []})

希望这能帮助一些遇到同样错误的人转发。

如果您没有提供任何 POST 参数,您可以使用 GET 方法。

这里是 link 到在线路由 API Explorer - link