我遵循的 API 說明表明我應該執行以下操作:
# Log in with a valid username and password to receive an authorization code.
curl -X POST "https://api.sensorpush.com/api/v1/oauth/authorize" -H "accept: application/json" -H "Content-Type: application/json" -d @- <<BODY
{ "email": "[email protected]", "password": "abc123" }
BODY
我對 curl 請求不是很熟悉。在做了一些研究之后,我用 Python 將其重寫為:
import requests
from requests.structures import CaseInsensitiveDict
url = "https://api.sensorpush.com/api/v1/oauth/authorize"
headers = CaseInsensitiveDict()
headers["Content-Type"] = "applications/json"
data = "@- <<BODY { 'email': '[email protected]', 'password': 'abc123' } BODY"
resp = requests.post(url, headers=headers, data=data)
print(resp.status_code)
我希望收到一個授權碼,但它回傳的只是“412”(插入了正確的電子郵件和密碼)。這個錯誤代碼告訴我訪問被拒絕,所以我想知道我的 Python 代碼有什么不正確的地方?
uj5u.com熱心網友回復:
你可以試試這個,看看它是否有效?
import requests
import json
url = "https://api.sensorpush.com/api/v1/oauth/authorize"
headers = {'Content-Type':'application/json', 'accept':'application/json'}
data = { "email": "[email protected]", "password": "abc123" }
data = json.dumps(data)
r = requests.post(url, data=data, headers=headers)
print(r.json())
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/425894.html
