簡體   English   中英

無法重定向到DropBox登錄頁面

[英]Unable to redirect to DropBox login page

我正在將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()所需的所有參數時。

我無法確定我要去哪里。 任何幫助將不勝感激。

由於您是Web應用程序,因此無法調用Desktop.getDesktop() (僅在桌面應用程序的上下文中才有意義)。

您應該使用response.sendRedirect("callbackURL");類的方法將用戶重定向到Dropbox(即,您在authInfo.url語句中收到的URL response.sendRedirect("callbackURL"); 或在客戶端使用JavaScript設置鏈接的href

然后,Dropbox會將用戶重定向到您的應用程序(即您指定為“ callbackURL”的URL),在那里您應該有一個servlet解析Dropbox的響應( 更多信息,請在“ RETURNS”部分中查看),然后獲取_access_token_( 如此處所述 )。
(那時,您可能希望將其與其余必要數據一起存儲在某個位置(例如,在會話范圍內)。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM