0

我正在尝试使用 Python 的请求测试 TomTom 的 API Matrix Routing v2 -> Synchronous Matrix (documentation here )。

这是我的代码,使用文档中的示例:

import requests

apiKey      = 'add_api_key_here'
apiURL      = f'https://api.tomtom.com/routing/matrix/2?key={apiKey}'

post_params = {
                  "origins": [
                    {
                      "point": {"latitude": 36.98844, "longitude": -121.97482}
                    }
                  ],
                  "destinations": [
                    {
                      "point": {"latitude": 34.13007, "longitude": -118.228610}
                    }
                  ],
                  "options": {
                    "traffic": "historical",
                    "travelMode": "truck",
                    "vehicleCommercial": True
                  }
              }

headers = {'Content-Type' : 'application/json' }
resp = requests.post(apiURL, data=post_params, headers=headers)

为什么我收到Response [400]错误,说:

{"detailedError":{"code":"BAD_REQUEST","message":"Bad Request","details":[{"code":"MALFORMED_BODY","message":"Could not parse matrix request","target":"postBody"}]}}

肯定有什么我错过了,我根本看不到它。:(

4

1 回答 1

1

没关系,2分钟后我发现了自己的错误:将requests.post中的data=post_params替换为json=post_params。:)

于 2021-10-05T15:03:00.283 回答