bonjour,
je suis entrain de devlopper une application facebook en utlisant flask framework, j'arrive pas à faire fonctionner facebook connect en utilisant (oauth)
voici le message d'érreur :
Given URL is not allowed by the Application configuration.: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.
voici le code source :
import os
from flask import Flask, render_template, send_from_directory
#----------------------------------------
# initialization
#----------------------------------------
app = Flask(__name__)
app.config.update(
DEBUG = True,
)
#----------------------------------------
# controllers
#----------------------------------------
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'), 'ico/favicon.ico')
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
@app.route("/")
def index():
return render_template('index.html')
#----------------------------------------
# facebook authentication
#----------------------------------------
from flask import url_for, request, session, redirect
from flask_oauth import OAuth
FACEBOOK_APP_ID = '***'
FACEBOOK_APP_SECRET = '*****'
app.secret_key = 'dev_key'
oauth = OAuth()
facebook = oauth.remote_app('facebook',
base_url='https://graph.facebook.com/',
request_token_url=None,
access_token_url='/oauth/access_token',
authorize_url='https://www.facebook.com/dialog/oauth',
consumer_key=FACEBOOK_APP_ID,
consumer_secret=FACEBOOK_APP_SECRET,
request_token_params={'scope': ('email')}
)
@facebook.tokengetter
def get_facebook_token():
return session.get('facebook_token')
def pop_login_session():
session.pop('logged_in', None)
session.pop('facebook_token', None)
@app.route("/facebook_login")
def facebook_login():
return facebook.authorize(callback=url_for('facebook_authorized',
next=request.args.get('next'), _external=True))
@app.route("/facebook_authorized")
@facebook.authorized_handler
def facebook_authorized(resp):
next_url = request.args.get('next') or url_for('index')
if resp is None or 'access_token' not in resp:
return redirect(next_url)
session['logged_in'] = True
session['facebook_token'] = (resp['access_token'], '')
return redirect(next_url)
@app.route("/logout")
def logout():
pop_login_session()
return redirect(url_for('index'))
#----------------------------------------
# launch
#----------------------------------------
if __name__ == "__main__":
app.run()
Partager