在获取聊天消息托管内容部分中的Microsoft图 REST API 测试文档中,有一个用于获取图像托管内容字节的 Java 示例:
InputStream stream = graphClient
.chats("19:2da4c29f6d7041eca70b638b43d45437@thread.v2")
.messages("1615971548136") .hostedContents("aWQ9eF8wLXd1cy1kOS1lNTRmNjM1NWYxYmJkNGQ3ZTNmNGJhZmU4NTI5MTBmNix0eXBlPTEsdXJsPWh0dHBzOi8vdXMtYXBpLmFzbS5za3lwZS5jb20vdjEvb2JqZWN0cy8wLXd1cy1kOS1lNTRmNjM1NWYxYmJkNGQ3ZTNmNGJhZmU4NTI5MTBmNi92aWV3cy9pbWdv")
.content()
.buildRequest()
.get();
。但是使用最新的标记microsoftgraph/msgraph-beta-sdk-java
(0.9.0-20210615.3) 此示例不起作用,因为无法解析ChatMessageHostedContentRequestBuilder
content
方法。
考虑到这一点,我的问题是下载托管内容字节的官方方式是什么。
GitHub上也存在一些更多详细信息的相关问题。
看起来这将在未来修复 - 但目前这个解决方法应该可以做到:
String valueUrl = graphClient
.chats(chatId)
.messages(messageId)
.hostedContents(hostedContentId)
.getRequestUrlWithAdditionalSegment("$value");
InputStream stream = new CustomRequestBuilder<>(valueUrl, graphClient, null, InputStream.class).buildRequest().get();