API Graph Facebook + страницы Facebook - PullRequest
7 голосов
/ 10 июня 2010

Используя API Graph Facebook, учитывая имя пользователя xyz (при условии, что они аутентифицировали мой сайт), как мне получить список всех страниц facebook, которые администрирует пользователь?

Ответы [ 9 ]

15 голосов
/ 12 августа 2010

Свойство accounts объекта user говорит:

Страницы Facebook, принадлежащие текущему пользователю. Если разрешение manage_pages предоставлено, это соединение также возвращает access_tokens, которые можно использовать для запроса Graph API от имени страницы.

http://developers.facebook.com/docs/reference/api/user

5 голосов
/ 14 сентября 2010

После получения токена доступа вы можете получить все детали списка всех страниц facebook, которые администрирует пользователь.

https://graph.facebook.com/[FACEBOOKUSERID]?metadata=1&access_token=

Вывод будет выглядеть как

{
   "name": "Facebook Developer Garage Austin - SXSW Edition",
   "metadata": {
      "connections": {
         "feed": "http://graph.facebook.com/331218348435/feed",
         "picture": "https://graph.facebook.com/331218348435/picture",
         "invited": "https://graph.facebook.com/331218348435/invited",
         "attending": "https://graph.facebook.com/331218348435/attending",
         "maybe": "https://graph.facebook.com/331218348435/maybe",
         "noreply": "https://graph.facebook.com/331218348435/noreply",
         "declined": "https://graph.facebook.com/331218348435/declined"
      }
   }
}
4 голосов
/ 18 февраля 2011

Используйте запрос FQL!Это лучший способ получить страницы, для которых пользователь является администратором.Вы также сможете ограничить имена также.т. е. страницы с пустыми именами. Пример fql-запроса, который также предоставляет данные о странице.

SELECT page_id,page_url,name,pic_square FROM page WHERE page_id IN (SELECT page_id FROM page_admin WHERE uid = " + **UserId** + ") and name!='' 

UserId - идентификатор администратора

Этот метод не будет работать с версии 2.1 графика API, поскольку fql устарела с этой версии и далее

2 голосов
/ 10 июня 2010

Я нашел ответ, вам нужно использовать FQL, передав соответствующий access_token:

https://api.facebook.com/method/fql.query?query=SELECT%20page_id%20FROM%20page_admin%20WHERE%20uid=XXXX&access_token=YYYY

1 голос
/ 01 января 2011

Вот что я использую. Работает отлично

$pages = $facebook->api(array('method' => 'fql.query','query' => 'SELECT page_id FROM page_admin WHERE uid = '.$uid.''));

foreach($pages as $k=>$v) {
    echo 'page id#:'.$v['page_id'].'<br/>';
}

Это, конечно, после того, как вы создали сеанс для пользователя fb! $uid будет идентификатором профиля конкретного пользователя Facebook, для которого вы возвращаете список управляемых страниц.

0 голосов
/ 12 июля 2017

Вы можете получить список страниц с помощью простого Facebook Graph API.

https://graph.facebook.com/{user-id}/accounts?access_token={access-token}

Это даст список страниц для пользователя, которого он / она создал.

0 голосов
/ 13 апреля 2015

access_token действителен в течение часа или меньше.Что должен сделать кто-то, чтобы получить детали даже после.Я пытался в результате получить результат от

https://graph.facebook.com/v2.3/search?q=coffee&type=place&center=37.76,-122.427&distance=1000&access_token=xyz

Это работало в течение часа или около того, но как я могу получить результат через час ... без входа в систему.

0 голосов
/ 29 декабря 2010

Fql - лучший способ получить страницы пользователя, для которого он является администратором.Поскольку другим нравится лайки пользователя, он предоставит все страницы, которые ему нравятся.

0 голосов
/ 18 июня 2010

@ rmorrison - это не API графа. С новым дополнением «Мне нравится» вы можете использовать этот URL: h ttps: //graph.facebook.com/me/likes? Access_token = blah! или h ttps: //graph.facebook.com/USER_ID/likes? access_token = бла!

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