2
我正在阅读Facebook平台开发书,以尝试为Facebook编写一个小型游戏,并且遇到了一个“小”问题:我试图插入一个用户记录时间记录到我的电脑中的数据库中。我使用了几个写在书的方法,但似乎有两个问题:使用Facebooker与Ruby on Rails的会话问题
我似乎无法使用Facebooker佣工的回报率从Facebook获取session_key可以,因此本值在我的数据库表中为空。
每次我重新加载网页,我都能看到即使facebook_id是相同的,同一个用户也会被添加到我的数据库表中的另一行,即使它不应该;它只是应该更新属性session_key,如果这个更改 - 一方面,现在它是空的。
这是三个方法我使用,以便执行这一切!
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 2010-08-10 12:14:11
啊 - 抱歉,但我多年来使用Facebook写的东西似乎没有工作。我认为他们保持一些依赖工作或随机更改各种API调用。我强烈推荐超图和实际的facebook图表api。 – Steve 2010-08-10 13:26:35
而不是你的意思? – noloman 2010-08-10 13:56:46