在ChartMogul API上使用Python请求

时间:2016-11-02 10:31:09

标签: python curl python-requests

我尝试使用ChartMogul的API和Python。由于他们没有客户端库,我需要自己做。这是API示例:

curl -X POST "https://api.chartmogul.com/v1/import/customers" \
     -u YOUR_ACCOUNT_TOKEN:YOUR_SECRET_KEY \
     -H "Content-Type: application/json" \
     -d '{
          "data_source_uuid": "ds_fef05d54-47b4-431b-aed2-eb6b9e545430",
          "external_id": "cus_0001",
          "name": "Adam Smith",
          "email": "adam@smith.com",
          "country": "US",
          "city": "New York"
         }'

这就是我的所作所为:

import requests

url     = "https://api.chartmogul.com/v1/import/customers"
data_source_uuid = "the uuid I get from my api data source"
token = 'my token'
key= 'my key'
payload = {
          "data_source_uuid": data_source_uuid,
          "external_id": "cus_0001",
          "name": "Adam Smith",
          "email": "adam@smith.com",
          "country": "US",
          "city": "New York"
         }

headers = {"Content-Type": "application/json"}
res = requests.post(url,
    auth=(token, key),
    data=payload,
    headers=headers)

但我有一个回复400(错误请求)。这有什么问题?

1 个答案:

答案 0 :(得分:2)

尝试

data=json.dumps(payload),

而不是

data=payload,