我正在将 EWS 托管 api 迁移到 Graph。当我使用 EWS 托管 API 时,它具有 UploadItemFts(stringfolderId, byte[data]) 函数。 此功能有助于将邮件(具有所有属性)从邮箱 X 移动到邮箱 Y。
public string UploadItemFts(string folderId, byte[] data)
{
try
{
UploadItem itemToUpload = new UploadItem(_service)
{
ParentFolderId = folderId,
Data = data,
CreateAction = CreateAction.CreateNew
};
var uploadItemResult = _service.UploadItem(itemToUpload);
if (uploadItemResult.Result == ServiceResult.Success)
{
return uploadItemResult.Id.UniqueId;
}
else
throw new Exception(uploadItemResult.ErrorMessage);
}
catch (ServiceResponseException srex)
{
string details = Shared.DumpServiceResponseException(srex);
XLogger.Debug(this, string.Format("ExportMessageFTS >> ServiceResponseException >> {0}", details));
throw new Exception(details);
}
}
public UploadItemsResponse UploadItem(UploadItem item)
{
//XLogger.Audit(this, AuditCategory.Exchange, CommonUtils.GetLocalIPAddress(), "UploadItem({0})".FormatString(item?.Data));
UploadItemsRequest request = new UploadItemsRequest(this, ServiceErrorHandling.ReturnErrors);
request.Items = new UploadItem[] { item };
return request.Execute()[0];
}
我没有看到任何图形 API 支持执行此操作。你们有什么建议吗? 谢谢。
Graph 不支持
UploadItems
操作或类似操作。您可以尝试使用原始 MIME 源,但这将丢失所有未映射到 MIME 的特定于 MAPI 的属性。