распределение количества ответов для сообщений facebook с использованием одного запроса API Графа [duplicate]

Мое обходное решение:

function add(a, b, precision) {
    var x = Math.pow(10, precision || 2);
    return (Math.round(a * x) + Math.round(b * x)) / x;
}

precision относится к числу цифр, которые вы хотите сохранить после десятичной точки во время добавления.

10
задан KabirB 28 April 2016 в 06:11
поделиться

5 ответов

Подход, введенный @CBroe, по-видимому, работает с использованием запросов на чтение нескольких идентификаторов .

? ids = 7175346442_10153799389241443,7175346442_10153799470326443 & amp; поля = реакции.type (LOVE ) .limit (0) .summary (TOTAL_COUNT) .as (reactions_love), reactions.type (ВАУ) .limit (0) .summary (TOTAL_COUNT) .as (reactions_wow), reactions.type (HAHA) .limit (0) .summary (total_count) .as (react_haha), ...

Снимок экрана из API-интерфейс API-интерфейса Google Graph :

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

42
ответ дан Anthony Battaglia 26 August 2018 в 11:28
поделиться

Теоретически возможно использование расширения поля в сочетании с псевдонимами поля , например:

?fields=reactions.type(LIKE).limit(0).summary(1).as(like),
        reactions.type(WOW).limit(0).summary(1).as(wow),
        reactions.type(SAD).limit(0).summary(1).as(sad),…

. Однако в этом отношении все еще есть некоторые ошибки; Я часто получал «Неизвестная ошибка» при тестировании этого; F.E. заменяя предельное значение для LIKE на 1 в вышеуказанном запросе, запускает его ...

11
ответ дан CBroe 26 August 2018 в 11:28
поделиться

Я нашел способ добиться этого с помощью 1 запроса:

GET /{userId}?fields=
  posts.as(like){reactions.type(LIKE).limit(0).summary(true)},
  posts.as(love){reactions.type(LOVE).limit(0).summary(true)},
  posts.as(wow){reactions.type(WOW).limit(0).summary(true)},
  posts.as(haha){reactions.type(HAHA).limit(0).summary(true)},
  posts.as(sad){reactions.type(SAD).limit(0).summary(true)},
  posts.as(angry){reactions.type(ANGRY).limit(0).summary(true)},
  posts.as(thankful){reactions.type(THANKFUL).limit(0).summary(true)}

Таким образом вы получите 7 списков сообщений (по одному на каждую реакцию). Пример:

{
  "like": {
    "data": [<list of posts>]
  },
  "love": {
    "data": [<list of posts>]
  },
  "wow": {
    "data": [<list of posts>]
  },
  "haha": {
    "data": [<list of posts>]
  },
  "sad": {
    "data": [<list of posts>]
  },
  "angry": {
    "data": [<list of posts>]
  },
  "thankful": {
    "data": [<list of posts>]
  },
  "paging": {
    "previous": "...",
    "next": "..."
  },
  "id": "<userId>"
}
3
ответ дан manuelmhtr 26 August 2018 в 11:28
поделиться

Просто используйте следующее как часть вашего запроса на график

fbpageid/posts?fields=created_time,story,message,shares,reactions.type(LIKE).limit(0).summary(1).as(like),reactions.type(LOVE).limit(0).summary(1).as(love),reactions.type(HAHA).limit(0).summary(1).as(haha),reactions.type(WOW).limit(0).summary(1).as(wow),reactions.type(SAD).limit(0).summary(1).as(sad),reactions.type(ANGRY).limit(0).summary(1).as(angry)&limit=10

Итак, я получу идентификатор сообщения, время создания, историю, сообщение, счетчик акций, количество ответов (в настоящее время 6 ответов), используя только 1 запрос. Он также работает с APi v2.9

6
ответ дан Petter Friberg 26 August 2018 в 11:28
поделиться

Если у вас есть разрешение read_insights, вы можете получить реакции следующим образом для фида или сообщения

fields=insights.metric(post_reactions_by_type_total).period(lifetime).as(post_reactions_by_type_total)

, и вы получите результаты, такие как:

        "name": "post_reactions_by_type_total",
        "period": "lifetime",
        "values": [
          {
            "value": {
              "like": 10,
              "love": 2,
              "wow": 3,
              "haha": 1,
              "sorry": 1,
              "anger": 2
            }
          }
        ],
3
ответ дан Rohit Gupta 26 August 2018 в 11:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: