Python请求:传递身份验证令牌

Python请求:传递身份验证令牌,python,curl,python-requests,Python,Curl,Python Requests,我使用的是MailJet的SMS API,但我无法正确使用令牌/身份验证语法 在cURL中,请求应该如下所示(cf): 但我不知道如何将这个短语转换成Python,这是我目前的想法: import requests, json headers = { 'Authorization': 'Bearer ' + 'MYTOKEN', 'Content-Type': 'application/json', } tel='XXXX' message = "this is a messa

我使用的是MailJet的SMS API,但我无法正确使用令牌/身份验证语法

在cURL中,请求应该如下所示(cf):

但我不知道如何将这个短语转换成Python,这是我目前的想法:

import requests, json

headers = {
    'Authorization': 'Bearer ' + 'MYTOKEN',
    'Content-Type': 'application/json',
}
tel='XXXX'
message = "this is a message"
payload= {"From":"Me", "To":tel, "message":message}
r_sms = requests.post("https://api.mailjet.com/v4/sms-send", data=payload, headers=headers)
print("SMS SENT" + str(r_sms.json()))
答复如下:

SMS SENT{'ErrorIdentifier': 'f403ce05-1db3-4c30-ac74-314fa93a9e84', 'ErrorCode': 'mj-0002', 'ErrorMessage': 'Malformed JSON, please review the syntax and properties types.', 'StatusCode': 400}

我知道我的令牌是有效的,因为我可以通过邮递员正确运行请求。您的有效负载是
json
,因此kwarg是
json
,而不是
数据

r_sms = requests.post("https://api.mailjet.com/v4/sms-send", json=payload, headers=headers)
此外,在您的负载中,它看起来应该是
“Text”
而不是
“message”

r_sms = requests.post("https://api.mailjet.com/v4/sms-send", json=payload, headers=headers)