我正在使用此代码
import urllib
import json
import requests
base_url = 'https://api.yomdam.com/1.0/stats/log'
headers = { "Content-type": "application/json",
"Accept": "*/*",
"YOMDAM-API-KEY":"1303-M0G7-AA8D-WWDN-MM7W-XXXX"}
message ={"log_payload": {"activity": "TEST","date": 1444403649404,"Key1": "Value1","Key2": "Value2"}}
r = requests.post(base_url, headers=headers, params = json.dumps(message))
我一直在
{“message”:“缺少输入数据。必填项:[u'log_payload']”}
我在chrome上使用Postman尝试了相同的请求并且它有效,我不知道为什么代码不起作用。
答案 0 :(得分:1)
您可能应该使用data
关键字参数进行requests.post
调用,即:
r = requests.post(base_url, headers=headers, data=json.dumps(message))
这样json最终会在帖子体内而不是在URL中。
修改强>
如下所述,经过验证here,您可以简化对以下内容的调用:
r = requests.post(base_url, headers=headers, json=message)