Мое обходное решение:
function add(a, b, precision) {
var x = Math.pow(10, precision || 2);
return (Math.round(a * x) + Math.round(b * x)) / x;
}
precision относится к числу цифр, которые вы хотите сохранить после десятичной точки во время добавления.
Подход, введенный @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), ...
blockquote>Снимок экрана из API-интерфейс API-интерфейса Google Graph :
После получения набора сообщений, вы должны иметь возможность считывать количество ответов, сгруппированных по типу с использованием одного запроса. Обратите внимание, что текущий предел идентификаторов в шаблоне запроса множественного идентификатора равен 50.
Теоретически возможно использование расширения поля в сочетании с псевдонимами поля , например:
?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 в вышеуказанном запросе, запускает его ...
Я нашел способ добиться этого с помощью 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>"
}
Просто используйте следующее как часть вашего запроса на график
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
Если у вас есть разрешение 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
}
}
],