Многократные записи в цикле с FbGraph дают: OAuthException:: (#1) Произошла ошибка при создании общего ресурса
У меня проблема с публикацией сообщений на странице, и я получаю только полезную ошибку:OAuthException :: (#1) An error occured while creating the share
Первые 20 или около того постов работали замечательно, потом начались ошибки.
Есть ли у facebook ограничение на количество постов на странице (спам) или что-то еще?
Я могу воспроизвести форму rails c
и я трижды проверил свой access_token и могу вручную отправлять сообщения из FB.
(Я использую page
access_token не мой user
один)
Я открыл вопрос о Githup от FbGraph, но nov, похоже, считает его проблемой FB.
Мой код:
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>'
Обновить:
Похоже, мой access_token был забанен на 24 часа.
Я только смог добавить еще 28 постов на страницу, прежде чем снова получить эту ошибку. Я пробовал с 10-секундным сном на этот раз, но все равно получил бан... Думаю, завтра попробую с 60-секундным сном..:(
1 ответ
Я не смог решить эту проблему, но я работал над этим.
Загружая 1 сообщение каждые 3 минуты, я смог получить 200-300 сообщений в день.
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
Я надеюсь, что это помогает кому-то еще с этой проблемой.