6

ТЛ; Д.Р.Набор CustomProperties о назначении для всех участников

CustomProperties При установке на назначенные посетитель, только назначение для организатора Получает CustomProperties. Свойства не распространяются на встречи других участников.


Longer версия

Когда мы создаем встречу с несколькими участниками, а затем войти в каждом участнике, мы замечаем, что каждый ItemId отличается. Таким образом, кажется, что каждый участник на собрании получает свою собственную копию встречи. (Хотелось бы, чтобы кто-то подтвердил это, правда).

Однако при настройке настраиваемого свойства из нашей надстройки (с использованием API JavaScript для JavaScript) только назначение организатора получает настраиваемое свойство, так как мы не можем видеть настраиваемое свойство при входе в систему как любой другой чел.

Отрывки из нашего кода, который имеет отношение:

Office.initialize = function (reason) { 
    $(document).ready(function() { 
     Office.context.mailbox.item.loadCustomPropertiesAsync (onCustomPropertiesLoaded); 
    }); 
}; 

function onCustomPropertiesLoaded(asyncResults) { 
    _customProps = asyncResults.value; 
} 

//Set custom properties 
_customProps.set("myProp", "true"); 
_customProps.saveAsync(customPropertiesOnSaved); 

Есть ли способ, чтобы каждая копия назначения имеют настраиваемое свойство?

ответ

3

Когда мы создаем назначение и несколько участников, а затем войти в каждом участнике, мы замечаем, что каждый ItemId отличается. Таким образом, кажется, что каждый участник на собрании получает свою собственную копию встречи. (Хотелось бы, чтобы кто-то подтвердил это, правда).

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

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

Это, скорее всего, происходит потому, что вам нужно сначала сохранить настраиваемое свойство по назначению, прежде чем добавлять участников и отправлять приглашения на собрания. Важно прежде всего сохранить назначение с помощью свойства (или вложений), прежде чем добавлять участников, а затем, когда сервер выдает приглашения, те приглашения должны включать в себя настраиваемое свойство (вы можете проверить, что происходит с помощью редактора Mapi и смотреть на приглашение производится в папке «Отправленные» организатора). Его важно помнить, поскольку встречи не связаны на сервере, обновляя свойство на организаторе, не будет отражено на копии участников, если вы не отправите обновление собрания и это обновление собрания, которое затем обновит их календари.

+0

Мы работаем в контексте надстройки, поэтому у нас нет контроля над тем, когда участники добавляются в приглашение.Когда пользователь нажимает кнопку в нашей надстройке, мы устанавливаем настраиваемое свойство 'customProps.set (« myCustomProp », true);» и затем сохраняем свойство в назначении «customProps.saveAsync (обратный вызов)». Я не уверен, что еще у нас есть доступ к этому, чтобы получить пользовательские свойства в каждом приглашении. –

+0

Да, но вам нужно понять, что то, что вы делаете, будет только обновлять элемент хранилища пользователя, к которому вы обращаетесь. Возможно, вам придется переосмыслить свой дизайн, например, какую информацию вы добавляете к пользовательскому свойству? и как вы используете это у участников? , Одна из альтернатив настраиваемому свойству заключается в том, что если вы захватите UniquieId для собрания, которое является общим для всех экземпляров, создайте внешнюю службу Rest, которая сохранит нужную вам информацию, а затем сделает ваш запрос Addin внешним сервисом, используя uniqueId как ключ и т. Д. –