Api graph Facebook - некоторые страницы возвращают пустой набор данных - PullRequest
5 голосов
/ 27 октября 2010

Я пытаюсь получить данные из Facebook, используя API графика.

Мой запрос выглядит так: http://graph.facebook.com/<page_name>/, он возвращает основные данные о странице.Если я запрашиваю: http://graph.facebook.com/<page_name/feed/, я получаю json с данными из фида этой страницы.

Некоторые страницы требуют аутентификации для доступа к ним - например, страница Smirnoff (http://graph.facebook.com/Smirnoff) и некоторыедругие "алкогольные" страницы (я думаю).Поэтому я сгенерировал access_token для приложения, которое использую, и дал ему разрешение на доступ к моей учетной записи.Теперь я могу получить basic данные для Smirnoff, но всякий раз, когда я пытаюсь получить доступ к данным более низкого уровня (например, feed или posts), я получаю пустой массив в json:

{
   "data": [

   ]
}

Есть ли способ получить эти данные из API?Или это заблокировано владельцем страницы?Или, может быть, моему авторизованному приложению нужны дополнительные разрешения?

Ответы [ 4 ]

2 голосов
/ 07 июня 2011

Что-то не так с упомянутой вами страницей. Я попытался https://graph.facebook.com/Smirnoff в моем Firefox и получил сообщение об ошибке «ложь».

Я попробовал страницу, упомянутую в официальном документе (https://developers.facebook.com/docs/reference/api/), и не нашел проблем.

Страницы: https://graph.facebook.com/cocacola (Страница Coca-Cola)

{
   "id": "40796308305",
   "name": "Coca-Cola",
   "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/203509_40796308305_256509_s.jpg",
   "link": "https://www.facebook.com/coca-cola",
   "category": "Food/beverages",
   "likes": 29964683,
   "website": "http://www.coca-cola.com",
   "username": "coca-cola",
   "founded": "1886",
   "products": "Coca-Cola is the most popular and biggest-selling soft drink in history, as well as the best-known product in the world.\n\nCreated in Atlanta, Georgia, by Dr. John S. Pemberton, Coca-Cola was first offered as a fountain beverage by mixing Coca-Cola syrup with carbonated water. Coca-Cola was introduced in 1886, patented in 1887, registered as a trademark in 1893 and by 1895 it was being sold in every state and territory in the United States. In 1899, The Coca-Cola Company began franchised bottling operations in the United States.\n\nCoca-Cola might owe its origins to the United States, but its popularity has made it truly universal. Today, you can find Coca-Cola in virtually every part of the world."
}

Я думаю, что я должен получить сообщение, предупреждающее меня, что я должен использовать токен доступа при попытке https://graph.facebook.com/Smirnoff.

OK. Позвольте мне продолжить. (Пожалуйста, замените текст жирным шрифтом на правильное значение.)

  1. Пожалуйста, войдите в Facebook и создайте приложение Facebook.

  2. Пожалуйста, перейдите по этой ссылке: https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=URL&scope=user_status,offline_access

  3. Пожалуйста, позвольте ваше приложение Facebook.

  4. Пожалуйста, получите токен доступа по этой ссылке: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

  5. Пожалуйста, получите токен доступа к приложению по этой ссылке: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

  6. Пожалуйста, посетите вашу страницу с полученным access_token.

Согласно https://developers.facebook.com/docs/reference/api/, Поддерживаемые соединения для людей и страниц включают:

Friends: https://graph.facebook.com/me/friends?access_token=...
News feed: https://graph.facebook.com/me/home?access_token=...
Profile feed (Wall): https://graph.facebook.com/me/feed?access_token=...
Likes: https://graph.facebook.com/me/likes?access_token=...
Movies: https://graph.facebook.com/me/movies?access_token=...
Music: https://graph.facebook.com/me/music?access_token=...
Books: https://graph.facebook.com/me/books?access_token=...
Notes: https://graph.facebook.com/me/notes?access_token=...
Permissions: https://graph.facebook.com/me/permissions?access_token=...
Photo Tags: https://graph.facebook.com/me/photos?access_token=...
Photo Albums: https://graph.facebook.com/me/albums?access_token=...
Video Tags: https://graph.facebook.com/me/videos?access_token=...
Video Uploads: https://graph.facebook.com/me/videos/uploaded?access_token=...
Events: https://graph.facebook.com/me/events?access_token=...
Groups: https://graph.facebook.com/me/groups?access_token=...
Checkins: https://graph.facebook.com/me/checkins?access_token=...

Если ваша страница является музыкальной страницей, попробуйте эту ссылку: https://graph.facebook.com/me/music?access_token=ACCESS_TOKEN

Пожалуйста, дайте мне знать, работает ли мой метод. Спасибо.

2 голосов
/ 05 июля 2012

Страница должна быть опубликована или в ленте ничего не отображается

0 голосов
/ 13 июля 2012

Я получаю ошибку, особенно на Coca Cola. Когда я отправляю свой access_token в GET, он может вытащить фотографии их альбомов. Если нет, это просто пустой набор.

0 голосов
/ 27 октября 2010

Большая часть содержимого, к которому вы пытаетесь получить доступ, доступна только через API, если вы являетесь администратором этой страницы.Когда в результате вы получаете пустой массив, почти всегда бывает так, что предоставленный маркер доступа не имеет доступа к тому, что вы запрашиваете.Если бы токен доступа был недействительным, то API на самом деле выдавал бы ошибку.

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