現在、私はEx2016をサポートするために、MAPI CDOからEWS(Managed API 2.2)への1つの大きなプロジェクトの移行に取り組んでいます。すべてのものは1つを除いてうまく移行されました:添付ファイルの拡張プロパティを読み書きする方法を見つけることができません。誰かがそれを行う方法を知っていますか、またはいくつかの回避策かもしれませんか?これは私にとって非常に重要なことであり、私は非常に助けていただければ幸いです。EWS Managed API 2.2添付ファイルの拡張プロパティの書き込み
---アップデート: は、あまりにも添付ファイルの成功せずプロパティを取得するためにネイティブEWSを使用しようとしました:
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"},
}
}
});
応答が要求されたプロパティのいずれかが含まれていません。
---アップデート2:プロジェクトで
我々は添付ファイルの次のプロパティを使用します。 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
カスタムプロパティセットを使用していくつかのカスタム拡張プロパティを作成し、その添付ファイルにその小道具をタグ付けします。 プロパティの一部は、PR_ATTACH_SIZEのようなEWS/ManagedApiのオブジェクトモデルで見つけることができますが、他のものやカスタムプロップの問題があります。
標準添付プロパティとカスタムを読み書きする必要があります。 プロジェクトでは、埋め込みアイテムではなく、添付ファイル自体にマークを付けます。
こんにちはグレン、お返事ありがとうございました。アップデート2を確認してください。あなたは「拡張プロパティを使用できる唯一の場所はメッセージレベルです」と述べました。 EWSのメッセージが低レベル(管理APIではなく)か、EmailMessage/Contacts/Appointmentsなどを意味しますか? –
拡張プロパティは、EWSのアイテムレベルでのみ使用できます(使用する方法に関係なく)。添付ファイルまたは受信者(MAPIの場合のように)で取得することはできません。あなたはあなたのアプリケーションのいくつかのデザインを見直す必要があります。たとえば、添付ファイルに拡張プロパティを使用することはできませんが、添付ファイルに必要なプロパティをマップするだけのItemにカスタムプロパティを作成できます。その後、あなたのロジックを再マップしてそのプロパティを見ても、あなたはあなたの後ろにある1対1のマッピングを見つけることはできません。 –