2016-06-21 3 views
2

Я попытался использовать flask_oauthlib для доступа к моему twitter api, но все, что я получаю, это ошибка: Не удалось создать токен запроса. Вот код.Щебетать oauth с flask_oauthlib, Не удалось создать токен запроса

 
    from flask_oauthlib.client import OAuth 
    from flask import Flask, url_for, request, jsonify 

    app = Flask(__name__) 
    oauth = OAuth() 

    twitter = oauth.remote_app(
     'twitter', 
     base_url='https://api.twitter.com/1/', 
     request_token_url='https://api.twitter.com/oauth/request_token', 
     access_token_url='https://api.twitter.com/oauth/access_token', 
     authorize_url='https://api.twitter.com/oauth/authorize', 
     consumer_key='dOJjyxB6gxXWTjdtfPUZcZPjl', 
     consumer_secret='im not telling you', 
    ) 


    @app.route('/login') 
    def login(): 
     return twitter.authorize(callback=url_for('authorized', 
                next=request.args.get('next') or request.referrer or None)) 


    @app.route('/authorized') 
    @twitter.authorized_handler 
    def authorized(resp): 
     if resp is None: 
      return 'Access denied: error=%s' % (
       request.args['error'] 
      ) 
     if 'oauth_token' in resp: 
      # session['example_oauth'] = resp 
      print(resp) 
      return jsonify(resp) 
     return str(resp) 


    if __name__ == '__main__': 
     app.run(port=8000, debug=True) 

Это не работает во время использования http://term.ie/oauth/example/client.php, мне удалось получить маркер запроса.

Я вдохновил меня с https://github.com/lepture/example-oauth1-server/blob/master/client.py и http://flask-oauthlib.readthedocs.io/en/latest/client.html

EDIT

Weird факт: я попытался код здесь: https://github.com/lepture/flask-oauthlib/blob/master/example/twitter.py Я не изменил ключ и секрет, и она работала.

Поэтому я попытался изменить их для своих учетных данных, и он прекратил работать. Я действительно не могу понять ...

ответ

1

Хорошо, я нашел проблему. Похоже, что URL-адрес обратного вызова является обязательным при использовании flask-oauthlib. Поэтому я добавил поддельный, так как я все еще на localhost, и он решил эту проблему.

+0

Благодарим за обмен опытом :) – Nabin

Смежные вопросы