2016-04-19 1 views
0

При просмотре календаря SharePoint в MS Outlook и изменить цвет этого элемента в Outlook, The SharePoint ows_MetaInfo получает изменилось от этого:Изменить ows_MetaInfo в Sharepoint с помощью C#

2362;#

в этом:

2362;#vti_encoding:SR|utf8-nl FollowUp:SW| vti_serverversion:SW|2 vti_versionhistory:SW|473e1c0c47cf034d9969c8513def1903:4 vti_clientversion:SW|4 BusyStatus:SW|2 Categories:SW|Red Category Priority:SW| IntendedBusyStatus:SW| vti_externalversion:IW|3

у меня есть # программа C, которая создает запись календаря SP, но я хотел бы быть в состоянии изменить эту ows_MetaInfo Категории свойства, так что я могу цветовой код эти предметы так й у пользователей, которые рассматривают это в Outlook, будут видеть эти цветовые коды.

Я искал все, что могу. Я видел, как люди читают эти данные ows_MetaInfo, но ничего не говорят о том, как это можно изменить. Как уже говорилось ранее, я делаю это в C#, и я хотел бы изменить свойство ows_MetInfo Categories, чтобы пользователи Outlook увидели записи календаря с цветовым кодированием.

Любая помощь была бы высоко оценена!

+0

Здравствуйте, я не думаю, что вам нужно изменить поле ows_MetaInfo, но посмотрите на поля типа контента. ИМО есть поле категории. Обновление этого правильной категории должно быть достаточным для корректировки раскраски (я думаю, что получатели событий увидят, что в конечном итоге обновит ows_MetaInfo для вас – Verthosa

+0

Согласен, есть поле категории, но это не где 'Категории: SW | Red Категория 'хранится в том, что Outlook смотрит на это определение цвета. Причина, по которой я знаю, потому что я уже установил поле категории на что-то еще. Когда вы переходите в Outlook, чтобы посмотреть на этот элемент, он не окрашен. цвет этого поля категории не перезаписывается, но обновляется ows_MetaInfo. Есть ли доступное скрытое поле где-то, где хранится эта информация? – Wizardre

ответ

1

Я искал вокруг довольно долго, чтобы понять это, и я упустил из виду самый очевидный ответ ... :) Все, что мне нужно было сделать, это попросить о помощи, чтобы я наконец понял это! LOL: D

MetaInfo - это еще одно строковое поле. Когда вы делаете изменение цвета в Outlook в элементе календаря SharePoint, оно просто добавляет текст в это поле, которое указывает цвет вместе с некоторыми другими элементами по умолчанию. Чтобы изменить цвет, вы можете просто указать его с чем-то вроде cListItem["MetaInfo"] = "Categories:SW|Red Category\r\n";, и он просто изменит поле «Категории», оставив остальных в покое.

Для полноты, я собираюсь опубликовать весь тестовый пример. (Потому что я ненавижу это, когда я нахожу ответ на проблему, но только часть ответа опубликована, оставляя меня догадываться о том, что еще было в коде, который фактически запустил этот пример :))

Это делается VS2013 с помощью консоли App

using Microsoft.SharePoint.Client; 
using SP = Microsoft.SharePoint.Client; 
using System.Net; 

namespace SharePointSetMetaInfo 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      using (ClientContext context = new ClientContext("https://mySharePointServer/sites/MySite/")) 
      { 

       context.Credentials = new NetworkCredential("myUserName", "myPassword", "MYDOMAIN"); 
       SP.List calendarList = context.Web.Lists.GetByTitle("Calendar"); 
       ListItem cListItem = calendarList.GetItemById(2301);//This is one way to retrieve an item for update. You can also use a Caml Query 
       context.Load(cListItem); 
       cListItem["MetaInfo"] = "Categories:SW|Red Category\r\n"; 
       cListItem.Update(); 
       context.ExecuteQuery(); 
      } 
     } 
    } 
} 

Надеется, что это помогает кто-то, кто пытается программно изменить цвета на элементах календаря SharePoint, как они отображаются в Outlook. Это не относится к тому, как элементы SharePoint отображаются в SharePoint, а только в Outlook.

+0

полезно, спасибо большое! – Verthosa

Смежные вопросы