Прежде всего, спасибо, что нашли время, чтобы прочитать мой вопрос!
Мне нужно получить ContentByte вложения сообщения.
Я использую Microsoft.Graph SDK для dotnet .
Я извлекаю сообщение, затем беру Message.Body.Content (это html) и показываю его в Iframe. Чтобы показать вложения (cid: ...), я должен получить их в Message.Attachments. Но есть моя проблема. Почтовые вложения имеют тип FileAttachment со свойством ContentByte, которое я могу использовать для отображения вложений. Проблема в том, что SDK не использует тип FileAttachment для Message.Attachments, но имеет тип Attachment, который не имеет свойства ContentByte.
Вот мой код:
Message data = await graphClient.Me
.Messages[messageId]
.Request().GetAsync();
и
var base64 = message.Attachments.Where(c => c.ContentId == contentId).ContentByte;
Когда я исследую «данные» с помощью отладчика, я вижу все поля из FileAttachment со всеми правильными данными. Но когда я пытаюсь получить доступ ко второй строке, я получаю красную строку под ContentId, потому что свойство не существует для вложения.
Является ли это ошибкой, ошибкой в классе 'Message' или мне нужно указать где-то, что я хочу сохранить тип 'FileAttachment'?
Спасибо!