通过Microsoft Graph API在C#中保存文件附件是否可能?
我知道可以获取附件的属性(https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/attachment_get) - 我们是否也可以将其保存到特定位置?
通过Microsoft Graph API在C#中保存文件附件是否可能?
我知道可以获取附件的属性(https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/attachment_get) - 我们是否也可以将其保存到特定位置?
一旦您拥有特定的 Microsoft Graph 邮件,您可以将其作为参数传递给方法。然后您需要通过邮件 Id 发出另一个请求以获取附件,遍历附件并将其转换为 FileAttachment
,以访问 ContentBytes
属性,最后将这个字节数组保存到文件中。
private static async Task SaveAttachments(Message message)
{
var attachments =
await _client.Me.MailFolders.Inbox.Messages[message.Id].Attachments.Request().GetAsync();
foreach (var attachment in attachments.CurrentPage)
{
if (attachment.GetType() == typeof(FileAttachment))
{
var item = (FileAttachment)attachment; // Cast from Attachment
var folder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var filePath = Path.Combine(folder, item.Name);
System.IO.File.WriteAllBytes(filePath, item.ContentBytes);
}
}
}