gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:34:41 25 4
gpt4 key购买 nike

我的问题与这篇文章类似: How to get an access token without Box’s authorization page

在那篇文章中,他问道:

我已被授予文件夹访问(协作)权限。我需要的是每天访问该文件夹并从中获取文件。现在我生成的开发者 token 将在 1 小时后过期。有没有一种方法可以让我无需第一站即可获得授权码,这需要用户界面。这样我就可以在每次获取文件时刷新访问 token 。

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

如何使用开发者 token 进行身份验证以及如何刷新?从我下载的 HelloWorld 示例应用程序 ( https://github.com/box/box-java-sdk-v2 ) 的 github 存储库中,我看到以下两个步骤:

boxClient.authenticate(boxOAuthToken); 

用于初始身份验证,并且

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

用于刷新。

我无法将所有这些放在一起。首先,authenticate 方法不接受 String boxOAuthToken,它接受 IAuthData 对象,无论它是什么。所以我无法进行初始身份验证。

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

提到的更新
// TODO: Update the stored access token.

上面评论。感谢您提供的任何帮助。

最佳答案

您可以查看javafx登录UI:https://github.com/box/box-java-sdk-v2/tree/master/BoxJavaFxOAuth

但是无论如何,如果您需要从访问 token 和刷新 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);

至于刷新,sdk会自动刷新。您唯一需要担心的是当您的应用程序退出并且您需要保留身份验证时。此时您可以保存 oauth token 。刷新监听器用于为您更新 oauth token ,因此当您需要保存 oauth 时,您将拥有最新的 oauth 数据。

关于java - 如何使用 box.com java sdk 自动进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25692884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com