Страница фанатов Facebook против API потоковой передачи Twitter - PullRequest
5 голосов
/ 28 апреля 2011

Что является аналогом Twitter Streaming API для фан-страницы Facebook?

Как я могу получать обновления в режиме реального времени со страницы фанатов Facebook?

1 Ответ

2 голосов
/ 28 апреля 2011

Вы должны использовать API в реальном времени с Facebook: http://developers.facebook.com/docs/api/realtime/

Чтобы делать то, что вы просите, вы должны подписаться на page объекты и их feed соединение.

ДляЧтобы добавить подписку, вы должны отправить запрос POST по адресу:

https://graph.facebook.com/<app-id>/subscriptions?access_token=...

И для этого вам нужен токен доступа, который вы можете получить по адресу:

https://graph.facebook.com/oauth/access_token?client_id=<app-id>&client_secret=<app-secret>&grant_type=client_credentials

Поля, которые должны бытьв данных POST:

  • object - тип объекта для мониторинга, например, «пользователь» или «права доступа».Вы будете контролировать все объекты этого типа;например, все пользователи вашего приложения.
  • fields - список через запятую.Это список свойств или соединений для указанного объекта.Например, чтобы отслеживать изменения имени пользователя, изображения, друзей и ленты новостей, вы должны указать «имя, изображение, друзей, канал»
  • callback_url - URL-адрес обратного вызова, на который Facebook будет публиковать обновления подписки..

И вы можете указать

  • verify_token - предоставленный подписчиком непрозрачный токен, который будет возвращен обратно в запросе проверки, чтобы помочь подписчику определить, какая подписказапрос проверяется.Если это не включено, токен не будет включен в запрос проверки.Это из спецификации PubSubHubbub.

Как только ваш URL обратного вызова будет проверен, вы будете получать обновления при изменении данных в фиде страницы на вашем URL обратного вызова в виде объектов json, вот пример дляпользователь:

{
"object": "user",
"entry": 
[
    {
        "uid": 1335845740,
        "changed_fields": 
        [
            "name",
            "picture"
        ],
       "time": 232323
    },
    {
        "uid": 1234,
        "changed_fields": 
        [
            "friends"
        ],
       "time": 232325
    }
]
}

Вы также можете выполнить GET и DELETE для одного и того же URL, чтобы получить список ваших подписок и удалить подписки.

Но все детали есть в фейсбуке документ

...