Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “如何修复”;属性错误:';OAuth2ConsumerBlueprint&x27;对象没有属性';获取'&引用;错误_Python_Api_Oauth 2.0_Basecamp - Fatal编程技术网

Python “如何修复”;属性错误:';OAuth2ConsumerBlueprint&x27;对象没有属性';获取'&引用;错误

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

我正在尝试创建一个链接Basecamp API的应用程序。 我正在使用提供的定制蓝图。

我正在尝试将我的应用重定向到basecamp登录页面,但它指出此错误: AttributeError:'OAuth2ConsumerBlueprint'对象没有属性'get'

如何修复此错误

    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')