1
votes

I use the IndependentSoft Component and was wondering in what way (with this component or any other API) I could mimic what I can also do manually:

After creating a meeting request and invite some Account B, I delete the meeting created by me, which leaves the appointments of the invited intact. I can now (given high enough access level to calendar of other account, I think it's level 6) delete this appointment manually, and that's what the customer wants.

Now, I can't seem to use IndependentSoft component for this, as I would need a mailbox for getting the appointment, but I lack the mailbox rights to do so, and I don't see any other way to get the address of the appointment (?).

2
Not sure that I understand the problem... to create a Meeting you already must have an Account... when you delete the Meeting from the same Account that created it (i.e. the "Owner" of the Meeting) you have the needed permissions ?Yahia
nope.. I delete the meeting from the account, but I also want to delete the appointment from the invited accounts - these appointments would say "meeting cancelled", but that's not visible in Outlook 2003 7days-weekview. The customer wants cleanup of all meetings, once a meeting is deleted, as everything is an automated process.hko
Please don't add "(C#)" to your title. That's what the tags are for.John Saunders
ok, thought about that, good to knowhko

2 Answers

0
votes

It is poor etiquette to cancel a meeting without notifying the users that were invited. You are better off following best practices and just sending a meeting cancellation notification.

View IndependentSoft documentation on how to cancel a meeting.


Since you do need to delete the appointment - you need an account that has been delegated to manipulate another users account to delete an appointment. I'd recommend you use the EWS Managed API and perform a delete appointment action.

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

I found the answer.. and it wasn't hard at all, I was just smitten with blindness.

So the IndependentSoft resource.GetAppointments has an overload which takes just an address, so you just take your mailbox.Calendar address (e.g. "http://sub.exchangedomain.com/emailalias/calendar"), switch out your emailalias with the one you want to access (e.g. "http://sub.exchangedomain.com/otheremailalias/calendar"), and that's it.. with standard security settings, you can now see calendar entries of this account on an exchange 2003 server. Now, if you want to delete an appointment, you just use resource.Delete(appointment) on any of the appointments you got. The account has to give you rights to do so, of course.

Sometimes it's that simple, you just don't see/ignore/misunderstand a simple signature.