2012-04-09 34 views
0

我有一個網站集,其中激活了文檔ID功能。 文檔已從其他站點(其中激活了文檔ID)歸檔到此網站集中,並且關於移動的文件的唯一信息是源和目標之間相同的文檔ID。 我需要使用Web請求下載文件,但我的代碼給出'401未授權的例外'。 我的代碼如下:使用網址將網址下載爲http:// <site collection>/_ layouts/DocIdRedir.aspx?ID = <doc id>使用網絡請求

string url = "http://<site collection>/_layouts/DocIdRedir.aspx?ID=<doc id>"; 
HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;    
request.Method = "Get";    
request.PreAuthenticate = true; 
var credential= new NetworkCredential(username, password, domainname); 
request.Credentials = credential; 
HttpWebResponse response = request.GetResponse() as HttpWebResponse; 

我需要給某種身份驗證,但無法弄清楚。 任何幫助將不勝感激。

感謝和問候 Arjabh

回答

0

嘗試運行你的代碼

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
//code goes here 
}); 

塊內

+0

感謝您的答覆,但我通過自定義.NET應用程序嘗試這個代碼,而不是內SharePoint。 – arjabh 2012-04-10 03:36:46

+0

聽起來像你可能需要使用ClientContext類。它意味着在SharePoint環境之外使用,並且可以查詢文檔庫並返回數據。有關更多信息,請參閱http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.clientcontext.aspx。 – 2012-04-10 03:39:46

+0

不能用HttpWebRequest(瀏覽器下載文件的方式)完成它,因爲我需要它是一個非常輕量級的應用程序。 – arjabh 2012-04-10 03:52:34