如何通过Microsoft Graph API获取单封邮件专属附件而非线程全部附件?
解决Microsoft Graph API获取单封邮件专属附件的问题
你遇到的问题是因为Microsoft Graph API默认会返回邮件对话线程内所有关联的附件,而非仅目标邮件本身的附件。要获取指定单封邮件的专属附件,可以通过筛选附件的parentMessageId属性来实现:
- 每个附件对象都包含
parentMessageId字段,该字段指向附件最初所属的邮件ID。你可以在请求中添加$filter参数,匹配目标邮件的ID,从而只获取该邮件本身的附件。
示例请求:
GET https://graph.microsoft.com/v1.0/users/<user-id>/messages/<message_id>/attachments?$filter=parentMessageId eq '<message_id>'
如果需要排除内联附件(比如嵌入邮件正文的图片),可以进一步组合筛选条件:
GET https://graph.microsoft.com/v1.0/users/<user-id>/messages/<message_id>/attachments?$filter=parentMessageId eq '<message_id>' and isInline eq false
需要注意的是,确保你使用的<message_id>是目标邮件的唯一ID,而非对话线程的ID。
内容的提问来源于stack exchange,提问作者Kasim Sharif
相关产品推荐
相关产品推荐

