繁体   English   中英

如何在 MS Graph API 中从 Java SDK 获取附件资源的原始内容?

[英]How do I get the raw content of attachment resources from Java SDK in MS Graph API?

我想使用 MS Graph 的 Java SDK 来查找附件的原始内容(/$value 端点)。

对于 /messages 资源,我知道可以通过以下方式查询原始内容。

@Test
void downloadEmlFile() {
    // while empty value, but let's assume there is a value.
    String userId = ""; 
    String messageId = "";

    InputStream inputStream = 
        graphServiceClient.users(userId).messages(messageId)
            .content()
            .buildRequest()
            .get();
}

如上所示,MS Graph SDK 为消息提供了一个名为.content()的 api。

不过他们好像没有提供附件资源对应的api。

总之,有两件事我很好奇

  1. 为什么不为附件资源提供 API 之类的.content()
  2. 如何获取附件的原始内容 (/$value)?

我认为您需要使用具有content方法的FileAttachmentRequestBuilder

@Test
void downloadEmlFile() {
    // while empty value, but let's assume there is a value.
    String userId = ""; 
    String messageId = "";
    String attachmentId = "";

    String requestUrl = graphServiceClient.users(userId).messages(messageId)
            .attachments(attachmentId)
            .getRequestUrl();

    FileAttachmentRequestBuilder fileAttachReqBuilder = new FileAttachmentRequestBuilder(
             requestUrl, 
             graphServiceClient, 
             null)

    InputStream inputStream = fileAttachReqBuilder
                                 .content()
                                 .buildRequest()
                                 .get();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM