0

実際に Koala 経由で 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>'
4

1 に答える 1

0

わかりました...もう一度、私はそれを理解したと思います。ここに私が修正したものがあります:

  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」を追加する必要がありました。私は Omniauth で devise を使用しています。devise.rb ファイルの例を次に示します。

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

これが私のように苦労している他の人の助けになることを願っています。

于 2012-01-11T16:55:29.427 に答える