gpt4 book ai didi

python - 如何从重定向 URL 获取访问 token

转载 作者:行者123 更新时间:2023-12-01 06:49:20 24 4
gpt4 key购买 nike

我想从 Spotify 获取访问 token 。我从 Spotify 得到了一些:

https://example.com/callback#access_token=NwAExz...BV3O2Tk&token_type=Bearer&expires_in=3600&state=123

我在地址栏中看到了它。其中 https://example.com/callback 是我的网站,access_token 需要值。如何获得?

我尝试这样做,但得到None

print(flask.request.args.get('access_token'))

完整代码

import flask 
app = flask.Flask(__name__)

@app.route("/")
def render_index():
return flask.render_template('index.html')

@app.route("/redirect_spotify_token", methods = ['POST'])
def redirect_spotify_token():
return flask.redirect('https://accounts.spotify.com/authorize?...')

@app.route("/callback/spotify_token", methods = ['POST', 'GET'])
def callback_token():
#
# how to get access token?
#
return 'ok'

if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080)

最佳答案

我通过服务repl.it来完成我的项目。也许这就是为什么我无法像这样读取请求的参数

flask.request.args.get('access_token')

解决方案

从 Spotify 重定向到 /callback_token。在这种情况下,函数参数 tokenNone。我的页面callback_token.html正在解析url并使用token重定向到callback_token()

ma​​in.py

@app.route("/callback_token")
@app.route("/callback_token/<token>")
def callback_token(token=None):
if token is None:
return render_template('callback_token.html')
else:
#logic with token
return redirect(url_for('index'))

callback_token.html 使用 JavaScript

var parsedHash = new URLSearchParams(
window.location.hash.substr(1)
);
location.href = `your_url.com/callback_token/${parsedHash.get('access_token')}`

关于python - 如何从重定向 URL 获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59094131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com