Python “如何修复”;属性错误:';OAuth2ConsumerBlueprint&x27;对象没有属性';获取'&引用;错误
我正在尝试创建一个链接Basecamp API的应用程序。 我正在使用提供的定制蓝图。 我正在尝试将我的应用重定向到basecamp登录页面,但它指出此错误: AttributeError:'OAuth2ConsumerBlueprint'对象没有属性'get' 如何修复此错误Python “如何修复”;属性错误:';OAuth2ConsumerBlueprint&x27;对象没有属性';获取'&引用;错误,python,api,oauth-2.0,basecamp,Python,Api,Oauth 2.0,Basecamp,我正在尝试创建一个链接Basecamp API的应用程序。 我正在使用提供的定制蓝图。 我正在尝试将我的应用重定向到basecamp登录页面,但它指出此错误: AttributeError:'OAuth2ConsumerBlueprint'对象没有属性'get' 如何修复此错误 from flask import Flask, url_for, request, jsonify, session, redirect from flask_dance.consumer impor
from flask import Flask, url_for, request, jsonify, session, redirect
from flask_dance.consumer import OAuth2ConsumerBlueprint
from flask_oauthlib.client import OAuth
app = Flask(__name__)
oauth = OAuth()
basecamp = OAuth2ConsumerBlueprint(
"basecamp", __name__,
client_id="",
client_secret="",
base_url="",
token_url="https://launchpad.37signals.com/authorization/token",
authorization_url='https://launchpad.37signals.com/authorization/new?type=web_server',
)
app.register_blueprint(basecamp, url_prefix='/basecamp_login')
@app.route('/basecamp')
def basecamp_login():
if not basecamp.authorized:
return redirect(url_for('basecamp.base_url'))
account_info = basecamp.get('/email_address')
if account_info.ok:
account_info_json = account_info.json()
return '<h1>Your basecamp email address is{}'.format()
if __name__ == '__main__':
app.run(debug=True)
来自flask导入flask、url\u for、请求、jsonify、会话、重定向
来自flask_dance.consumer import OAuth2ConsumerBlueprint
从flask_oauthlib.client导入OAuth
app=烧瓶(名称)
oauth=oauth()
basecamp=OAuth2ConsumerBlueprint(
“大本营”,
客户_id=“”,
客户_secret=“”,
base_url=“”,
令牌\u url=”https://launchpad.37signals.com/authorization/token",
授权https://launchpad.37signals.com/authorization/new?type=web_server',
)
应用程序注册蓝图(basecamp,url\u前缀='/basecamp\u登录')
@应用程序路线(“/basecamp”)
def basecamp_login():
如果未授权basecamp:
返回重定向(url\u for('basecamp.base\u url'))
account\u info=basecamp.get('/email\u address')
如果帐户\ u info.ok:
account\u info\u json=account\u info.json()
返回“您的basecamp电子邮件地址为{}”。格式()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run(debug=True)
如中所述,您需要参考蓝图上的会话
属性以发出HTTP请求。在您的例子中,basecamp.get('/email\u address')
是错误的,因为basecamp
是OAuth2ConsumerBlueprint
对象。您应该调用basecamp.session.get('/email\u address')