Facebook API - лента новостей с постами на стене - PullRequest
15 голосов
/ 06 марта 2012

Я получаю новостную ленту пользователя с помощью API Facebook и отображаю некоторые данные на странице.Однако у меня проблемы с постами на стене.Данные, возвращаемые API, рассматривают запись на стене как обновление «статуса» пользователем публикации, и данные не включают в себя поле, чтобы указать, кому запись на стене написана.Можно ли сделать запрос на предмет, чтобы проверить, является ли это сообщение на стене или нет?Или я могу получить имя получателя?

Вот код, который я использую для получения новостной ленты пользователя:

FB.api('/me/home', function (response) { console.log(response) });

Aсообщение на стене просто даст мне message (содержание сообщения на стене) и type из status.Например:

Если Оливер написал на стене Джона , сказав: "Привет", Facebook даст мне:

{
    from: {
        name: "Oliver"
    },
    message: "Hi",
    type: "status"
}

Естьмне нечего сказать, что это сообщение на стене или кто получатель.Результат включает в себя некоторые другие произвольные данные, но ничего из этого не помогает (id, created_time и т. Д.)

1 Ответ

32 голосов
/ 06 марта 2012

Facebook сделал эту тему слишком запутанной.Просто читая их документацию по объекту пользователя в Graph API, вы догадываетесь: http://developers.facebook.com/docs/reference/api/user/

/ user / feed Стена пользователя.

/ user/ home Лента новостей пользователя.

/ user / statuses Обновление статуса пользователя.

Почему у них не может быть "стены"/ user / wall и «новостная лента» / user / newsfeed «Обновления статуса» как / user / statusupdates сделать просто, я никогда не узнаю!

Итак, чтобы получить список обновлений статуса, сделайтеHTTP Get к http://graph.facebook.com/me/statuses?access_token=ValidUserAccessToken для текущего пользователя.

Чтобы получить список элементов стенового потока, выполните HTTP Get к http://graph.facebook.com/me/wall?access_token=ValidUserAccessToken для текущего пользователя.

Чтобы получить списокэлементов потока домашних каналов, выполните HTTP Get to http://graph.facebook.com/me/home?access_token=ValidUserAccessToken для текущего пользователя.

Когда вы сталкиваетесь с «from» и задаетесь вопросом, кому это нужно, это «для» пользователя, который обращается к вам с токеном.Вы используете при звонке /me/.... или если вы звоните с определенным идентификатором /UserId/..., тогда это будет идентификатор пользователя для "to".


Другойght: получить полный объект из потокового объекта таблицы FQL (developers.facebook.com/docs/reference/fql/stream) и посмотреть, есть ли там какая-то информация, которая не предоставляется через объект Graph.

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