【问题标题】:Is there a way to get Attachments url from Microsoft Graph Subscription response?有没有办法从 Microsoft Graph 订阅响应中获取附件 url?
【发布时间】:2022-03-08 15:01:05
【问题描述】:

我正在尝试使用 @microsoft/microsoft-graph-client 将 Microsoft Graph API 邮件订阅包含在一个 Javascript 项目中,我得到一个对象响应(正文、主题、抄送...等)和一个布尔值 hasAttachments: true 但附件url 找不到了,有没有办法获取这些附件?

【问题讨论】:

  • 那是什么类型的附件?
  • 我尝试了“.jpg”之类的图片和“.zip”之类的压缩文件,在这两种情况下我都没有得到下载网址
  • 好的,我使用 Javascript 代码尝试了这个 Graph API 调用,它对我有用(获取 .txt 文件): const options = { authProvider, };常量客户端 = Client.init(options); let res = await client.api('/me/messages/AAMkAGRlNWM4Njk4LWY3NTYtNGE2MC05ZjQzLTg1YmM5YjIzNTRhMwBGAAAAAAA-L78mmzKFQ7FpvCcWkAziBwCUgufVfU8cSKxkYzIkrl81AAAAAAEMAACUgufVfU8cSKxkYzIkrl81AACABFjMAAA=/attachments/AAMkAGRlNWM4Njk4LWY3NTYtNGE2MC05ZjQzLTg1YmM5YjIzNTRhMwBGAAAAAAA-L78mmzKFQ7FpvCcWkAziBwCUgufVfU8cSKxkYzIkrl81AAAAAAEMAACUgufVfU8cSKxkYzIkrl81AACABFjMAAABEgAQAHhM4mZxBRNBqkVbYUzUcWA=') .get();
  • 我得到了这样的东西{ "@odata.context": "xxxxxx", "@odata.type": "#microsoft.graph.fileAttachment", "@odata.mediaContentType": "application/zip", "id": "xxxxxxxxxxxx", "lastModifiedDateTime": "2020-10-12T11:08:37Z", "name": "xxxxx.zip", "contentType": "application/zip", "size": 77067, "isInline": false, "contentId": null, "contentLocation": null, "contentBytes": "UEsDBBQACAAIADt8NVEAAAAAAAAAAA+HAQAOAC.......etc" }
  • @Dev 我看不到 url,你转换 ContentBytes 吗?

标签: javascript microsoft-graph-api microsoft-graph-mail


【解决方案1】:

好的,我使用 Javascript 代码尝试了这个 Graph API 调用,它对我有用(获取 .txt 文件):

const options = { authProvider, }; 
const client = Client.init(options); 
let res = await client.api('/me/messages/AAMkAGRlNWM4Njk4LWY3NTYtNGE2MC05ZjQzLTg1YmM5YjIzNTRhMwBGAAAAAAA-L78mmzKFQ7FpvCcWkAziBwCUgufVfU8cSKxkYzIkrl81AAAAAAEMAACUgufVfU8cSKxkYzIkrl81AACABFjMAAA=/attachments/AAMkAGRlNWM4Njk4LWY3NTYtNGE2MC05ZjQzLTg1YmM5YjIzNTRhMwBGAAAAAAA-L78mmzKFQ7FpvCcWkAziBwCUgufVfU8cSKxkYzIkrl81AAAAAAEMAACUgufVfU8cSKxkYzIkrl81AACABFjMAAABEgAQAHhM4mZxBRNBqkVbYUzUcWA=').get(); 

要转换内容字节并将其存储在本地,请参阅相关链接 - download attachments from mail using microsoft graph rest api

【讨论】:

    【解决方案2】:

    当你收到消息时 试试这个网址 获取 /me/messages/{id}/attachments/{id}

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多