1

Я использую IndependentSoft Component и было интересно, каким образом (с этим компонентом или любой другой API) Я мог бы имитировать то, что я могу также сделать вручную:Exchange Server 2003 - удаление приглашений на собрания (назначения) после удаления встречи

После создания запроса на собрание и приглашения некоторой учетной записи B я удаляю созданную мной встречу, которая оставляет назначения приглашенного нетронутыми. Теперь я могу () получить достаточно высокий уровень доступа к календарю другой учетной записи, я думаю, что это уровень 6) удалите эту встречу вручную, и это то, чего хочет клиент.

Теперь я не могу использовать компонент IndependentSoft для этого, так как мне нужен почтовый ящик для получения встречи, но мне не хватает прав на почтовые ящики для этого, и я не вижу другого способа получить адрес назначения (?).

+0

Не уверен, что я понимаю проблему ... для создания собрания у вас уже должна быть учетная запись ... когда вы удаляете собрание из той же Созданной учетной записи (то есть «Владелец» собрания), вы имеете необходимые разрешения? – Yahia

+0

nope .. Я удаляю встречу со счета, _but_ Я также хочу удалить встречу из приглашенных аккаунтов - эти встречи будут говорить «собрание отменено», но это не видно в Outlook 2003 7days-weekview. Клиент хочет очистить все собрания, как только собрание будет удалено, поскольку все это автоматизированный процесс. – hko

+0

Пожалуйста, не добавляйте «(C#)» к своему названию. Для этого нужны теги. –

ответ

0

Я нашел ответ ... и это было совсем не сложно, меня просто поразила слепота.

Таким образом, у IndependentSoft resource.GetAppointments есть перегрузка, которая берет только адрес, поэтому вы просто берете свой почтовый ящик. Адрес календаря (например, «http://sub.exchangedomain.com/emailalias/calendar»), отключите emailalias с тем, к которому вы хотите получить доступ (например, «http://sub.exchangedomain.com/otheremailalias/calendar»), и это все .. со стандартными настройками безопасности теперь вы можете видеть записи календаря этой учетной записи в Exchange 2003 сервер. Теперь, если вы хотите удалить встречу, вы просто используете resource.Delete (назначение) на любом из назначений, которые вы получили. Разумеется, учетная запись должна предоставить вам права на это.

Иногда это так просто, вы просто не видите/игнорируете/не понимаете простую подпись.

0

Это плохой этикет, чтобы отменить встречу, не уведомляя пользователей, которые были приглашены. Вам лучше следовать рекомендациям и просто отправить meeting cancellation notification.

Посмотреть документацию IndependentSoft о том, как cancel a meeting.


Поскольку вы должны удалить назначение - вам необходимо зарегистрироваться, которая была делегирована манипулировать еще пользователей учетной записи, чтобы удалить назначение. Я бы рекомендовал вам использовать EWS Managed API и выполнить delete appointment action.

Appointment appointment = Appointment.Bind(service, new ItemId("AAMkA=")); 
appointment.Delete(DeleteMode.MoveToDeletedItems); 
+0

I _do_ отправляет уведомление об отмене собрания через компонент IndependentSoft. К сожалению, клиент не заботится о плохом этикете, так как это приглашения на его встречу. ;) Это автоматизированный процесс, и он хочет иметь конфиденциальную информацию в еженедельном представлении: если какое-то приглашение не существует на «основной» учетной записи, не должно быть других встреч, которые задерживаются. – hko

+0

И btw: все аргументы о том, как что-то «должно» вести себя, - это настроение в любом случае: я должен быть способен делать что-то с помощью API, который я также могу сделать вручную.И я _can_ удалять другие встречи вручную, учитывая права доступа к другим календарям (level6 +), которые были бы возможны для одной «основной» учетной записи. И я могу сделать это с помощью компонента IndependentSoft, но для этого мне нужны адреса назначения в других каландрах без использования других учетных данных. – hko

+0

@hko - Спасибо за разъяснение относительно использования этой функции. См. Обновленный ответ. – SliverNinja