所以我对 Flask 还很陌生,我正在努力思考一件事。因此,如果我很好地理解,当您在 Flask 应用程序中编写函数并在该函数中使用 @app.route 装饰器时,它仅在您点击该路径/url 时运行。
我有一个用 Flask 编写的小型 oauth 应用程序,它会遍历所有授权流程,然后返回令牌。
我的问题是如何从 @decorated 函数获取该令牌?例如,假设我有这样的东西:
@app.route(/token/)
def getToken(code): #code from the callback url.
#/Stuff to get the Token/
#/**********************/
return token
Run Code Online (Sandbox Code Playgroud)
如果我点击 (/token/) url 路径,该函数将返回令牌。但现在我需要获取该令牌并在另一个函数中使用它来从我刚刚获取令牌的 API 中写入和读取。我最初的想法是这样做:
token = getToken(code)
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,我会收到此错误:
RuntimeError: working outside of request context
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是,如何获取令牌,以便将其作为参数传递给其他函数。
因此,我正在尝试使用 Spotify Web API 构建授权流程。因此,第一个调用只是针对 URL 的 GET,我正在传递授权我的应用程序所需的凭据和其他内容作为参数。之后,系统会提示用户授权我的应用程序,然后将其重定向到回调 URL。
我重定向到的 url 包含一些响应数据作为参数,我需要这些数据然后针对 API POST 并检索令牌。
如何检索响应 URL 并访问这些参数?很抱歉这个幼稚的问题。提前致谢。