Я новичок в программировании SharePoint и столкнулся со следующей проблемой:
Я добавил список в свой проект Visual Studio SP (SampleAddInList). Теперь я хочу получить список в своей программе, чтобы заполнить пример элемента.
Вот скриншот моего проекта Visual Studio со списком:
Вот мой код, где я пытаюсь получить список для добавления элемента:
private void AddUserToList(string accessToken)
{
if (IsPostBack)
{
sharepointUrl = new Uri(Request.QueryString["SPHostUrl"]);
}
ClientContext clientContext =
TokenHelper.GetClientContextWithAccessToken(
sharepointUrl.ToString(), accessToken);
// Load the properties for the web object.
Web web = clientContext.Web;
clientContext.Load(web);
clientContext.ExecuteQuery();
// Get the current user.
clientContext.Load(web.CurrentUser);
clientContext.ExecuteQuery();
currentUser = clientContext.Web.CurrentUser.Email;
// Load the list "SampleAddInUserList"
List userList = web.Lists.GetByTitle("SampleAddInList");
clientContext.Load<List>(userList);
clientContext.ExecuteQuery();
ListItemCreationInformation info = new ListItemCreationInformation();
Microsoft.SharePoint.Client.ListItem newItem = userList.AddItem(info);
newItem.ParseAndSetFieldValue("Title", "Test");
newItem.ParseAndSetFieldValue("Email", currentUser);
newItem.Update();
clientContext.ExecuteQuery();
}
Когда я запускаю проект, я получаю следующую ошибку:
List 'SampleAddInList' does not exist at site with URL 'https://xxx.sharepoint.com/sites/test'.
Похоже, что приложение пытается получить список с тестового сайта SP, но списка там нет (проект должен создать список сам, если он не существует, не так ли??).
Когда я пытаюсь использовать список (другое имя списка!), который я создал в веб-интерфейсе SP через «Добавить приложение», доступ работает нормально.
Может кто подскажет???
Имеет ли это какое-то отношение к контекстному URL-адресу, который я использую??? см. также мой другой вопрос: Sharepoint Online: разница между SPAppWebUrl и SPHostUrl