Я новичок в программирование SharePoint и имею следующую проблему:Sharepoint Online: Создать и использовать список в Provider Hosted App (C#)
Я добавил список в моем проект Visual Studio SP (SampleAddInList). Теперь я хочу получить список в моей программе, чтобы заполнить примерный элемент.
Вот скриншот моего визуального проекта студии со списком:
Вот мой код, где я пытаюсь получить список для добавления элемента:
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: Difference between SPAppWebUrl & SPHostUrl
Попробуйте использовать SPAppWebUrl вместо SPHostUrl. – STORM