问题描述
我是 Messenger API 的新手,我想使用 curl post 请求发送消息,这是我的代码:
import requests
ACCESS_TOKEN = an Active access token
fb_url = "https://graph.facebook.com/v10.0/me/messages"
data = {
'recipient': '{"id":4098757906843152}',"message": {
"text": "hello,world!"
},"messaging_type": "MESSAGE_TAG","tag": "ACCOUNT_UPDATE"
}
params = {'access_token': ACCESS_TOKEN}
resp = requests.post(fb_url,params=params,data=data)
print(resp)
不幸的是,我收到了这条消息
解决方法
您需要将 data
更改为 json
。
见https://stackoverflow.com/a/26344315/603756
从 Requests 2.4.2 版本开始,您可以在调用中使用 json= 参数(采用字典)而不是 data=(采用字符串)
import requests
ACCESS_TOKEN = '<access_token>'
fb_url = 'https://graph.facebook.com/v10.0/me/messages'
data = {
'recipient': '{"id":<psid>}',"message": {
"text": "hello,world!"
}
}
params = {'access_token': ACCESS_TOKEN}
resp = requests.post(fb_url,json=data,params=params)
print(resp)