【发布时间】:2016-09-28 12:00:37
【问题描述】:
我正在尝试使用 Python 的 Flask 让 FB messenger API 工作,调整以下说明:https://developers.facebook.com/docs/messenger-platform/quickstart
到目前为止,一切进展顺利。我已经验证了我的回调并且能够在我的页面上接收我使用 Messenger 发送的消息,因为在我的 heroku 服务器中的日志中表明我的服务器正在接收适当的数据包。现在我正在努力向发送我的应用程序的客户端发送响应。特别是,我不确定如何在 Flask 中执行教程中的以下部分:
var token = "<page_access_token>";
function sendTextMessage(sender, text) {
messageData = {
text:text
}
request({
url: 'https://graph.facebook.com/v2.6/me/messages',
qs: {access_token:token},
method: 'POST',
json: {
recipient: {id:sender},
message: messageData,
}
}, function(error, response, body) {
if (error) {
console.log('Error sending message: ', error);
} else if (response.body.error) {
console.log('Error: ', response.body.error);
}
});
}
到目前为止,我的服务器端 Flask 模块中有这一点:
@app.route('/', methods=["GET", "POST"])
def chatbot_response():
data = json.loads(req_data)
sender_id = data["entry"][0]["messaging"][0]["sender"]["id"]
url = "https://graph.facebook.com/v2.6/me/messages"
qs_value = {"access_token": TOKEN_OMITTED}
json_response = {"recipient": {"id": sender_id}, "message": "this is a test response message"}
response = ("my response text", 200, {"url": url, "qs": qs_value, "method": "POST", "json": json_response})
return response
但是,运行此程序时,我发现虽然我可以处理某人发送给我的页面的内容,但它不会发回响应(即,在信使聊天框中没有显示任何内容)。我是 Flask 的新手,因此在 Flask 中执行与上面的 Javascript 位等效的任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: python facebook heroku flask facebook-messenger