如何使用box.com java sdk进行自动身份验证

如何使用box.com java sdk进行自动身份验证,java,sdk,box-api,box,Java,Sdk,Box Api,Box,我的问题与这篇文章类似: 在那篇文章中,他问道: 我已被授予访问(协作)文件夹的权限。我需要的是每天访问该文件夹并从中获取文件。现在,我生成的开发者令牌将在1小时后过期。有没有一种方法可以在没有第一段代码的情况下获得授权代码,这需要一个用户界面。这样,每当我获取文件时,我都可以刷新访问托克 “Skippy Ta”中评分最高的答案告诉了我大部分我需要知道的,除了以下内容: 如何使用开发者令牌进行身份验证以及如何刷新?从我下载的HelloWorld示例应用程序()的github repo中,我看到

我的问题与这篇文章类似:

在那篇文章中,他问道:

我已被授予访问(协作)文件夹的权限。我需要的是每天访问该文件夹并从中获取文件。现在,我生成的开发者令牌将在1小时后过期。有没有一种方法可以在没有第一段代码的情况下获得授权代码,这需要一个用户界面。这样,每当我获取文件时,我都可以刷新访问托克

“Skippy Ta”中评分最高的答案告诉了我大部分我需要知道的,除了以下内容:

如何使用开发者令牌进行身份验证以及如何刷新?从我下载的HelloWorld示例应用程序()的github repo中,我看到了以下两个步骤:

boxClient.authenticate(boxOAuthToken); 
用于初始身份验证,以及

boxClient.addOAuthRefreshListener(new OAuthRefreshListener() {
    @Override
    public void onRefresh(IAuthData newAuthData) {
        // TODO: Update the stored access token.
    }
});
为了刷新

我很难把所有这些放在一起。首先,authenticate方法不接受字符串boxOAuthToken,它接受IAuthData对象,不管它是什么。因此,我无法进行初始身份验证

即使我要实现初始身份验证,我也无法刷新,因为我不知道在身份验证后如何访问令牌以存储它,如果我将该令牌存储为字符串,我也不知道如何将其包装在适当的对象中并执行

// TODO: Update the stored access token.

以上评论。感谢您提供的帮助。

您可以查看javafx登录UI:

但无论如何,如果您需要从access token和refresh token构建BoxOAuthToken对象并从中进行身份验证,您可以执行以下操作:

HashMap<String, String> tokenMap = new HashMap<String, String>();
tokenMap.put("access_token", access);
tokenMap.put("refresh_token", refresh);
BoxOAuthToken token = new BoxOAuthToken(tokenMap);
boxClient.authenticate(token);
HashMap-tokenMap=newhashmap();
tokenMap.put(“access_token”,access);
tokenMap.put(“刷新令牌”,刷新);
BoxOAuthToken=新的BoxOAuthToken(tokenMap);
验证(令牌);
至于刷新,sdk会自动刷新。你唯一需要担心的是当你的应用程序退出时,你需要保持身份验证。此时,您可以保存oauth令牌。刷新侦听器用于为您更新oauth令牌,因此在需要保存oauth out时,您拥有最新的oauth数据