Не могу подписаться на фид Facebook через Koala & Rails - PullRequest
0 голосов
/ 11 января 2012

Кто-нибудь смог подписаться на канал через Koala на Facebook? Я могу подписаться на лайки пользователей, друзей, каналы и т. Д., А также на страницу фотографий, чеков. Но я не могу заставить Facebook подписаться и публиковать обновления на странице каналов. Вот что я бегу через Rails Console (URL-адрес обратной передачи изменен)

updates.subscribe("page", "feed", "http://domain.com/facebook_updates", FacebookUpdatesController::VERIFY_TOKEN)
Koala::Facebook::APIError: OAuthException: (#100) "feed" is an invalid field name
    from /opt/ruby/lib/ruby/gems/1.9.1/gems/koala-1.2.1/lib/koala/graph_api.rb:217:in `block in graph_call'
    from /opt/ruby/lib/ruby/gems/1.9.1/gems/koala-1.2.1/lib/koala.rb:69:in `api'
    from /opt/ruby/lib/ruby/gems/1.9.1/gems/koala-1.2.1/lib/koala/graph_api.rb:215:in `graph_call'
    from /opt/ruby/lib/ruby/gems/1.9.1/gems/koala-1.2.1/lib/koala/realtime_updates.rb:62:in `subscribe'
    from (irb):66
    from /opt/ruby/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:45:in `start'
    from /opt/ruby/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:8:in `start'
    from /opt/ruby/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:40:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

1 Ответ

0 голосов
/ 11 января 2012

Хорошо ... еще раз, я думаю, я понял это. Вот что я исправил:

  1. Правильно настройте приложение Facebook, чтобы оно было доступно для страниц Facebook. Смотри учебник http://www.hyperarts.com/blog/tutorial-add-an-iframe-application-to-your-facebook-fan-page-fall-2012/
  2. Вы должны подписаться на 'user', 'feed', чтобы получить доступ к данным фида страницы. Пример:

    updates.subscribe ("пользователь", "лента", "http://domain.com/facebook_updates", FacebookUpdatesController :: VERIFY_TOKEN)

  3. Omniauth должен иметь соответствующие разрешения для получения обновления в режиме реального времени. В частности, мне пришлось добавить read_stream к параметру области. Я использую devise с Omniauth, вот пример из файла devise.rb:

    config.omniauth: facebook, 'APP_ID', 'APP_SECRET', {: scope => 'publish_stream, электронная почта, offline_access, user_location, user_likes, user_interests, read_stream, manage_pages', : client_options => {: ssl => {: ca_file => '/usr/lib/ssl/certs/ca-certificates.crt' угн

Надеюсь, это поможет другим, которые боролись, как я.

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