Facebook 成功通信后图形API中的状态代码
我的基于Facebook messenger的Echo机器人提供了错误的状态代码。尽管最终用户(目前为止的管理员)收到了准确的回显消息,但我的webhook从Graph API收到的反馈是:Facebook 成功通信后图形API中的状态代码,facebook,facebook-graph-api,python-requests,facebook-messenger-bot,facebook-webhooks,Facebook,Facebook Graph Api,Python Requests,Facebook Messenger Bot,Facebook Webhooks,我的基于Facebook messenger的Echo机器人提供了错误的状态代码。尽管最终用户(目前为止的管理员)收到了准确的回显消息,但我的webhook从Graph API收到的反馈是: {"error":{"message":"(#100) No matching user found","type":"OAuthException","code":100,"error_subcode":2018001,"fbtrace_id":"Fan1swU4dF8"}} 即使在进行了大量的回顾和浏
{"error":{"message":"(#100) No matching user found","type":"OAuthException","code":100,"error_subcode":2018001,"fbtrace_id":"Fan1swU4dF8"}}
即使在进行了大量的回顾和浏览之后,我仍然无法找到我的webhook代码的问题。下面是:
import os, sys
import requests
from flask import Flask, request
import json
from random import random, choice
page_access_token="page_access_code"
chatbot=Flask(__name__)
@chatbot.route('/', methods=['GET'])
def verify():
print("Handling verification...")
if request.args.get('hub.verify_token', '')=='verify_token':
print("Verified!!")
return request.args.get("hub.challenge",'')
else:
print("Wrong request!!")
return "error!!"
@chatbot.route('/', methods=['POST'])
def webhook():
data=request.get_json()
log(data)
if data["object"]=="page":
for entry in data["entry"]:
for things in entry["messaging"]:
if things.get("message"):
s_id= things["sender"]["id"]
r_id= things["recipient"]["id"]
log("Sender id:"+ s_id)
log("Receiver id: "+ r_id)
try:
messaging_text= things["message"]["text"]
send_message(s_id, str(messaging_text))
except:
send_message(s_id, "Sorry!! Couldn't understand that..")
if things.get("delivery"):
log("message delivered..")
elif things.get("optin"):
pass
elif things.get("postback"):
pass
return 'ok', 200
def send_message(r_id, messaging_text):
r_id=str(r_id)
log("sending message to {recipient}: {text}".format(recipient=r_id, text=messaging_text))
params = {
"access_token": page_access_token
}
headers = {
"Content-Type": "application/json"
}
data = json.dumps({
"recipient": {
"id": r_id
},
"message": {
"text": str(messaging_text)
}
})
r = requests.post("https://graph.facebook.com/v2.12/me/messages", params=params, headers=headers, data=data)
if r.status_code != 200:
log(r.status_code)
log(r.text)
def log(message):
print(message)
sys.stdout.flush()
if __name__=="__main__":
chatbot.run(debug=True, port=5000)
另外,我是一个noob,所以一个适当的描述或链接将真正有助于我了解缺陷