2015-02-24 4 views
0

Я хочу создать веб-сервис, который отправляет приглашения на приглашение Lync для посетителей. Я сделал часть UCWA, для создания адреса конференц-связи.Отправить приглашение Lync Приглашения с использованием веб-службы Exchange и UCWA

Но теперь я пытаюсь создать приглашение с помощью EWS. Я могу отправить стандартное назначение, с URL-адресом собрания как телом, но Outlook Lync addin не распознает его как собрание Lync.

Благодаря Outlook Spy addin, я могу видеть правильные метки для преобразования моего назначения в собрание lync. Поэтому я думаю, что мне просто нужно добавить те же теги, что и оригинальное собрание Lync (созданное с помощью lync addin for outlook).

Я попытался установить дополнительные свойства моего назначения:

Guid MY_PROPERTY_SET_GUID0 = Guid.NewGuid(); 
      Guid MY_PROPERTY_SET_GUID1 = Guid.NewGuid(); 
      Guid MY_PROPERTY_SET_GUID2 = Guid.NewGuid(); 
      Guid MY_PROPERTY_SET_GUID3 = Guid.NewGuid(); 
      Guid MY_PROPERTY_SET_GUID4 = Guid.NewGuid(); 
      Guid MY_PROPERTY_SET_GUID5 = Guid.NewGuid(); 
      Guid MY_PROPERTY_SET_GUID6 = Guid.NewGuid(); 
      Guid MY_PROPERTY_SET_GUID7 = Guid.NewGuid(); 

      ExtendedPropertyDefinition EPD0 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID0, "MeetingType", MapiPropertyType.Long); 
      ExtendedPropertyDefinition EPD1 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID1, "OnlineMeetingConfLink", MapiPropertyType.String); 
      ExtendedPropertyDefinition EPD2 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID2, "UCMeetingSetting", MapiPropertyType.String); 
      ExtendedPropertyDefinition EPD3 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID3, "UCOpenedConferenceID", MapiPropertyType.String); 
      ExtendedPropertyDefinition EPD5 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID5, "UCMeetingSettingSent", MapiPropertyType.String); 
      ExtendedPropertyDefinition EPD4 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID4, "OnlineMeetingExternalLink", MapiPropertyType.String); 
      ExtendedPropertyDefinition EPD6 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID6, "UCInband", MapiPropertyType.String); 
      ExtendedPropertyDefinition EPD7 = new ExtendedPropertyDefinition(MY_PROPERTY_SET_GUID7, "UCCapabilities", MapiPropertyType.String); 

      appointment.SetExtendedProperty(EPD0, 65536); 
      appointment.SetExtendedProperty(EPD1, cd.HttpJoinLink); 
      appointment.SetExtendedProperty(EPD2, cd.getUCMeetingSettings()); 
      appointment.SetExtendedProperty(EPD3, Guid.NewGuid().ToString()); 
      appointment.SetExtendedProperty(EPD4, cd.ConfJoinLink); 
      appointment.SetExtendedProperty(EPD5, cd.getUCMeetingSettings()); 
      appointment.SetExtendedProperty(EPD6,[XMLVALUE]); 
      appointment.SetExtendedProperty(EPD7, [XMLVALUE]); 

      string mailAddress; 
      foreach (string a in attendees) 
      { 
       if (a.StartsWith("sip:")) 
       { 
        mailAddress = a.Substring(4, a.Length - 4); 
       } 
       else 
       { 
        mailAddress = a; 
       } 
       appointment.RequiredAttendees.Add(mailAddress); 
      } 

      appointment.Save(SendInvitationsMode.SendToAllAndSaveCopy); 

Два [XMLVALUES] просто копировать/вставить из внешнего вида шпиона, это довольно длинный текст, который я не пишу здесь для ясности.

После этого я получаю приглашение, но эти теги не отображаются как теги свойств в Outlookspy, поэтому мое назначение не переконфигурировано как «собрание Lync».

Есть ли у вас идеи?

Большое спасибо.

ответ

0

Вы можете рассмотреть возможность выполнения кнопки Lync Meeting на ленте в Outlook программно, чтобы получить правильную позицию собрания. Метод ExecuteMso класса CommandBars выполняет элемент управления, идентифицированный параметром idMso. Этот метод полезен в тех случаях, когда нет объектной модели для конкретной команды. Работает с элементами управления, которые являются встроенными кнопками, toggleButtons и splitButtons. См. Office 2013 Help Files: Office Fluent User Interface Control Identifiers.

-1

Это то, что вам нужно для встречи EWS с онлайн-встречей.

ExtendedPropertyDefinition extendedUCMeetingSetting = new ExtendedPropertyDefinition(Guid.NewGuid(), "OnlineMeetingExternalLink",MapiPropertyType.String); 

appointment.SetExtendedProperty (extendedUCMeetingSetting, skype_meeting_join_url)