Откройте Graph & Rails, не получая URL объекта

Я использую Rails, чтобы попытаться добавить действие для объекта, определенного для моего приложения на открытом графике. Я использую:after_filter в моем контроллере для вызова следующего после сеанса #create:

@graph.put_connections('me', 'workkout:complete', :session => url_for([@plan, @session]))

Я получаю следующее от Facebook:

{"error":{"type":"Exception","message":"Could not retrieve data from URL.","code":1660002}}

Я проверил, что правильный адрес передается в put_connections, и когда я захожу на этот URL с помощью инструмента Lint в Facebook, все верно.

Я не могу понять, почему это не работает, моя единственная мысль - это то, что Facebook нажимает на URL за несколько секунд до того, как rails сгенерировал объект? - не уверен, что это вообще возможно.

Кто-нибудь может пролить свет на это?

1 ответ

Решение

Оказывается, это потому, что действие create и методы put_connection размещаются в независимых потоках, и поэтому URL-адрес не готов, когда вызывается put_connections. Решение здесь http://railscasts.com/episodes/363-facebook-open-graph?autoplay=true

Другие вопросы по тегам