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
我正在使用 FLASK 并使用 QUICKBOOK INTUIT WITH PYTHON
集成 QUickbook Oauthdef 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