Токен разбиения на страницы API Business Discovery API не работает? - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь использовать Instagram Business Discovery API для получения статистики поста с определенной общедоступной страницы.

Взять Bath and Body Works (https://www.instagram.com/bathandbodyworks), например.

GET graph.facebook.com
   17895695668004550?fields=business_discovery.username(bathandbodyworks){followers_count,media_count,media{timestamp,like_count,comments_count}}

Это даст мне следующий ответ:

{
"business_discovery": {
"followers_count": 3526159,
"media_count": 3536,
"media": {
  "data": [
    {
      "timestamp": "2018-05-16T20:00:54+0000",
      "like_count": 28925,
      "comments_count": 530,
      "id": "17917935010179826"
    },

    (24 posts data omitted...)

    "paging": {
    "cursors": {
      "after": "QVFIUlBNak5fNTc3eThl..." (a very long string)
    }
  }
}

Теперь, это дает мне только последние 25 сообщений, которые, я считаю, являются лимитом на запрос, установленным Facebook.

Чтоделать, если я хочу загрузить следующие 25 сообщений?

В API данных YouTube также существует ограничение на запрос в 50, но для загрузки следующего файла предусмотрен nextPageToken.50. Я предполагаю, что это тот же самый случай здесь?

Я также нашел в этом документе API Facebook , что, возможно, я могу добавить строку курсора как: &after=QVFIUlBNak5fNTc3eThl...,

но это не работает.

Любые предложения будут оценены, спасибо!

1 Ответ

0 голосов
/ 21 мая 2018

Нумерация страниц с business_discovery немного отличается от Facebook нумерацией страниц.

Там нет next и previous URL.

Вам нужно добавить, after курсор, как в этом примере:

https://graph.facebook.com/v2.12/xxxx?fields=business_discovery.username(jacqehoward){id,name,username,website,profile_picture_url,biography,followers_count,media_count,media.after(QVFIUlZA5aTR5NTE4Y24tNW90VGZAPTVBtb0NpOEFPTlNLeklmVTEtUDZAfVnE0YnBhUVNOQ3BDaktzNHJBTENhTmVYLUV2SGJPZAVAxZA09hQ2NhUGdnUGFjMTNn){id,caption,comments_count,like_count,media_type,media_url,owner,timestamp}}

Примечание:

media.after(after_cursor){media_fields}

И если вы хотите разбить на страницы business_discovery до конца, вы должны добавить курсоры after, пока не будет получен только ответ с курсором previous. Это знак того, что вы достигли первого поста.

...