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?
I’d call
GET /api/v3/comment/list?post_id=<post_id>&type_=All
to get comments, then sort the comments withpath
attribute.thanks for the clear info. i think i’d missed the All type_. now off to find the path attribute.
so “path” is a decimal separated list of comment ids? docs say nothing, but it looks like that.
Yes. See here.
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
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.
interesting question. do you mean because if you use limit, and as results are returned unsorted, you might end up with children comments without their parents? have you actually had a go using limit to fetch from your 1000s of comments?
Yep exactly, I tested it and I do end up with orphaned comments no matter what I set as “limit” or “sort” (as long as limit is less than the total amount of comments). It’s my guess that fetching a large list of comments would be slower than fetching a few, otherwise I’d just get all the comments in one go.
Have you tried
sort
parameter?Yes, I still end up with orphaned comments that have no parent in the results regardless of the sort method
Can you share the reproducible requests/URLs?
thanks a lot for sharing the link. they should put it in the docs for path!