2016-03-26 7 views
0

Derzeit arbeite ich an der Migration eines großen Projekts von MAPI CDO zu EWS (Managed API 2.2), um Ex2016 zu unterstützen. Alle Dinge wurden gut migriert, außer einem: Ich kann den Weg nicht finden, wie man Anhänge liest Extended Properties. Weiß jemand, wie man das macht, oder könnte es ein Workaround sein? Dies ist sehr kritisch für mich und ich wäre sehr dankbar für jede Hilfe.EWS Managed API 2.2 Lesen Erweiterte Eigenschaften von Anlagen schreiben

--- Update: versucht auch nativer EWS zu verwenden Eigenschaft der Bindung zu erhalten, aber ohne Erfolg zu:

 var ret = esb.GetAttachment(new GetAttachmentType() 
     { 
      AttachmentIds = new []{new AttachmentIdType() 
       { 
        Id = "AAMkADVhNjUzMzMyLTRiMDYtNDc4OS1hYjJjLWI1ZDA4ZWFhYTJkZQBGAAAAAADqFaOFYZSeQI5UObwGbjIJBwAOgaos6ORVS5+o5bQovn/kAAAAeN2cAAAOgaos6ORVS5+o5bQovn/kAAAeCoIuAAABEgAQAJPAuRg2gipPmEKfgW26mFU=", 
       }}, 
      AttachmentShape = new AttachmentResponseShapeType() 
      { 
       BodyType = BodyTypeResponseType.Best, 
       BodyTypeSpecified = true, 
       IncludeMimeContent = false, 
       IncludeMimeContentSpecified = true, 
       AdditionalProperties = new [] 
       { 
        new PathToExtendedFieldType() { PropertyType = MapiPropertyTypeType.Integer, PropertyTag = "0x3705"}, 
        new PathToExtendedFieldType() { PropertyType = MapiPropertyTypeType.Integer, PropertyTag = "0x0E21"}, 
       } 
      } 
     }); 

Die Antwort enthält keine von Ihnen gewünschten Eigenschaften.

--- Update 2:

Im Projekt verwenden wir als nächstes Eigenschaften der Anlagen: PR_RECORD_KEY, PR_DISPLAY_NAME, PR_RENDERING_POSITION PR_ATTACH_ENCODING, PR_ATTACH_NUM, PR_ATTACH_METHOD, PR_ATTACH_LONG_FILENAME, PR_ATTACHMENT_HIDDEN, PR_ATTACH_CONTENT_ID, PR_ATTACH_FLAGS, PR_ATTACH_MIME_TAG, PR_ATTACH_CONTENT_LOCATION, PR_ATTACH_SIZE

Auch erstellen wir ein paar benutzerdefinierte erweiterte Eigenschaften mit benutzerdefinierten Eigenschaften festlegen und einige Anhänge mit diesen Requisiten zu markieren. Einige der Eigenschaften können im Objektmodell von EWS/ManagedApi wie PR_ATTACH_SIZE gefunden werden, aber das Problem mit anderen und mit benutzerdefinierten Requisiten.

Also müssen wir Standard-Anhang Eigenschaften sowie benutzerdefinierte lesen/schreiben. Im Projekt markieren wir Anhang selbst, nicht eingebettetes Item.

Antwort

0

Sie können nicht auf erweiterte Eigenschaften in Anlagen oder die Empfänger-Auflistung in EWS außerhalb der Eigenschaften zugreifen, die von der API als stark typisierte Eigenschaften zugänglich gemacht werden. Sie können die erweiterten Eigenschaften nur auf Nachrichtenebene verwenden.

Wie gesagt, können Sie mehr darüber erklären, wie Sie erweiterte Eigenschaften verwenden, z. B. diese erweiterten Eigenschaften für eingebettete Objekte. Wenn dies der Fall ist, können Sie über den Artikelanhang auf diese erweiterten Eigenschaften zugreifen.

Mit Blick auf Ihren Code 0x3705 ist die PR_ATTACH_METHOD -Eigenschaft für eine Anlage gibt es keine Entsprechung in EWS, eher EWS wird eine andere Anlageklasse basierend auf dem Anlagentyp zurückgeben. ZB ItemAttachment, FileAttachment oder ReferanceAttachment (zB für OneDrive Attachments). 0x0E21 ist, dass die Anhangsnummer EWS die Attachments in der Reihenfolge dieser Zahl in der GetItem-Anforderung zurückgibt, sodass Sie diese selbst berechnen können. Aber die Eigenschaft ist in EWS nutzlos, denn um ein Attachment zu erhalten, brauchen Sie das EWSId im Gegensatz zu MAPI.

Prost Glen

+0

Hallo Glen, vielen Dank für Ihre Antwort. Überprüfen Sie bitte Update 2. Sie haben gesagt: "Der einzige Ort, an dem Sie die erweiterten Eigenschaften verwenden können, ist die Nachrichtenebene." Meinst du Nachricht Low-Level von EWS selbst (nicht Managed API) oder du meinst EmailMessage/Kontakte/Termine etc ..? –

+0

Sie können erweiterte Eigenschaften nur auf der Elementebene in EWS abrufen/festlegen (unabhängig davon, welche Methode Sie verwenden). Sie können sie nicht in Anlagen oder Empfängern abrufen (wie in MAPI). Sie müssen sich die Neugestaltung Ihrer Anwendung genauer ansehen, z. B. können Sie zwar keine erweiterten Eigenschaften für Anhänge verwenden, aber Sie können eine benutzerdefinierte Eigenschaft für das Element erstellen, die nur die gewünschten Eigenschaften für die Anhänge darstellt. Dann ordnen Sie einfach Ihre Logik neu, um auch diese Eigenschaft zu betrachten, aber Sie werden nicht die Eins-zu-eins-Zuordnung finden, nach der Sie suchen. –

Verwandte Themen