This happens for me on a small number of posts, and is generally repeatable, even when the website shows comments.
For instance, running on lemmy.world, GetPost(id: 290602) tells me the post exists and has 7 comments, as does https://lemmy.world/post/290602
But GetComments(postId: 290602) returns an empty list.
If I run against the original post on ‘programming.dev’, GetComments(postId: 99912) does show me the comments, but I don’t think I’m supposed to be second guessing the federating logic :-)
Has anyone seen anything similar or can confirm they see this same behaviour for this post?
Quick update for anyone reading this:
I’ve just worked out how to use curl with the Lemmy API, and sadly
curl -H 'Accept: application/activity+json' "https://lemmy.world/api/v3/comment/list?limit=10&postId=290602"
does show the comments, so I had to accept that there’s something wrong in my request.Having fiddled about a bit it appears that setting the
type
parameter controls whether non-local comments get included, so addingtype: CommentListingType.all
solved this problem.Hi! The first curl example doesn’t seem to work - it fetches comments but they are not relevant to https://lemmy.world/post/290602 :
> curl -H 'Accept: application/activity+json' "https://lemmy.world/api/v3/comment/list?limit=10&postId=290602" | jq -c '.comments[] | [.post.id, .comment.id, community.name]' [484044,486431,"nostupidquestions"] [455772,486976,"giftofgaming"] ... [485477,486428,"outoftheloop"] [484044,485717,"nostupidquestions"]
It seems that we need to set
type_
parameter like this:> curl -H 'Accept: application/activity+json' "https://lemmy.world/api/v3/comment/list?limit=10&post_id=290602&type_=All" | jq -c '.comments[] | [.post.id, .comment.id, community. name]' [290602,484328,"programmer_humor"] [290602,374758,"programmer_humor"] ... [290602,355277,"programmer_humor"] [290602,345799,"programmer_humor"]
Thanks for pointing this out, I wish you’d been here a few days earlier, that would have saved me a bunch of time!