import os import json import binascii import requests from flask import Flask, request app = Flask(__name__) # Web app to get use a user token from Facebook app_id = "" app_secret = "" redirect_uri = "" def login_uri(client_id, state, version="v2.12"): base = "https://www.facebook.com/{}/dialog/oauth".format(version) scope = ",".join(['manage_pages','publish_pages']) return "{}?client_id={}&redirect_uri={}&state={}&scope={}".format( base, client_id, redirect_uri, state, scope) def get_api_token(code): params = { "client_id":app_id, "client_secret":app_secret, "redirect_uri":redirect_uri, "code":code } print("Yeehah") url = "https://graph.facebook.com/v2.12/oauth/access_token" r = requests.get(url, params=params) return r.json() page = """

Facebook authorize

Click here to authorize this app

""" @app.route("/") def index_page(): state = binascii.b2a_hex(os.urandom(32)) return page.format(login_uri(app_id,state)) @app.route("/auth") def auth_page(): try: code = request.args.get("code") print(get_api_token(code)) return json.dumps({"status":"ok"}) except: return json.dumps({"status":"failure"})