Exchange Server 2003 - удаление приглашений на собрания (встреч) после удаления собрания
Я использую компонент IndependentSoft, и мне было интересно, каким образом (с этим компонентом или любым другим API) я мог бы подражать тому, что я тоже могу делать вручную:
После создания приглашения на собрание и приглашения какой-либо учетной записи B я удаляю созданную мной встречу, в результате чего встречи приглашенных остаются нетронутыми. Теперь я могу (учитывая достаточно высокий уровень доступа к календарю другой учетной записи, я думаю, что это уровень 6) удалить это назначение вручную, и это то, что хочет клиент.
Теперь я не могу использовать компонент IndependentSoft для этого, так как мне нужен почтовый ящик для получения встречи, но у меня нет прав для этого, и я не вижу другого способа получить адрес деловое свидание, встреча (?).
2 ответа
Я нашел ответ... и это было совсем не сложно, я был просто поражен слепотой.
Таким образом, ресурс IndependentSoft.GetAppointments имеет перегрузку, которая занимает только адрес, поэтому вы просто берете свой адрес mailbox.Calendar (например, "http://sub.exchangedomain.com/emailalias/calendar"), переключаете ваши emailalias одним Вы хотите получить доступ (например, "http://sub.exchangedomain.com/otheremailalias/calendar"), и все. Со стандартными настройками безопасности теперь вы можете видеть записи календаря этой учетной записи на сервере Exchange 2003. Теперь, если вы хотите удалить встречу, вы просто используете resource.Delete(назначение) для любой из встреч, которые вы получили. Конечно, учетная запись должна давать вам права на это.
Иногда это так просто, вы просто не видите / игнорируете / неправильно понимаете простую подпись.
Это плохой этикет, чтобы отменить встречу, не уведомляя пользователей, которые были приглашены. Вам лучше следовать рекомендациям и просто отправлять уведомления об отмене собрания.
Просмотрите документацию IndependentSoft о том, как отменить встречу.
Поскольку вам нужно удалить встречу - вам нужна учетная запись, которая была делегирована для манипулирования учетной записью другого пользователя, чтобы удалить встречу. Я бы порекомендовал вам использовать EWS Managed API и выполнить операцию удаления встречи.
Appointment appointment = Appointment.Bind(service, new ItemId("AAMkA="));
appointment.Delete(DeleteMode.MoveToDeletedItems);