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