Home Status code from Graph API after successful communication
Reply: 0

Status code from Graph API after successful communication

user43166
1#
user43166 Published in September 20, 2018, 4:33 pm

my Facebook messenger based Echo-bot gives a wrong status code. Though the end user(admin until now) receives the accurate echoed message, the feedback my webhook receives gives from Graph API is:

{"error":{"message":"(#100) No matching user found","type":"OAuthException","code":100,"error_subcode":2018001,"fbtrace_id":"Fan1swU4dF8"}}

Even after much reviewing and surfing, I haven't been able to find out the problem with my webhook code.Below it is:

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)

PS. I am a noob so a proper description or a link will be really helpful for me to know the flaw.

share|improve this question

active oldest votes

Your Answer

StackExchange.ifUsing("editor", function () { StackExchange.using("externalEditor", function () { StackExchange.using("snippets", function () { StackExchange.snippets.init(); }); }); }, "code-snippets"); StackExchange.ready(function() { var channelOptions = { tags: "".split(" "), id: "1" }; initTagRenderer("".split(" "), "".split(" "), channelOptions); StackExchange.using("externalEditor", function() { // Have to fire editor after snippets, if snippets enabled if (StackExchange.settings.snippets.snippetsEnabled) { StackExchange.using("snippets", function() { createEditor(); }); } else { createEditor(); } }); function createEditor() { StackExchange.prepareEditor({ heartbeatType: 'answer', convertImagesToLinks: true, noModals: false, showLowRepImageUploadWarning: true, reputationToPostImages: 10, bindNavPrevention: true, postfix: "", onDemand: true, discardSelector: ".discard-answer" ,immediatelyShowMarkdownHelp:true }); } });
 
StackExchange.ready( function () { StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f48748863%2fstatus-code-from-graph-api-after-successful-communication%23new-answer', 'question_page'); } );

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged facebook facebook-graph-api python-requests facebook-messenger-bot facebook-webhooks or ask your own question.

StackExchange.ready(function(){$.get('/posts/48748863/ivc/af20');});
StackExchange.ready(function () { StackExchange.responsiveness.addSwitcher(); }) (function(i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m); })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); StackExchange.ready(function () { StackExchange.ga.init({ sendTitles: true, tracker: window.ga, trackingCodes: [ 'UA-108242619-1' ] }); StackExchange.ga.setDimension('dimension2', '|facebook|facebook-graph-api|python-requests|facebook-messenger-bot|facebook-webhooks|'); StackExchange.ga.setDimension('dimension3', 'Questions/Show'); StackExchange.ga.trackPageView(); }); /**/ var _qevents = _qevents || [], _comscore = _comscore || []; (function() { var ssl = 'https:' == document.location.protocol, s = document.getElementsByTagName('script')[0], qc = document.createElement('script'); qc.async = true; qc.src = (ssl ? 'https://secure' : 'http://edge') + '.quantserve.com/quant.js'; s.parentNode.insertBefore(qc, s); _qevents.push({ qacct: "p-c1rF4kxgLUzNc" }); /**/ var sc = document.createElement('script'); sc.async = true; sc.src = (ssl ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js'; s.parentNode.insertBefore(sc, s); _comscore.push({ c1: "2", c2: "17440561" }); })();
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.309068 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO