我正在使用dashing.io仪表板,我想在python中使用请求lib发出一个post请求,将数据放入一个小部件中。
但它一直向我发回401错误和无效的API密钥。我不明白为什么,并没有真正区分auth_token和api密钥。
这是我的代码:
import json
import requests
dashboard_url = "http://localhost:3030"
widget_id = 'my_widget_id'
widget_url = dashboard_url + '/widgets/my_widget_id'
data = {'name' : 'thomas','id' : 'bonjour','city' : 'cerfontaine'}
data = json.dumps(data)
headers ={'Content-Type':'application/json', 'Accept':'text/plain',
'Authorization':'XYZ'}
try:
r = requests.post(widget_url, data, headers=headers)
print r.status_code
print r.json()
print r.text
except:
r = requests.post(widget_url, data, headers=headers)
print 'Dashing update failed'
print r.text
我在config.ru中的代码auth_token也是XYZ。 你能帮助我吗?
答案 0 :(得分:2)
您需要在有效负载中包含密钥,而不是标题
data = {
'name' : 'thomas',
'id' : 'bonjour',
'city' : 'cerfontaine',
'auth_token' : YOUR_AUTH_TOKEN_HERE
}
请参阅我的Django示例here