gpt4 book ai didi

java - 如何使用 RestFB 从评论中获取回复数

转载 作者:行者123 更新时间:2023-11-30 06:47:43 24 4
gpt4 key购买 nike

我需要通过您对经过身份验证的用户拥有的所有节点的回复获取评论。

我通过流 java 8 以下列方式获得它:

private Stream<Comment> getCommentsByObjectAfterThan(final FacebookClient facebookClient, final String objectId, final Date startDate, User user) {

Connection<Comment> commentConnection
= facebookClient.fetchConnection(objectId + "/comments", Comment.class);

return StreamUtils.asStream(commentConnection.iterator())
.flatMap(List::stream)
.flatMap(comment
-> StreamUtils.concat(
getCommentsByObjectAfterThan(facebookClient, comment.getId(), startDate, user), comment)
)
.filter(comment -> !comment.getFrom().getId().equals(user.getId()) &&
(startDate != null ? comment.getCreatedTime().after(startDate) : true));
}

我需要优化第二个 flapMap,它创建一个包含顶级评论及其回复的流。

显然它必须这样做:

.flatMap(comment ->  comment.getCommentCount() > 0 ? StreamUtils.concat(
getCommentsByObjectAfterThan(facebookClient,comment.getId(), startDate, user), comment) : Stream.of(comment))

问题是它 comment.getCommentCount() 总是返回 0,即使评论有回复也是如此。

我该如何解决这个问题?提前致谢。

最佳答案

换行

Connection<Comment> commentConnection
= facebookClient.fetchConnection(objectId + "/comments", Comment.class);

Connection<Comment> commentConnection
= facebookClient.fetchConnection(objectId + "/comments", Comment.class, Parameter.with("fields","comment_count");

然后得到评论的comment_count字段。

关于java - 如何使用 RestFB 从评论中获取回复数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45590104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com