Spring Boot 如何使用Microsoft Graph API从电子邮件中获取附件?

ecbunoof  于 2023-03-02  发布在  Spring
关注(0)|答案(1)|浏览(282)

我使用Sping Boot 框架开发了一个程序,允许我获取电子邮件的附件,但根据Microsoft页面,有一个代码说通过以下代码可以获取附件的属性,即以下代码。

GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

Attachment attachment = graphClient.me().messages("AAMkADA1M-zAAA=").attachments("AAMkADA1M-CJKtzmnlcqVgqI=")
    .buildRequest()
    .get();

我的疑问是什么应该作为参数传递给message()方法,根据Microsoft Graph给出的一个例子,传递的是“AAMkADA 1 M-zAAA =”,但是它是什么?是租户的id吗?或者它是什么?
另外我也有疑问的是在attachments()方法中的参数,真的是AAMkADA1M-CJKtzmnlcqVgqI=是什么?,应该传递什么?
我想知道在那些参数中应该传递什么以及如何获得它们来传递它们?
我期望从Microsoft Graph提出的这段代码中获得电子邮件的附件,但根据这段代码,您必须传递一些我不知道的参数,这些参数我已经在网页上读过,我还没有找到在message()和attachments()中传递的参数所指的内容。

kkih6yb8

kkih6yb81#

如果你想得到一个消息的附件,你需要知道消息id和附件id。

  • 列出消息
MessageCollectionPage messages = graphClient.me().messages()
        .buildRequest()
        .select("id,sender,subject,hasAttachments")
        .get();
  • 选择邮件并使用其ID获取附件列表
AttachmentCollectionPage attachments = graphClient.me().messages({message_id}).attachments()
    .buildRequest()
    .get();
  • 选择附件
Attachment attachment = graphClient.me().messages({message_id}).attachments({attachment_id})
    .buildRequest()
    .get();

相关问题