Я боролся с этой проблемой весь день, и мне действительно может понадобиться некоторая информация.
У меня есть приложение Rails (3.1.3), работающее на Heroku Cedar, и я пытаюсь опубликовать некоторые действия Facebook Open Graph с помощью gem fb_graph (2.4.0).
Это мой код.
begin
app = FbGraph::Application.new(ENV['facebook_app_id'])
me = FbGraph::User.me(user.facebook_access_token)
logger.info "Facebook: User #{user.name} reviewing game #{game_url(review.game)}"
action = me.og_action!(
app.og_action(:review),
:game => game_url(review.game),
:content => review.review,
:rating => review.rating
)
rescue Exception => exc
logger.error "Failed to publish review #{review.id} to facebook #{user.facebook_auth}"
logger.error "Facebook error msg: #{exc.message}"
end
Если я перейду на страницу своего приложения, которое попытается запустить этот код, произойдет сбой со следующим сообщением.
FbGraph::InvalidRequest (Exception :: Could not retrieve data from URL.)
Но если я открою консоль Heroku, запущу консоль heroku
и наберу код вручную, все будет работать отлично.
Моей первой мыслью было, что game_url(review.game)
виноват, но после добавления сообщения журнала я уверен, что он возвращает правильный URL. И, поскольку все это работает, когда я запускаю его вручную через консоль heroku, он подтверждает, что этот URL-адрес доступен и доставляет запрошенные данные.
Мы будем очень признательны за любые отзывы или опыт.