2012-07-06 86 views
8

我想從與NTLM身份驗證保護我的Android應用的Sharepoint服務器下載文件。我發現了一些教程並且無法成功。安卓下載的NTLM身份驗證保護的文件

我試過使用The Java CIFS Client Library並沒有再次成功。

我調查了這篇文章:Manipulating SharePoint list items with Android (JAVA) and NTLM Authentication但我不想消費一個web服務,我只想下載一個文件。

有什麼建議嗎?

+0

您如何計劃在不使用Web服務的情況下與SharePoint通信?如果沒有,你將不得不建立某種網頁,在那裏你可以得到一個字節數組通過發送所需的信息,如用戶名,密碼和文件名querystring - 會嗎? – 2012-07-13 21:34:57

+0

我有一個像這樣的文件的URL:http://sub.domain.com//FolderName/FileName.docx,我想下載並顯示文件給用戶。當我在瀏覽器中測試它時,它向我詢問用戶名和密碼,然後下載文件。 – OguzOzkeroglu 2012-07-14 07:53:43

+0

我正在做同樣的事情,我成功連接到Sharepoint並獲取文件流,但是您是如何將文件顯示給用戶的? – Gaby 2014-06-16 05:53:47

回答

3

你使用標準的Java java.net.Authenticatorhttp://developer.android.com/reference/java/net/Authenticator.html?如果它不支持NTLM檢查http://developer.android.com/reference/org/apache/http/auth/NTCredentials.html和相關的org.apache.http包。另請參閱博客http://mrrask.wordpress.com/2009/08/21/android-authenticating-via-ntlm/,瞭解如何使用它。在參數

+0

是的,我嘗試了所有這些,但他們不適合我。 – OguzOzkeroglu 2012-07-10 06:44:42

+0

那麼寫錯了什麼。 – 2012-07-10 07:23:21

+0

我無法實現它們。它返回:401 UNAUTHORIZED – OguzOzkeroglu 2012-07-14 14:44:35

3

爲什麼事情

你應該能夠發送URI中的認證複雜化。

URL url = new URL ("http://user:[email protected]/FolderName/FileName.docx"); 

這種技術應與Windows身份驗證和基本身份驗證

+0

401 UNAUTHORIZED – OguzOzkeroglu 2012-07-14 15:07:29

+0

使用可用的帳戶。在5(!)個不同的SharePoint服務器上對此進行測試,並且它可以在任何地方使用。 – 2012-07-14 15:43:39

+0

服務器可能被配置爲只接受某些認證協議。在這種情況下,管理員可能會將其設置爲使用任何身份驗證(包括基本http身份驗證,而不僅僅是NTLM)。 – hopia 2013-07-02 16:23:41

0

嘗試使用奇爾卡特工作,儘管它不是免費的。但是你可以在代碼中輕鬆實現它。

Chilkat Link