this post was submitted on 24 Jun 2023
1 points (100.0% liked)

Lemmy App Development

693 readers
1 users here now

A place for Lemmy builders to chat about building apps, clients, tools and bots for the Lemmy platform.

On-Topic:

Off-Topic:

founded 1 year ago
MODERATORS
 

i have requests to fetch comment and post data, but i'm struggling to work out how to build a tree from the responses? do i fetch comments with arg parent_id to get a comment's children, and do so recursively for those comments returned that themselves have comments?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 0 points 1 year ago (5 children)

I'd call GET /api/v3/comment/list?post_id=<post_id>&type_=All to get comments, then sort the comments with path attribute.

[–] [email protected] 0 points 1 year ago (1 children)

thanks for the clear info. i think i'd missed the All type_. now off to find the path attribute.

[–] [email protected] 0 points 1 year ago (1 children)

so "path" is a decimal separated list of comment ids? docs say nothing, but it looks like that.

[–] [email protected] 0 points 1 year ago (1 children)
[–] [email protected] 0 points 1 year ago (1 children)

chiming in here because I’m trying to figure this out too. If there’s say, thousands of comments, and I don’t want to get all of them at once, how would I sort them based off the path? I don’t want to miss any replies to comments that are loaded, and it doesn’t appear that comments returned are sorted or grouped together in any way by default

[–] [email protected] 2 points 1 year ago

Pretty late to the party here, but I have an answer for you. There another parameter called "depth", you have to set that to "1" on the initial call. Then you only get "root" comments. Then, for each root comment, you call the API again with the parent id of said comment with the "depth" parameter set to depth+1 until there are no more comments.

So basically, you have to use recursion. If you want I can give you a code example from my App.

load more comments (3 replies)