Box API Provision Grant - 找回丢失的令牌

Box API Provision Grant - Retrieving lost token

提供补助金的文件在页面底部附近说: https://developers.box.com/provision/

"If this token is expired or lost after the initial provisioning request, you can send an authorization code grant to https://api.box.com/oauth2/token with these additional parameters:"(范围、文件夹)。 "Additional parameters" 到底是什么?

我试过以下方法:

https://app.box.com/api/oauth2/token (POST)
grant_type      authorization_code
client_id       <app id>
client_secret   <app secret>
username        user@domain.com
scope           folder_readwrite
folder_id       app_folder
code            ???

表示需要 "code"。我已经尝试了所有作为 "code" 的价值,但似乎无法让它快乐。它只是说 "Auth code doesn't exist or is invalid for the client",我知道它存在,因为拨款告诉我它确实存在。如果有人能写出规范的参数列表和预期的内容,我们将不胜感激!

我知道 "normal" 框授权网络流程涉及代码,但没有与拨款相关联的代码。我需要这个才能工作,因为我已经看到框 api 错误,即使用户成功设置了应用程序文件夹。

我认为如果您无法访问提供授权令牌,您需要让用户登录(这就是为什么您应该尽可能保持刷新)。提供补助金的文件说:

If this token is expired or lost after the initial provisioning request, you can send an authorization code grant to https://api.box.com/oauth2/token... The authorization code grant will require the user to log in to grant your application access again.

要获取授权码,请遵循 OAuth 的正常第一阶段,让用户使用类似以下内容登录:

https://app.box.com/api/oauth2/authorize?response_type=code&client_id=MY_CLIENT_ID

然后从发送到您为应用程序配置的 redirect_uri 的查询参数中提取 code

获得授权码后,您就可以获得新的提供授权访问令牌:

curl https://app.box.com/api/oauth2/token \
-d 'grant_type=authorization_code&code={your_code}&client_id={your_client_id}&client_secret={your_client_secret}&scope=folder_readwrite&folder_id=app_folder' \
-X POST