Отправить вывод формы в список sharepoint - PullRequest
0 голосов
/ 04 июля 2018

У нас есть веб-приложение, размещенное в Azure. Мы хотели бы добавить форму и отправить результаты в список SharePoint. Я предполагаю, что мой вопрос в том, что / где находится соединение приложения, функции и т. Д. Azure с SharePoint? Есть ли в Azure оптимизированный процесс или он будет включать несколько маршрутов: от формы к SQL, от SQL к внешнему серверу?

1 Ответ

0 голосов
/ 05 июля 2018

Есть несколько способов сделать это.

Мы можем использовать SharePoint CSOM API для создания элемента списка, потому что вы используете веб-приложение.

Согласно вашему описанию, вы хотите отправить вывод в список SharePoint, вот простая демонстрационная версия для справки:

    /// <summary>
    /// Create a List Item
    /// </summary>
    /// <param name="context"></param>
    /// <param name="listName"></param>
    public static void createItem(ClientContext context, string listName, FormEntity formEntity)
    {
        List list = context.Web.Lists.GetByTitle(listName);
        context.Load(list);
        context.ExecuteQuery();
        ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();            

        ListItem listItem = list.AddItem(itemCreateInfo);
        listItem["Title"] = formEntity.Title;
        listItem["Name"] = formEntity.Name;
        listItem["department"] = formEntity.department;
        listItem["Age"] = formEntity.Age;
        listItem.Update();
        context.Load(listItem);
        context.ExecuteQuery();
    }

    public class FormEntity
    {
        public string Title { get; set; }

        public string Name { get; set; }

        public string department { get; set; }

        public int Age { get; set; }
    }

Выполните аутентификацию в SharePoint, мы можем сделать следующее:

    #region do authentication of SharePoint
    /// <summary>
    /// do authentication of SharePoint Online
    /// </summary>
    /// <param name="clientContext"></param>
    /// <param name="userName"></param>
    /// <param name="password"></param>
    public static void setOnlineCredential(ClientContext clientContext,string userName,string password)
    {
        //set the user name and password
        SecureString secureString = new SecureString();
        foreach (char c in password.ToCharArray())
        {
            secureString.AppendChar(c);
        }
        clientContext.Credentials = new SharePointOnlineCredentials(userName, secureString);           
    }

    /// <summary>
    /// do authentication of SharePoint on-premise
    /// </summary>
    /// <param name="clientContext"></param>
    /// <param name="userName"></param>
    /// <param name="password"></param>
    /// <param name="domain"></param>
    public static void setClientCredential(ClientContext clientContext, string userName, string password, string domain)
    {
        clientContext.Credentials = new NetworkCredential(userName, password, domain);
    }
    #endregion

Мы можем загрузить CSOM API по адресу: SDK клиентских компонентов SharePoint

...