From dbb6c6ffdcd06f1a6f6556f34ab205976e4530ff Mon Sep 17 00:00:00 2001 From: lucholapl Date: Wed, 17 Jun 2020 21:13:43 +0200 Subject: [PATCH 1/2] Fixed 'media_n_comment' to support threading and get ChildComments inside Comments data. --- instagram_private_api/endpoints/media.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/instagram_private_api/endpoints/media.py b/instagram_private_api/endpoints/media.py index 21a3f0fe..26ff5b68 100644 --- a/instagram_private_api/endpoints/media.py +++ b/instagram_private_api/endpoints/media.py @@ -97,9 +97,13 @@ def media_n_comments(self, media_id, n=150, reverse=False, **kwargs): """ endpoint = 'media/{media_id!s}/comments/'.format(**{'media_id': media_id}) - + query = { + 'can_support_threading': 'true' + } + if kwargs: + query.update(kwargs) comments = [] - results = self._call_api(endpoint, query=kwargs) + results = self._call_api(endpoint, query=query) comments.extend(results.get('comments', [])) while (((results.get('has_more_comments') and results.get('next_max_id')) From c40677d93f84ed3d2c945da99dfb4cfe19d382e3 Mon Sep 17 00:00:00 2001 From: lucholapl Date: Thu, 18 Jun 2020 02:51:33 +0200 Subject: [PATCH 2/2] Fixed 'media_n_comment' to support threading and get ChildComments inside Comments data. --- instagram_private_api/endpoints/media.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/instagram_private_api/endpoints/media.py b/instagram_private_api/endpoints/media.py index 26ff5b68..dc477674 100644 --- a/instagram_private_api/endpoints/media.py +++ b/instagram_private_api/endpoints/media.py @@ -102,6 +102,7 @@ def media_n_comments(self, media_id, n=150, reverse=False, **kwargs): } if kwargs: query.update(kwargs) + comments = [] results = self._call_api(endpoint, query=query) comments.extend(results.get('comments', [])) @@ -111,11 +112,11 @@ def media_n_comments(self, media_id, n=150, reverse=False, **kwargs): and len(comments) < n): if results.get('has_more_comments'): - kwargs.update({'max_id': results.get('next_max_id')}) + query.update({'max_id': results.get('next_max_id')}) else: - kwargs.update({'min_id': results.get('next_min_id')}) + query.update({'min_id': results.get('next_min_id')}) - results = self._call_api(endpoint, query=kwargs) + results = self._call_api(endpoint, query=query) comments.extend(results.get('comments', [])) if not (results.get('next_max_id') or results.get('next_min_id') or results.get('comments')): # bail out if no max_id/min_id or comments returned