405 尝试使用发送消息 API 终结点时出错



我正在使用Python的请求包和以下代码:

APIKEY = "XXX"
url = 'https://services.kommunicate.io/rest/ws/message/v2/send HTTP/1.1'
myobj = {
'groupId': "xxx",
'message':'Hello',
"fromUserName":'yyy'
}
headers = {
'Api-Key':APIKEY,
}
response = requests.post(url, data = myobj,headers=headers)

并给我以下错误:

'{"status":"error","errorResponse":[{"errorCode":"AL-MA-01","description":"method not allowed","displayMessage":"Request method \u0027POST\u0027 not supported"}],"generatedAt":1591385905404}'

我做错了什么?

代码几乎没有问题。
1.HTTP/1.1不是网址的一部分。
2. 在requests包中,为了将 JSON 传递给服务器,有多种方法可以做。

a. 使用requests.post方法中提供的json参数将 JSON 数据发送到服务器,类似于以下代码:

import requests
APIKEY = "XXX"
url = 'https://services.kommunicate.io/rest/ws/message/v2/send'
myobj = {
'groupId': "xxx",
'message': 'Hello',
"fromUserName": 'yyy'
}
headers = {'Api-Key': APIKEY}
response = requests.post(url, json=myobj, headers=headers)

二.在标头中添加"Content-Type": "application/json",然后首先将 json 数据转储到字符串,然后将其发送到服务器。

import requests
import json 
APIKEY = "XXX"
url = 'https://services.kommunicate.io/rest/ws/message/v2/send'
myobj = {
'groupId': "xxx",
'message': 'Hello',
"fromUserName": 'yyy'
}
headers = {
'Api-Key': APIKEY,
"Content-Type": "application/json"
}
myobj = json.dumps(myobj)
response = requests.post(url, data=myobj, headers=headers)

另外,请检查python请求包中的数据和json参数之间的差异

最新更新