Facebook Graph API-получить как рассчитывать на странице / фотографии группы
Я тестировал Graph API и столкнулся с проблемой. Как я могу получить like count из фотографий страницы / группы?
Я-администратор/создатель группы. При входе вhttps://developers.facebook.com/tools/explorer/ некоторые фото ID из этой группы он приносит почти все данные, даже комментарии, но не как рассчитывать. Для такой части ему нужен (согласно документам) токен доступа, несмотря на то, что любой может получить доступ к этой информации.
Как получить доступ токен моей страницы / группы с необходимыми разрешениями и как его использовать для получения нужной мне информации?
Если возможно, я хотел бы получить JSON с одного адреса, если это возможно.
4 ответов
это возможно со страницей (даже без маркера доступа!) и вот как:
посетите страницу на графике
получить идентификатор страницы, Перейдя на url страницы:
https://www.facebook.com/pages/platform/19292868552
номер в конце URL-адреса является идентификатором страницы. Возьмите этот идентификатор и используйте его с Graph explorer (здесь) или просто посетить его напрямую.
посетите альбомы страницы
теперь добавление альбомов к этому url даст вам все альбомы на странице, включая фотографии на стене:
https://graph.facebook.com/19292868552/albums
вывод выглядит следующим образом:
{
"data": [
{
"id": "10150160810478553",
"from": {
"name": "Facebook Platform",
"category": "Product/service",
"id": "19292868552"
},
"name": "Bringing Operation Developer Love to Europe",
"description": "Blog post: http://developers.facebook.com/blog/post/479\n\nVideos and presentations uploaded here: http://developers.facebook.com/videos/",
"location": "Berlin, Paris, London",
"link": "https://www.facebook.com/album.php?fbid=10150160810478553&id=19292868552&aid=285301",
"cover_photo": "10150160811078553",
"count": 32,
"type": "normal",
"created_time": "2011-04-06T23:05:44+0000",
"updated_time": "2011-04-06T23:33:20+0000",
"comments": {
..... etc ....
выбор альбома
для каждого объекта в данные массив есть id и a имя. С помощью в этих двух полях можно выбрать альбом, содержащий нужные фотографии. Первый альбом в этом результате- "Bringing Operation Developer Love to Europe". Давайте посмотрим на фотографии этого альбома.
Видя Фотографии
Если вы следили за ответом до этого момента, следующий шаг должен быть довольно очевидным. Используйте id для альбома, который вы хотите и добавить фото в графе URL-адрес:
https://graph.facebook.com/10150160810478553/photos
видя фото любит
подобно выбору альбома, просто используйте идентификатор в выводе вышеуказанного шага и добавьте любит к url, чтобы увидеть фотографии нравится:
https://graph.facebook.com/10150160813853553/likes
выход:
{
"data": [
{
"id": "1163036945",
"name": "Aditya Pn"
},
{
"id": "1555885347",
"name": "Nadin M\u00f6ller"
},
{
"id": "100001643068103",
"name": "Umut Ayg\u00fcn"
},
{
"id": "100000165334510",
"name": "Alessandra Milfont"
},
{
"id": "100001472353494",
"name": "Sayer Mohammad Naz"
},
{
"id": "1051008973",
"name": "Jenson Daniel Chambi"
},
{
"id": "100000233515895",
"name": "Ruby Atiga"
},
используя этот выход, вы можете просто подсчитать число записей в массиве данных, чтобы получить like count.
обратите внимание, что все это возможно с помощью график обозреватель, нажав на идентификаторы в поле вывода и боковой панели подключения (кроме для последнего / любит соединение, которое, надеюсь, будет добавлено в ближайшее время. Надеюсь, это поможет. Кроме того, для этого не требуется маркер доступа, поскольку страницы являются общедоступными. Надеюсь, это поможет!
вы можете получить количество комментариев / лайков без необходимости разбивать на страницы все лайки, используя параметр fields в сочетании с likes.limit(1).summary(true)
. Например, запрос api поиска для пиццы ниже даст вам все публичные сообщения и их количество лайков суммировано:
https://graph.facebook.com/search?q=pizza&type=post&fields=id,name,likes.limit(1).summary(true)
результатов (усеченный):
{
"data": [
{
"id": "47883936273_659693910762305",
"name": "Instagram",
"created_time": "2014-02-16T01:15:29+0000",
"likes": {
"data": [
{
"id": "100002243084532",
"name": "Yvette Martin"
}
],
"paging": {
"cursors": {
"after": "MTAwMDAyMjQzMDg0NTMy",
"before": "MTAwMDAyMjQzMDg0NTMy"
},
"next": "https://graph.facebook.com/47883936273_659693910762305/likes?limit=1&summary=1&after=MTAwMDAyMjQzMDg0NTMy"
},
"summary": {
"total_count": 13682
}
}
},
{
"id": "136336876521150_314001148754721",
"name": "Pizza Box Turns into Plates & Storage Unit!",
"created_time": "2014-02-15T21:20:00+0000",
"likes": {
"data": [
{
"id": "100005373008864",
"name": "Liliana Campoli"
}
],
"paging": {
"cursors": {
"after": "MTAwMDA1MzczMDA4ODY0",
"before": "MTAwMDA1MzczMDA4ODY0"
},
"next": "https://graph.facebook.com/136336876521150_314001148754721/likes?limit=1&summary=1&after=MTAwMDA1MzczMDA4ODY0"
},
"summary": {
"total_count": 2792
}
}
}
/me / feed возвращает поле LIKES
я использовал решение, где я просто нахожу количество элементов в массиве, которые отображают LIKES
Object.keys(item.likes.data).length
Это возвращает "длину" объекта , которая равна числу подобных.
http://graph.facebook.com/223766074374957
есть свойство likes в ответе
{
"name": "Bejeweled Blitz",
"is_published": true,
"website": "https://apps.facebook.com/bejeweledblitz/",
"username": "bejeweledblitz",
"products": "Bejeweled Blitz\nBejeweled\nPlants vs. Zombies\nPeggle\nZuma\nChuzzle\nBookworm Adventures\n \nFor a complete list, please visit www.popcap.com\n ",
"about": "We're the award-winning hit, Bejeweled Blitz! The lightning-fast puzzle game where you have just 60-seconds to match as many gems as you can! Start Blitzing now!",
"general_info": "Speed is the name of the game in Bejeweled Blitz! Bejeweled Blitz is a speedier take on the classic Bejeweled match-3 gem game mechanic. Your goal is to make as many matches as you can in 60-seconds to really make your score soar! But you won't be going it alone! There are special ways to enhance your Bejeweled Blitz game - like Boosts (power-ups like Scrambler, which moves all the gems around the board or +5 seconds, to add 5 seconds more gem-matching time!) and the popular, Rare Gems. Rare Gems are like extra-special power-ups that can REALLY take your game to the next level!",
"talking_about_count": 22487,
"category": "App page",
"id": "223766074374957",
"link": "https://www.facebook.com/bejeweledblitz",
"likes": 5796324,
"cover": {
"cover_id": 383412771743619,
"source": "http://sphotos-c.ak.fbcdn.net/hphotos-ak-ash4/s720x720/417018_383412771743619_1056862875_n.jpg",
"offset_y": 0
}
}