【问题标题】:Using OAuth2 in dropbox API在 Dropbox API 中使用 OAuth2
【发布时间】:2018-03-12 09:42:27
【问题描述】:

我在我的 Java 桌面应用程序中使用 Dropbox API。我通过重定向到 localhost 来实现授权过程以获取访问令牌。
到目前为止一切正常,但如果我稍后尝试连接到 Dropbox 以共享一些文件,则会引发异常:

com.dropbox.core.DbxException$BadRequest: {"error": "v1_retired"}

所以我认为检索到的访问令牌只是一个 OAuth1 令牌。在 API 包中,我找到了一个 OAuth1Upgrader 来转换令牌。但这似乎有点太复杂了。
所以我的问题是:有没有办法在授权过程中立即获取 OAuth2 令牌?

【问题讨论】:

    标签: java api oauth


    【解决方案1】:

    Dropbox 于 9 月 28 日弃用了他们的 v1 API(请参阅this post)。从那天到 v1 端点的所有 API 调用都会返回 400 错误并显示以下消息:

    {“错误”:“v1_retired”}

    就像这里发生的那样。

    他们发布了迁移指南here。通读它,您可能正在使用的 v1 端点和您应该能够用来获取 OAuth2 令牌的 v2 端点之间存在映射:

    /1/oauth2/authorize:/oauth2/authorize

    【讨论】:

    • 但是我怎样才能为 API 调用进行这种映射呢?我正在使用 DbxRequestConfig、DbxClient、DbxEntry 等类。
    • 你有他们的 v2 API 的 SDK 吗?这是它的 GitHub 存储库:github.com/dropbox/dropbox-sdk-java.
    • 是的,我知道这个存储库,但我读过一些关于 Android 和 Google App Engine 等的内容,所以我认为这个 API 仅适用于 Android 应用程序。这是错的吗? API 是为 Android 和桌面应用程序构建的吗?
    • 它应该适用于两者,因为它是用 Java 编写的。我搜索了他们的存储库,没有单独的 Android SDK。
    • 好的,那我试试。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多