Не могу подписаться на фид Facebook через Koala & Rails

Кто-нибудь смог на самом деле подписаться на канал через Коала в Facebook? Я могу подписаться на лайки пользователей, друзей, каналы и т. Д., А также на страницу фотографий, чеков. Но я не могу заставить Facebook подписаться и публиковать обновления на странице каналов. Вот что я запускаю через консоль Rails (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 ответ

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

  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 => {: ca_file => > '/usr/lib/ssl/certs/ca-certificates.crt'}}}

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

Другие вопросы по тегам