Как программно добавить хэштег к элементу списка в Sharepoint 2013?

Я хотел бы добавить определенные хэштеги в элементы списка в приложении Sharepoint 2013, используя компоненты С#. Я хочу имитировать функцию «Теги и доска для заметок».

Я нашел, как добавить тег на сервер здесь http://msdn.microsoft.com/en-us/library/ff770863.aspx, но поскольку я использую Sharepoint Online, мне нужно использовать клиентский API.


person sebasuy    schedule 28.03.2013    source источник


Ответы (2)


Я наткнулся на это вчера, сейчас не могу добраться до devbox, но вы должны начать искать в Microsoft.SharePoint.Client.Social

I.e.

context.Load(context.Web);
SocialFeedManager socialFeedManager = new SocialFeedManager(context);

Я вернусь с дополнительной информацией, когда devbox снова будет в сети, если вы не опередите меня! :)

person Eric Herlitz    schedule 28.03.2013

Я наконец нашел способ:

public void AsyncEvent(SPRemoteEventProperties properties) {

    ...

    List lst = clientContext.Web.Lists.GetByTitle(properties.ItemEventProperties.ListTitle);
    clientContext.Load(lst);
    clientContext.ExecuteQuery();
    ListItem item = lst.GetItemById(properties.ItemEventProperties.ListItemId);

    clientContext.Load(item.ParentList, l => l.Fields.Where(field => field.Title == "FieldName"));
    clientContext.ExecuteQuery();

    foreach(TaxonomyField field in item.ParentList.Fields) {
         TaxonomyFieldValueCollection newTopics = new TaxonomyFieldValueCollection(clientContext, String.Empty, field);
         newTopics.PopulateFromLabelGuidPairs("Term A Label|term-a-unique-id;Term B Label|term-b-unique-id");
         field.SetFieldValueByValueCollection(item, newTopics);
    }

    item.Update();
    clientContext.ExecuteQuery();

Если вы найдете лучшее решение, пожалуйста, опубликуйте его, это работает очень хорошо.

Если вы хотите узнать, как отформатировать «Ярлык термина | уникальный идентификатор термина», посмотрите хранилище терминов таксономии на странице администратора Sharepoint. Пример уникального идентификатора термина: d5e733d2-a904-4bee-afbd-632440fdc125.

person sebasuy    schedule 15.05.2013