如果收到多条消息,则服务器 未
从Facebook服务器向Webhook请求返回200状态代码。这意味着您发生了错误,否则应返回200。在我看来,问题出在以下几行:
params = {"statusCode": 200,"access_token": os.environment['accesstoken']}headers = {"statusCode": "200","Content-Type": "application/json"}data = json.dumps({"statusCode": "200","recipient": {"id": send_id}, "message": {"text": msg_txt}})首先,您要在消息的数据主体中传递statusCode,根据此文档,消息响应中不应包含该代码。
另一个问题可能是在params中发送状态代码。我将从send_message方法中完全删除状态代码。我怀疑那里需要它。您基本上是想在错误的一端返回状态200。您正在尝试在输出而不是输入上返回它(从Facebook的角度来看)。
因此,很有可能您是从Facebook正确获取消息,但仍返回错误的状态代码,因为您正在从内部消息传递事件中调用send_message方法,而send_message方法应返回状态“
400错误请求”,因为您发送的是错误请求。因此,您的服务器还会返回错误的响应代码。
只要确保您的代码正常工作,并应返回200。
编辑: 所以我会尝试以下代码:
params = {"access_token": os.environment['accesstoken']}headers = {"Content-Type": "application/json"}data = json.dumps({"recipient": {"id": send_id}, "message": {"text": msg_txt}})


