3

ユーザーのFacebookフィードにメッセージを投稿するためにfb_graphrailsgemを使用しています。

次の権限をリクエストしました。

:scope => 'email, publish_actions, offline_access, publish_stream'

ユーザーのフィードに投稿できます。しかし、私はそれを破壊することはできません。

Railsコンソールで以下を実行すると、エラーが表示されます。

me = FbGraph::User.me( user.access_token )
@facebookpost = me.feed!( :message => "sample feed message", :description => 'sample message')
post = me.feed.find(@facebookpost.identifier).first

post.destroy # this generates the following error

FbGraph::InvalidRequest: OAuthException :: (#100) Invalid parameter
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/exception.rb:47:in `block in handle_httpclient_error'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/exception.rb:44:in `each'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/exception.rb:44:in `handle_httpclient_error'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/node.rb:146:in `handle_response'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/node.rb:63:in `delete'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/node.rb:43:in `destroy'
from (irb):67
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.1.3/lib/rails/commands/console.rb:45:in `start'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.1.3/lib/rails/commands/console.rb:8:in `start'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.1.3/lib/rails/commands.rb:40:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

  1.9.2-p318 :068 > post.destroy(user.access_token)
TypeError: can't convert Symbol into String
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/node.rb:93:in `delete'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/node.rb:93:in `build_endpoint'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/node.rb:61:in `delete'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/fb_graph-2.4.12/lib/fb_graph/node.rb:43:in `destroy'
from (irb):68
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.1.3/lib/rails/commands/console.rb:45:in `start'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.1.3/lib/rails/commands/console.rb:8:in `start'
from /home/invinc/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.1.3/lib/rails/commands.rb:40:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

許可を逃しましたか?この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

投稿を削除できます

FbGraph::Post.new(fb_post_id).destroy(access_token: "access_token")

しかし、最高のAPIではありません...

于 2012-06-18T09:16:27.410 に答える
0

v2.4では、fb_post_idをクライアントIDと組み合わせる必要があります。

FbGraph2::Post.new("#{client_id}_#{fb_post_id}", access_token: "access_token").destroy

于 2015-10-07T16:37:45.903 に答える