2010-10-14 5 views
4

Je tryiing pour récupérer une liste des bibliothèques de documents à partir d'un site sharepoint, voici mon code, ceci est une application Windows(401) Erreur non autorisée à travailler avec le modèle objet client

public string[] GetDocumentLibraries(ClientContext ctx) 
    { 
     Collection<string> libraries = new Collection<string>(); 
     try 
     { 
      //Getting the site from the SP context 
      Web oWebsite = ctx.Web; 
      write("INFO: SP site gotten"); 

      //Getting the list collection from the SP site 
      write("INFO: Getting the list collection from the SP site"); 
      ListCollection listCollect = oWebsite.Lists; 
      write("INFO: Loading the list"); 
      ctx.Load(listCollect); 
      write("INFO: Getting the list"); 
      ctx.ExecuteQuery(); 
      write("INFO: List Collection size: " + listCollect.Count); 

      //Getting the list of document libraries 
      foreach (List docLibList in oWebsite.Lists) 
      { 
       if (docLibList.BaseTemplate == (int)ListTemplateType.DocumentLibrary) 
       { 
        write("INFO: Document Library: " + docLibList.Title); 
        libraries.Add(docLibList.Title); 
       } 
      } 
     } 
     catch (Exception e) 
     { 
      write("ERROR: Error getting the list of document libraries, error detail " + e.Message + " " + e.StackTrace); 
     } 

     return libraries.ToArray(); 
    } 

Je l'avais essayé code dans trois serveurs SharePoint différents, il travaille dans deux d'entre eux, mais dans le troisième j'obtenir cette exception

ERROR: Error getting the list of document libraries, error detail The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse() 
    at Microsoft.SharePoint.Client.SPWebRequestExecutor.Execute() 
    at Microsoft.SharePoint.Client.ClientContext.EnsureFormDigest() 
    at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery() 
    at P_DocumentImporter.DocumentImporter.GetDocumentLibraries(ClientContext ctx) 

Et je suis sûr que les informations d'identification sont corrects,

Toute idée d'une combat ce,

Merci,

Répondre

0

Cette question a l'air vieux, mais, au profit des autres qui pourraient voir cette question, il y a seulement des problèmes possibles qui causent cela.

  1. Les informations d'identification (absente ou incorrecte)
  2. Un proxy/pare-feu entre le client et le serveur ne permet pas la communication à travers.
Questions connexes