Question

Dans SAP Managed API est facile de créer un rendez-vous pour un utilisateur spécifique:

ExchangeService service = new ExchangeService();
service.Credentials = new NetworkCredentials ( "administrator", "password", "domain" );
service.AutodiscoverUrl(emailAddress);

Appointment appointment = new Appointment(service);
appointment.Subject = "Testing";
appointment.Start = DateTime.Now;
appointment.End = appointment.Start.AddHours(1);
appointment.Save();

Cela va créer un rendez-vous pour l'administrateur. Mais dis que je voulais vraiment créer un rendez-vous pour un autre utilisateur (pas ajouter cet utilisateur en tant que participant à me rendez-vous). Il ce possible via l'API SAP Managed?

Était-ce utile?

La solution 3

Je me suis hors de cet article: http://msdn.microsoft.com/en-us/ bibliothèque / dd633680 (EXCHG.80) .aspx

Vous devez utiliser l'attribut service.ImpersonatedUserId.

Autres conseils

Folder inboxFolder = Folder.Bind(service, new FolderId(WellKnownFolderName.Inbox, "user1@example.com"));

fonctionnent aussi. Passez ensuite inboxFolder.id à l'appel Appointment.Save. Les mises à jour et les suppressions ne pas besoin. La meilleure réponse est d'utiliser usurper l'identité, mais cela nécessite d'être activé par les administrateurs du serveur. Si vous ne maniez pas un tel pouvoir, cette méthode vous permettra de faire ce que vous avez besoin. Remarque: l'utilisateur exécutant votre application doit disposer des autorisations sur le compte cible ou cela ne fonctionne pas (comme il se doit).

Trouvé ici: http://msdn.microsoft.com/en -us / bibliothèque / gg274408 (v = EXCHG.80) .aspx

Je sais que cela a été répondu, mais en réponse à @ commentaire de Aamir vous pouvez le faire en utilisant les délégués que je viens de le faire pour un projet sur lequel je travaille.

Comme suggéré dans sa @ Matt réponse que vous pouvez modifier la méthode d'enregistrement de la nomination pour pointer vers l'autre dossier utilisateurs qui dans ce cas serait le calendrier.

Code de regarderait comme ci-dessous

Appointment appointment = new Appointment(service);
appointment.Subject = "Testing";
appointment.Start = DateTime.Now;
appointment.End = appointment.Start.AddHours(1);
appointment.Save(new FolderId(WellKnownFolderName.Calendar, new Mailbox(_EmailAddress)));

L'espoir qui aide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top