gpt4 book ai didi

ruby - token 过期后无法刷新

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:50 26 4
gpt4 key购买 nike

我可以验证并获取 access_token 和相应的 refresh_token(后续 API 交互也可以)。

但是,我似乎只能使用 grant_type=refresh_token 刷新 token (POST/oauth/token) access_token 实际过期之前。过期后,相同的刷新代码(与文档中提供的完全相同)返回,并返回错误 invalid_grant

我正在使用 soundcloud-ruby SDK,FWIW,但我可以通过 curl 重现它。

顺便说一句,我发现一些来自 Google Group 的旧消息提到我可以请求一个不会过期的 token ,但我没有在文档中的任何地方看到这一点。这仍然是一个可行的选择吗?

最佳答案

没错。访问 token 过期后不能使用刷新 token 。

您可以在构造授权 URL 时通过指定 scope=non-expiring 来请求一个不会过期的访问 token 。要使用 Ruby SDK 执行此操作,只需将附加参数传递给 authorize_url 方法:

require 'soundcloud'

client = Soundcloud.new(
:client_id => 'YOUR_CLIENT_ID',
:client_secret => 'YOUR_CLIENT_SECRET',
:redirect_uri => 'REDIRECT_URI'
)

client.authorize_url(:scope => 'non-expiring')

流程的其余部分应该完全相同(从查询字符串中获取“code”参数并向 /oauth2/token 发出一个 POST 请求)。

关于ruby - token 过期后无法刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976912/

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