无法通过Koala&Rails订阅Facebook Page Feed。



有人能够通过考拉向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. 正确设置您的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必须具有适当的权限才能接收Feed实时更新。特别是,我不得不将"read_stream"添加到scope参数中。我使用的是带有Omniauth的设备,下面是devise.rb文件中的一个示例:

    config.omniauth:facebook,"APP_ID","APP_SECRET",{:scope=>"publish_stream,email,offline_access,user_location,user_likes,user_interest,read_stream和manage_pages",:client_options=>{:ssl=>{∶ca_file=>'/usr/lib/ssl/certs/ca-certes.crt'}}

我真的希望这能帮助其他像我一样挣扎的人。

最新更新