facebook - facebook messenger curl 请求返回
问题描述
我是 messenger API 的新手,我想使用 curl 发布请求发送消息,这是我的代码:
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)
不幸的是,我收到此消息 <Response [400]> 任何帮助将不胜感激
解决方案
您需要更改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)
推荐阅读
- python - Drawing circles based on user input
- android - 在android中完全停止并重新启动Vuforia相机,停止工作,但重新启动没有
- r - 用未知替换NA
- java - 在实现带有参数 E e 的方法时如何解决有关超类型的错误?
- reactjs - 当 scrollTop 为零时,在渲染后反应滚动位置
- xpath - Complex XPath axes/where (BizTalk EDI 856 Schema)
- java - Illegal static declaration in inner class while using ActionListener
- typescript - 如何为动态添加的方法定义方法签名?
- docker - Docker is pulling image from remote registry but I want to use a local image
- sql-server - Stored procedure output into Java custom Object using Spring boot and JPA