График Facebook api не возвращает достаточно информации о ленте новостей, чтобы восстановить то, что вы видите на домашней странице Facebook - PullRequest
3 голосов
/ 05 августа 2011

Как я могу получить более подробную информацию о новостных лентах? (Я использую последнюю версию php sdk v3.0.1)

Если я посмотрю на своей домашней странице в Facebook, я увижу сообщение, подобное этому:

"Крис XXX и двое других друзей изменили свои профили" Изображение профиля Crhis показывается слева, а два других - внизу. Вот снимок экрана: facebook feed creenshot

Я пытаюсь продублировать данные фида на моем сайте, но я не получаю достаточно информации из Graph API. Вот что я пробовал и некоторые примеры php print_r дампов данных, которые я получаю:

$facebook->api("/me/home");

print_r outputs:
Array 
( 
[id] => XXX_YYY
[from] => Array ( [name] => Christopher ZZZ [id] => 100BBB ) 
[picture] => http://profile.ak.fbcdn.net/hprofile-ak-snc4/CCC_DDD_EEE_q.jpg 
[link] => http://www.facebook.com/profile.php?id=FFF 
[icon] => http://static.ak.fbcdn.net/images/icons/?8: 
[type] => link 
[application] => Array ( [name] => Photos [id] => 2305272732 ) 
[created_time] => 2011-08-04T22:26:04+0000 
[updated_time] => 2011-08-04T22:26:04+0000 
)

XXX_YYY - это идентификатор этой записи новостной ленты.
[picture] и [link] - это миниатюра и ссылка на профиль первого из «2 других друзей», которые изменили свою фотографию. Там нет ссылки на аватар Криса XXX и вообще нет упоминаний о другом друге, который изменил свою фотографию.

Я подумал, что мог бы получить больше информации, запросив данные по этой записи фида напрямую, но это дало еще меньше информации:

$result = $facebook->api("/XXX_YYY");

print_r outputs:

Array 
( 
[id] => XXX_YYY
[from] => Array ( [name] => Christopher ZZZ [id] => 100BBB ) 
[type] => status 
[created_time] => 2011-08-04T22:26:04+0000 
[updated_time] => 2011-08-04T22:26:04+0000
)  

1 Ответ

0 голосов
/ 24 сентября 2013

Обратите внимание, что те изменения профиля изображения, которые вы видите на стене, не связаны друг с другом напрямую в базе данных.

Все эти отношения рассчитываются по некоторым данным, таким как:

  • время каждого изменения профиля изображения каждого пользователя
  • вид и уровень отношений между этими сгруппированными пользователями
  • (может быть, некоторые дополнительные фильтры могут применяться Facebook?)

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

Если каким-либо образом вы получаете информацию об обоих, вам нужно будет написать свои собственные функции группировки по типу поста (в данном случае - тип «изменение профиля»), реплицируя функцию Facebook.

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