gpt4 book ai didi

java - 无法重定向到 DropBox 登录页面

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

我正在将 DropBox 集成到基于 Java 的应用程序中。以下代码在独立模式下执行时工作正常。

private String APP_KEY = "APP_KEY";
private String APP_SECRET = "APP_SECRET";
private AccessType ACCESS_TYPE = AccessType.APP_FOLDER;

AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
WebAuthSession session = new WebAuthSession(appKeys, ACCESS_TYPE);


WebAuthInfo authInfo = session.getAuthInfo("callbackURL");

RequestTokenPair pair = authInfo.requestTokenPair;
String url = authInfo.url;
Desktop.getDesktop().browse(URL(url).toURI());
session.retrieveWebAccessToken(pair);

AccessTokenPair tokens = session.getAccessTokenPair();

在独立模式下,这段代码将我重定向到 DropBox 登录页面,用户将授权该应用程序,然后控件返回到“callbackURL”中提到的页面。

当我实际运行我的网站时,我使用相同的补丁。我有一个链接,上面写着“现在链接到 DropBox”。单击该链接后,控制权将通过 REST 调用传递到服务器以执行上述代码。但它卡在了代码行,

Desktop.getDesktop().browse(URL(url).toURI());

当获取authInfo()所需的所有参数都正确传递时。

我无法确定我哪里出了问题。任何帮助将不胜感激。

最佳答案

由于您是一个网络应用程序,因此您无法调用 Desktop.getDesktop() (这仅在桌面应用程序的上下文中有意义)。

您应该将用户重定向到 Dropbox(即您在语句 authInfo.url 中收到的 URL),使用类似 response.sendRedirect("callbackURL"); 的内容。或在客户端使用 JavaScript 设置 href一个链接。

然后,Dropbox 会将用户重定向回您的应用(即您指定为“callbackURL”的 URL),您应该在其中使用 servlet 解析 Dropbox 的响应( more info here - 采取查看“RETURNS”部分),然后获取 _access_token_ ( as described here )。
(此时您可能希望将其与其余必要数据一起存储在某个地方(例如在 session 范围内)。)

关于java - 无法重定向到 DropBox 登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16579503/

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