gpt4 book ai didi

box-api - 如何在没有 Box 授权页面的情况下获取访问 token

转载 作者:行者123 更新时间:2023-12-04 10:38:53 40 4
gpt4 key购买 nike

我已被授予访问(协作)文件夹的权限。我需要的是每天访问该文件夹并从中获取文件。现在我生成的开发者 token 将在 1 小时后过期。有什么办法可以得到authorization code没有第一站,它需要一个用户界面。这样,每当我获取文件时,我都可以刷新访问 token 。

最佳答案

您应该能够在不获取授权码的情况下刷新 token 。当访问 token 被发回时,也会向您发出一个刷新 token 。

{
"access_token": "T9cE5asGnuyYCCqIZFoWjFHvNbvVqHjl",
"expires_in": 3600,
"restricted_to": [],
"token_type": "bearer",
"refresh_token": "J7rxTiWOHMoSC1isKZKBZWizoRXjkQzig5C6jFgCVJ9bUnsUfGMinKBDLZWP9BgR"
}

您应该将此刷新 token 存储在安全的地方(钥匙串(keychain)、加密数据存储、类似的东西),并在 session 到期时使用它来刷新 session 。

当您从 Box 收到针对任何 API 请求的 401 Unauthorized 响应并且您看到带有值 Bearer realm= 的 WWW-Authenticate header 时,您可以判断 session 已过期。

流程应该类似于:

1) 登录 Box 并获取授权码

2) 交换一个 ACCESS TOKEN 和 REFRESH TOKEN 对的授权码(这只需要做一次!)

3) 存储刷新 token

4) 开始使用 API 发出请求

5) 当在 API 响应中收到带有 WWW-Authenticate header 的 401 Unauthorized 时,向 Box 发出 www-form-urlencoded POST 请求,如下所示:
curl https://www.box.com/api/oauth2/token \ -d 'grant_type=refresh_token&refresh_token={valid refresh token}&client_id={your_client_id}&client_secret={your_client_secret}' \ -X POST

如果成功,您将获得一个新的访问 token 和刷新 token 对。存储新的刷新 token ,将旧的访问 token 换成新的,然后从之前失败的调用中恢复 API 调用。

希望有帮助!

关于box-api - 如何在没有 Box 授权页面的情况下获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21613359/

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