NameError: global name 'qbObject' is not defined

NameError: global name 'qbObject' is not defined

我正在使用 FLASK 并使用 QUICKBOOK INTUIT WITH PYTHON

集成 QUickbook Oauth
def QBConfig():
    qbObject = QuickBooks(
        consumer_key='qyprdgW*********1vZ5yEnwgNQsO',
        consumer_secret='csnHfPP***WDnA*********CIjzfb3MAb4GI',
        callback_url='http://0.0.0.0:10080/QBGetAccesstoken',
    )
    return qbObject


@app.route('/intuitOauth')
def intuitOauth():

    qbObject = QBConfig()
    authorize_url = qbObject.get_authorize_url()
    # will create a service, and further set up the qbObject.
    return redirect(authorize_url)


@app.route('/QBGetAccesstoken')
def QBGetAccesstoken():
    oauth_verifier = request.args.get('oauth_verifier')
    session = qbObject.get_access_tokens(oauth_verifier)

这里intuitauth函数初始化qbObject,它是包含第三方应用密钥配置的对象。

问题是:如何全局访问 qbObject?

当 intuitauth 成功时,调用回调 url (QBGetAccesstoken)。 这是我遇到错误的部分“qbobject 未定义

函数没有写在class中。 调用回调函数时qbobject对象可能会被销毁,谁能猜出确切的问题或解决方案,调用回调函数时如何传递原始对象(调用回调时刷新页面)。

我什至尝试像 session['qbobj'] = qbObject 那样在会话中存储对象,但不幸的是没有成功。

我还尝试在 QBGetAccesstoken 函数中重新初始化对象,例如 qbObject = QBConfig()、returns“None”错误和“AttributeError:'NoneType' 对象没有属性” .

我在全局定义变量时犯了一个愚蠢的错误。它适用于以下代码。

qbObject = QuickBooks(
        consumer_key='qyprdgW*********1vZ5yEnwgNQsO',
        consumer_secret='csnHfPP***WDnA*********CIjzfb3MAb4GI',
        callback_url='http://0.0.0.0:10080/QBGetAccesstoken',
)



@app.route('/intuitOauth')
def intuitOauth():

    authorize_url = qbObject.get_authorize_url()
    # will create a service, and further set up the qbObject.
    return redirect(authorize_url)


@app.route('/QBGetAccesstoken')
def QBGetAccesstoken():
    oauth_verifier = request.args.get('oauth_verifier')
    session = qbObject.get_access_tokens(oauth_verifier)

在定义过程中,从函数中删除qbObject