[英]python requests not recognizing params
我正在請求 mindbodyapi 使用 requests 庫使用以下代碼獲取令牌
def get_staff_token(request):
URL = "https://api.mindbodyonline.com/public/v6/usertoken/issue"
payload = {
'Api-Key': API_KEY,
'SiteId': "1111111",
'Username': 'user@xyz.com',
'Password': 'xxxxxxxx',
}
r = requests.post(url=URL, params=payload)
print(r.text)
return HttpResponse('Done')
給出如下回應
{"Error":{"Message":"Missing API key","Code":"DeniedAccess"}}
但是,如果我要求按照以下方式工作,任何人都可以告訴我,我在上面的代碼中做錯了什么。
conn = http.client.HTTPSConnection("api.mindbodyonline.com")
payload = "{\r\n\t\"Username\": \"username\",\r\n\t\"Password\": \"xxxxx\"\r\n}"
headers = {
'Content-Type': "application/json",
'Api-Key': API_KEY,
'SiteId': site_id,
}
conn.request("POST", "/public/v6/usertoken/issue", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
在第二個中,您在標頭中傳遞 API 密鑰,並在請求正文中傳遞憑據。 首先,您將 API 密鑰和憑據一起發送到查詢字符串中,而不是請求正文中。 請參閱requests.request()
文檔
只需使用第二個代碼中的兩個字典和正確的關鍵字,我認為它應該可以工作:
def get_staff_token(request):
URL = "https://api.mindbodyonline.com/public/v6/usertoken/issue"
payload = {
'Username': 'user@xyz.com',
'Password': 'xxxxxxxx',
}
headers = {
'Content-Type': "application/json",
'Api-Key': API_KEY,
'SiteId': "1111111",
}
r = requests.post(url=URL, data=payload, headers=headers)
print(r.text)
return HttpResponse('Done')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.