DropBox SDK 由于 "invalid_access_token" 而失败
DropBox SDK failing due to "invalid_access_token"
我正在为我的 C#.net 桌面应用程序使用 Dropbox.API Nuget(最新版本 6.26.0)。
我通过使用 client_id:
请求授权来获取 DropBox 访问令牌
var requestUrl = $"https://www.dropbox.com/oauth2/authorize?client_id={_appKey}&response_type=code";
我在没有 redirect_url 的情况下调用它,因此它向我显示了一个带有访问令牌的网页。这是我用于其他 SDK API 调用的访问令牌。
我从中得到的响应包括一个 URL,它允许我确认并批准身份验证请求,然后它会向我提供一个访问令牌字符串。
然后我获取该访问令牌并使用它来初始化 DropboxClient。
var client = new DropboxClient(AccessToken)
其中AccessToken确实是访问令牌字符串(已确认)。
现在很奇怪,我在尝试创建 DropboxClient 实例时收到无效访问令牌异常。
问题:
好像我错过了就在我眼皮底下的东西。我是什么
做错了吗?
请注意,有一个线程,https://github.com/dropbox/dropbox-sdk-java/issues/113,但它导致死胡同。
另请注意,几天前我的这个工作还不错。现在突然间它不起作用了。我按照以下文档让它工作:https://developers.dropbox.com/oauth-guide
.
我找到了答案。我将其归咎于 DropBox 糟糕的文档。
基本上,我一直在使用的“访问令牌”实际上是“授权令牌”,这是我需要用来获取实际访问令牌的东西(通过https://api.dropboxapi.com/oauth2/token)。
对我有用的解决方案:
- 打电话给https://www.dropbox.com/oauth2/authorize。
- 打开第 1 步的响应提供的 URL。
- 复制第 2 步 URL 提供的 AUTH TOKEN。
- 使用从第 3 步复制的授权令牌调用 https://api.dropboxapi.com/oauth2/token 来获取访问令牌。
- 使用 DropBox SDK 调用 DropBox API 并传入从第 4 步获得的访问令牌。
我正在为我的 C#.net 桌面应用程序使用 Dropbox.API Nuget(最新版本 6.26.0)。 我通过使用 client_id:
请求授权来获取 DropBox 访问令牌var requestUrl = $"https://www.dropbox.com/oauth2/authorize?client_id={_appKey}&response_type=code";
我在没有 redirect_url 的情况下调用它,因此它向我显示了一个带有访问令牌的网页。这是我用于其他 SDK API 调用的访问令牌。
我从中得到的响应包括一个 URL,它允许我确认并批准身份验证请求,然后它会向我提供一个访问令牌字符串。
然后我获取该访问令牌并使用它来初始化 DropboxClient。
var client = new DropboxClient(AccessToken)
其中AccessToken确实是访问令牌字符串(已确认)。
现在很奇怪,我在尝试创建 DropboxClient 实例时收到无效访问令牌异常。
问题: 好像我错过了就在我眼皮底下的东西。我是什么 做错了吗?
请注意,有一个线程,https://github.com/dropbox/dropbox-sdk-java/issues/113,但它导致死胡同。
另请注意,几天前我的这个工作还不错。现在突然间它不起作用了。我按照以下文档让它工作:https://developers.dropbox.com/oauth-guide
.
我找到了答案。我将其归咎于 DropBox 糟糕的文档。 基本上,我一直在使用的“访问令牌”实际上是“授权令牌”,这是我需要用来获取实际访问令牌的东西(通过https://api.dropboxapi.com/oauth2/token)。
对我有用的解决方案:
- 打电话给https://www.dropbox.com/oauth2/authorize。
- 打开第 1 步的响应提供的 URL。
- 复制第 2 步 URL 提供的 AUTH TOKEN。
- 使用从第 3 步复制的授权令牌调用 https://api.dropboxapi.com/oauth2/token 来获取访问令牌。
- 使用 DropBox SDK 调用 DropBox API 并传入从第 4 步获得的访问令牌。