Я читаю книгу Facebook Platform Development, чтобы попытаться закодировать небольшую игру для Facebook, и я столкнулся с «маленькой» проблемой: я пытаюсь вставить пользователя каждый время, которое регистрируется, в базу данных на моем компьютере. Я использую пару методов, написанных в книге, но там, кажется, несколько проблем:Проблема сеанса с использованием Facebooker с Ruby on Rails
Я не могу показаться, чтобы получить session_key из Facebook с помощью Facebooker помощников для RoR, и, таким образом, это значение равно null в таблице в моей базе данных.
Каждый раз, когда я перезагружаю веб-страницу, я вижу, что хотя facebook_id тот же, тот же пользователь добавляется в другую строку в мою таблицу в базе данных, хотя это не должно; это просто должно обновить атрибут session_key, если это изменится - в любом случае, сейчас это значение равно null.
Эти три метода, которые я использую для того, чтобы выполнить все это:!
def self.for(facebook_id,facebook_session=nil)
user = User.find_or_create_by_facebook_id(facebook_id)
unless facebook_session.nil?
user.store_session(facebook_session.session_key)
end
end
def store_session(session_key)
if self.session_key != session_key
update_attribute(:session_key, session_key)
end
end
# Re-create a Facebooker::Session object outside a request
def facebook_session
@facebook_session ||= returning Facebooker::Session.create do |session|
# Facebook sessions are good for only one hour storing
session.secure_with!(session_key,facebook_id,1.hour.from_now)
end
end
Большое спасибо заранее всем 1.
Ну, книга не обновлена - написана в 2007 году, но большинство вещей, о которых он говорит, действительно работают, поскольку на самом деле у меня работает приложение даже с аутентификацией - возможно, потому что я использую Facebooker (http://facebooker.rubyforge.org), и это «человек посередине» между мной и Facebook, но сеансы не работают, и я не нахожу Не знаю, где посмотреть. – noloman
Ах, извините, но все, что я написал на протяжении многих лет с помощью facebook, похоже, не работает. Я думаю, что они содержат некоторые зависимости, работающие или просто случайно изменяющие различные вызовы api. Я бы настоятельно рекомендовал гиперграфию и фактический график facebook api. – Steve
вместо facebooker вы имеете в виду? – noloman