我试图用Python和Flask访问MeisterTask的API,不管我做什么,我似乎总能从API得到302代码作为回报,尽管我可以得到一个访问令牌(或者我认为是这样)。以下是我迄今为止的代码(我试着减少它,这是我能得到的复制错误的最小片段):
from flask import Flask, redirect, url_for, session, request, jsonify
from flask_oauthlib.client import OAuth
app = Flask(__name__)
app.debug = True
app.secret_key = "development"
oauth = OAuth(app)
meistertask = oauth.remote_app(
'meistertask',
consumer_key= "XXXXXX",
consumer_secret= "XXXXXX",
request_token_params={"scope" : "meistertask"},
base_url='https://www.meistertask.com/api',
request_token_url=None,
access_token_method='GET',
access_token_url='https://www.mindmeister.com/login/oauth2/token',
authorize_url='https://www.mindmeister.com/oauth2/authorize'
)
@app.route('/')
def index():
if 'meistertask_token' in session:
me = meistertask.get('user')
return jsonify(me.data)
return redirect(url_for('login'))
@app.route('/login')
def login():
return meistertask.authorize(callback=url_for('authorized', _external=True))
@app.route('/logout')
def logout():
session.pop('meistertask_token', None)
return redirect(url_for('index'))
@app.route('/login/authorized')
def authorized():
resp = meistertask.authorized_response()
print(resp.get('code'))
if resp is None or resp.get('code') is None:
return 'Access denied: reason=%s error=%s resp=%s' % (
request.args['error'],
request.args['error_description'],
resp
)
session['meistertask_token'] = (resp['code'], '')
return "Hello"
@meistertask.tokengetter
def get_meistertask_oauth_token():
return session.get('meistertask_token')
if __name__ == "__main__":
app.run()
这是回溯:
^{pr2}$那有什么关系?下一步是什么?我已经没有东西可以试了。感谢您抽出时间来解决这个问题!
目前没有回答
相关问题 更多 >
编程相关推荐