Я боролся с этой проблемой весь день, и мне действительно может понадобиться какой-то вклад.
У меня есть приложение 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 run console
и введу код вручную, она прекрасно работает.
Первая мысль была о том, что game_url(review.game)
где винить, но после добавления сообщения журнала я уверен, что оно возвращает правильный URL.И, поскольку все работает, когда я запускаю его вручную через консоль heroku, он подтверждает, что URL-адрес должен быть доступен, и доставляет запрошенные данные.
Любая обратная связь или опыт с этим очень приветствуются.