简体   繁体   中英

Multipule posts in loop with FbGraph gives: OAuthException :: (#1) An error occured while creating the share

I'm having an issue posting posts to a page, and only get the helpful error:
OAuthException :: (#1) An error occured while creating the share

The first 20 or so posts worked great, then it started to error.
Does facebook have a limit on the number of posts one can make to a page (spam) or something?

I can reproduce form rails c and I have triple checked my access_token and can manually post from FB directly.
(I'm using the page access_token not my user one)

I opened a issue on FbGraph's githup but nov seems to think its a FB issue.

My Code:

    admin = Admin.first

    page = FbGraph::Page.new(admin.facebook_page_id)

    Story.where(:facebook_post_id => nil).all.each do |story|
      post = page.feed!(
        :link => 'http://www.example.com/stories/'+story.cached_slug,
        :access_token => admin.facebook_page_access_token
      )

      story.facebook_post_id = post.identifier
      story.live = true
      story.save

      sleep 1
    end

Backtrace:

FbGraph::InvalidRequest: OAuthException :: (#1) An error occured while creating the share
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/fb_graph-2.6.4/lib/fb_graph/exception.rb:47:in `block in handle_httpclient_error'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/fb_graph-2.6.4/lib/fb_graph/exception.rb:44:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/fb_graph-2.6.4/lib/fb_graph/exception.rb:44:in `handle_httpclient_error'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/fb_graph-2.6.4/lib/fb_graph/node.rb:142:in `handle_response'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/fb_graph-2.6.4/lib/fb_graph/node.rb:55:in `post'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/fb_graph-2.6.4/lib/fb_graph/connections/feed.rb:14:in `feed!'
    from (irb):9:in `block in irb_binding'
    from (irb):5:in `each'
    from (irb):5
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:47:in `start'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:8:in `start'
    from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

Update:

It looks like my access_token was banned for 24 hours.

I was just able to add another 28 posts to the page before getting this error again. I tried with a 10sec sleep this time but still got banned... I guess I will try with a 60sec sleep tomorrow.. :(

I was not able to fix this problem but I have worked around it.

By uploading 1 post every 3 minutes I was able to get 200-300 posts up a day.

admin = Admin.first

page = FbGraph::Page.new(admin.facebook_page_id)

Story.where(:facebook_post_id => nil).all.each do |story|
  post = page.feed!(
    :link => 'http://www.example.com/stories/'+story.cached_slug,
    :access_token => admin.facebook_page_access_token
  )

  story.facebook_post_id = post.identifier
  story.live = true
  story.save

  sleep 180
end

I hope this helps someone else with this problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM