Пагинация для Instagram с использованием Facebook Graph API - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь сделать запрос API с помощью API Графика Facebook для постов в Instagram.

https://developers.facebook.com/docs/instagram-api/business-discovery

Используя Facebook API Graph Graph Я звоню

    <my_facebook_page_id>?fields=business_discovery.username(<instagram_business_account_username>){media{comments_count,like_count, caption, media_url, media_type,timestamp}}

Это успешно возвращает 25 самых последних сообщений из бизнес-аккаунта Instagram вместе с полем «после» в разделе курсора подкачки> json.

Однако я сейчас пытаюсь использовать какую-то форму нумерации страниц, чтобы получить следующие 25 сообщений.

Я читал, что API Graph Facebook поддерживает курсоры и нумерацию на основе времени, но в следующей статье предполагается, что конечная точка / media для Business Discovery поддерживает только нумерацию на основе курсора.

https://developers.facebook.com/docs/instagram-api/reference/user/business_discovery#pagination

Я пробовал несколько вариантов вышеуказанного запроса, пытаясь получить следующие 25 сообщений, но все они возвращают самые последние 25 сообщений (так же, как в первоначальном запросе выше).

Вот несколько примеров запросов, которые я пробовал.

    <my_facebook_page_id>?fields=business_discovery.username(<instagram_business_account_username>){media{comments_count,like_count, caption, media_url, media_type,timestamp}}&after=<after_code_from_first_call>

    <my_facebook_page_id>?fields=business_discovery.username(<instagram_business_account_username>).after(<after_code_from_first_call>){media{comments_count,like_count, caption, media_url, media_type,timestamp}}

Так что любая помощь в том, как отформатировать эти строки запроса, чтобы выполнить разбиение на страницы для объектов мультимедиа Instagram (используя параметры after / before, timestamps или post_ids), будет очень цениться.

Спасибо.

1 Ответ

0 голосов
/ 29 августа 2018

После большого количества пробных ошибок я выяснил, что правильный формат запроса API должен быть следующим:

https://graph.facebook.com/v3.0/<my-facebook-page-id>?access_token=<access-token>&fields=business_discovery.username(<accountHandle>){{profile_picture_url,media.after(<pagination-code>).limit(<the-amount-of-posts-to-return>){{id,caption,media_url,media_type,like_count,comments_count,timestamp,permalink}}}}

Я также обнаружил, что нет ограничений на количество сообщений, которые могут быть возвращены (мне удалось вернуть 1000 сразу при тестировании)

Примечание: «код разбиения на страницы» - это код «после», который предоставляется при вызове API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...