/ / Списък на файловете в папка, в списък в SharePoint 2010 чрез уеб услугите на ASMX - c #, .net, web-services, sharepoint, sharepoint-2010

Списък на файловете в дадена папка, в списък в SharePoint 2010 чрез уеб услугите на ASMX - c #, .net, web-services, sharepoint, sharepoint-2010

Опитвам се да опиша съдържанието на папка в SharePoint 2010, като използвам неговата уеб услуга.

Това е, което имам досега, кажете ми дали ще преодолея това, ако е така.

XNamespace z = "#RowsetSchema";
string lId = this.GetListID("Account");
string vId = this.GetViewID("All Documents", lId);
//this below, works, I"m getting the unique ID of folder...
string folderId = this.GetListData(lId, vId).Descendants(z + "row").
Where(x => x.Attribute("ows_LinkFilename").Value.Equals("FolderName")).
Select(x => x.Attribute("ows_UniqueId").Value).SingleOrDefault().ToString();

private string GetListID(string listName)
{
string listID;

try
{
XDocument doc = XDocument.Parse(_listClient.GetListCollection().ToString());
listID = (from x in doc.Elements().First().Elements()
where x.Attribute("Title").Value.Equals(listName)
select x.Attribute("ID").Value).FirstOrDefault();
}
catch
{
throw;
}

return listID;
}

private string GetViewID(string viewName, string listID)
{
string viewID = null;

try
{
XDocument doc = XDocument.Parse(_viewClient.GetViewCollection(listID).ToString());
viewID = (from x in doc.Elements().First().Elements()
where x.Attribute("DisplayName").Value.Equals(viewName)
select x.Attribute("Name").Value).FirstOrDefault();

}
catch
{
throw;
}

return viewID;
}

private XDocument GetListData(string listID, string viewID)
{
XDocument list_data = null;

try
{
list_data = XDocument.Parse(_listClient.GetListItems(listID, viewID, null, null, "10000", null, null).ToString());
var q = (from x in list_data.Elements().First().Elements().First().Elements()
select new
{
Title = x.Attribute("ows_LinkTitle").Value,
Field1 = x.Attribute("ows_Field1").Value,
Field2 = x.Attribute("ows_Field2").Value
});
}
catch
{
throw;
}


return list_data;
}

Както можете да видите, аз съм в състояние да получи уникален идентификатор на въпросната папка.Но тогава какво? Има ли някаква друга уеб услуга на SharePoint трябва да използвам с идентификатора на папката, за да получите нейното съдържание?

Ето един пример за структурата на URL адреса, за който се опитвам да получа съдържанието на:

https://spsite.domain.ca/testenv/account/000001

Кодът по-горе ми възвръща уникалния идентификационен номер за папката 000001 но тогава аз останах там ... Не виждам нищо GetFolderItems или нещо подобно lists.asmx или други уеб услуги на SP.

Видях някои примери там, но те използват събранието Microsoft.Sharepoint.dll да го направя, което се опитвам да избегна.

Благодаря ти!

Отговори:

0 за отговор № 1

Аз ще използвам Microsoft.Sharepoint.Client за това. Нямах представа, че SP2010 + предлага такава функция.