我试图让FB信使API使用Python的瓶,调整下面的说明工作的Facebook Messenger的:https://developers.facebook.com/docs/messenger-platform/quickstart与瓶
到目前为止,事情已经做得较好。我验证了我的回调,并且能够接收我在我的页面上使用Messenger发送的消息,就像在我的heroku服务器中的日志中指出我的服务器正在接收相应的数据包。现在,我正在努力向客户端发送回应消息,以传递我的应用程序。特别是,我不知道如何从教程瓶执行以下部分:
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);
}
});
}
到目前为止,我在我的服务器端瓶模块该位:
@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代码相同的方式得到很大的赞赏。
谢谢!
“简单地做一个return语句不会返回任何东西给请求者”这是不正确的。 Flask将函数的返回值自动转换为Response对象。 http://flask.pocoo.org/docs/0.10/quickstart/#about-responses –