2016-04-12 4 views
0

Ich habe Kalender-FolderIds in der Reihenfolge Kalenderereignisse gespeichert, auf die ein Benutzer zugreifen kann. Ich verwende Exchange-Webdienste über C# (using Microsoft.Exchange.WebServices)EWS: Postfachadresse von einem Kalender FolderId, ist es möglich?

Diese Kalender können dem Postfach des authentifizierten Benutzers, einem freigegebenen Postfach, einem | delegierten Postfach oder | einem öffentlichen Postfach zugeordnet werden. Und jetzt möchte ich von der FolderId zur Mailbox-Adresse gehen.

Im Idealfall würde es sein, eine Funktion zu

string address = getMailboxAddress(new FolderId("AAJk...AA=")); 
+0

auf zB Was ist eine Mailboxadresse? –

+0

Exchange verfügt über ein Postfachobjekt. Ich möchte die SMTP-Adresse ("[email protected]") von "Mailbox.Address.ToString()". –

Antwort

1

Wenn Sie die FolderID haben, was Sie haben die EWS-Version dieser https://msdn.microsoft.com/en-us/library/ee217297(v=exchg.80).aspx ist, die mit dem Daten bedeutet, dass Sie nicht die E-Mail-Adresse enthalten. Zu dem Zeitpunkt, zu dem Sie den CalendarId-Store speichern, ist die E-Mail-Adresse, der Sie zugeordnet sind, besser.

Sie können mit ConvertId mit einer allgemeinen nicht auflösbaren E-Mail-Adresse versuchen, dies sollte die Emailaddress zurückgeben der Ordner gehört (werde nicht für öffentliche Ordner arbeitet)

 AlternateId aiAlternateid = new AlternateId(IdFormat.EwsId, SharedFoder.Id.UniqueId, "[email protected]"); 
    AlternateIdBase aiResponse = service.ConvertId(aiAlternateid, IdFormat.EwsId); 
    Console.WriteLine(((AlternateId)aiResponse).Mailbox); 

Prost Glen

+0

Danke. Kann der Provider-UID-Teil der FolderId mich nicht zum Kalenderbesitzer und zur E-Mail-Adresse bringen? –

+0

Nein für ein Postfach die UID in der Ordner-ID wäre die https://msdn.microsoft.com/en-us/library/office/cc815641.aspx. Sie können vielleicht die MailboxGUID aus der ewsId extrahieren (aber dieses Format ist nicht dokumentiert AFAIK). –