c# - 使用 Microsoft GraphServiceClient API 和 C# 检索邮件的附件
问题描述
我有以下代码:
var graphServiceClient = GraphClientFactory.GetGraphServiceClient(config.ClientId, config.Authority, config.Scopes);
MailMessagePage = await graphServiceClient.Me.MailFolders.Inbox.Messages
.Request()
.Expand("attachments")
.GetAsync();
foreach (var mm in MailMessagePage)
{
foreach (var a in mm.Attachments)
{
}
}
此代码已成功下载收件箱消息,并且内部 foreach 循环正在枚举附件集合。这是一个例子:
不包括的是实际的附件数据。有没有人有下载实际附件数据的例子?
谢谢
根据 Darrel 的建议,我实现了以下内容。
var outlookItem = 等待 builder.Request().GetAsync();
正在返回附件的元数据,而不是附件本身。我追求数据。
MailMessagePage = await graphServiceClient.Me.MailFolders.Inbox.Messages
.Request()
.Expand("attachments")
.GetAsync();
foreach (var mm in MailMessagePage)
{
foreach (var itemAttachment in mm.Attachments)
{
if(itemAttachment is ItemAttachment)
{
var builder = new ItemAttachmentRequestBuilder(graphServiceClient.Me.Messages[mm.Id].Attachments[itemAttachment.Id].RequestUrl, graphServiceClient);
var outlookItem = await builder.Request().GetAsync();
}
}
}
解决方案
你试过下面的吗?取自这里。
var attachments = await graphServiceClient.Me.Messages[messageId]
.Attachments
.Request()
.GetAsync();
然后,您可以检查它们是否是具有包含实际附件数据的 ContentBytes 属性的 FileAttachment。
推荐阅读
- view - 初始化 Prism 应用程序期间的 DataGrid AutoGeneratingColumn 问题
- javascript - Wsy 这个箭头函数不适用于“arguments.length”吗?
- dax - SUMX DISTINCT PowerPivot 未按预期工作
- javascript - 只有在打字稿中为真时,我才能向对象添加属性吗?
- python - Pandas 中的动态过滤/屏蔽
- vba - MSXML2 - 如何搜索特定节点并替换其子节点
- node.js - 使用流星 restivus 上传多部分文件
- python - 如何在不复制粘贴的情况下复制一个函数以创建另一个函数并进行一些更改
- pic - pic18F47J53 RTCC 未启动
- flutter - 弹出页面后,再点击一次按钮