首页 文章

如何将OAuth1令牌/密钥对迁移到Dropbox API的OAuth2访问令牌?

提问于
浏览
2

如果用户已经授权我们的OAuth 1应用(因此我们为此用户提供了有效的令牌/密钥对),是否可以获得有效的OAuth 2.0访问令牌,而用户无需再次明确重新授权我们的应用?我知道有些API支持这一点(例如Soundcloud,我认为也是谷歌),但我没有在Dropbox API文档中找到任何与OAuth令牌迁移相关的内容 .

上下文:我们有一个Java应用程序,它使用Scribe OAuth库访问带有OAuth 1.0a的Dropbox API,并希望迁移到仅支持OAuth 2的官方Dropbox Java API(我们不希望让所有用户拥有重新授权我们) .

3 回答

  • 1

    只是因为人们绊倒了这个,现在的API就在那里:https://www.dropbox.com/developers/core/docs#oa2-from-oa1

  • 0

    从他们的Java SDK中,我使用了他们的Upgrader

    DbxOAuth1Upgrader upgrader;
    DbxOAuth1AccessToken oAuth1AccessToken;
    
      try {
          DbxRequestConfig requestConfig = new DbxRequestConfig("Your App", Locale.getDefault().toString());
          DbxAppInfo appInfo = new DbxAppInfo(DROPBOX_APP_KEY, DROPBOX_APP_SECRET);
          upgrader = new DbxOAuth1Upgrader(requestConfig, appInfo);
          oAuth1AccessToken = new DbxOAuth1AccessToken(oauth1AccessKey, oauth1AccessSecret);
          String newToken = upgrader.createOAuth2AccessToken(oAuth1AccessToken);
          upgrader.disableOAuth1AccessToken(oAuth1AccessToken);
          return newToken;
      } catch (Exception e) {
          //deal with it
      }
    

    它在Android中执行此操作,请确保在_1747291内执行此操作,否则会抛出异常以在主线程上执行工作 .

  • 1

    另请参阅Dropbox论坛上的答案:https://forums.dropbox.com/topic.php?id=107766 . 目前,今天没有自动化方式来进行迁移 .

相关问题