2012-08-06 26 views
1

我已經通過Facebook在我的ruby on rails網站上驗證了用戶身份。我有訪問令牌。 網站/應用程序已在Facebook上註冊。 我的下一步是向通過Facebook登錄應用的用戶顯示使用相同應用的用戶的朋友。基本上:如果我是一個應用程序的用戶A,並且我通過Facebook登錄應用程序,我應該能夠看到所有使用該應用程序的朋友。使用Ruby on Rails中的相同應用程序獲取Facebook好友

我想我可以使用:https://graph.facebook.com/me/friends?access_token=....../api/ 但是,在這種形式返回的朋友,我不明白如何使用這些數據來比較我的網站數據庫中的ID,然後顯示誰使用這個應用程序。 enter image description here

感謝您的幫助。

+0

我在圖API上得到這個列表,但沒有在我的應用程序上。你是怎麼得到的? – indb 2016-02-23 10:37:54

回答

0

您應該沿着您的網站使用的內部ID記錄Facebook ID,然後使用這些集合的重疊。

您添加一列到數據庫來存儲Facebook的帳號,也就是說,fb_id,然後做

ids = res['data'].map { |obj| obj['id'] } 
User.where(:fb_id => ids) 

據我記得,ActiveRecord的將用「IN(..)」爲列其中作爲數組傳遞。

+0

你好,我理解這個邏輯。但它的編程部分,給我的問題。 1)如何將這些數據存儲在任何變量中? 2)我如何比較? – 2012-08-06 10:24:43

+0

我更新了答案 – Roman 2012-08-06 10:57:54

+0

Hi Roman, 感謝您的回答。 這太棒了,只是前進了一步。 我複製粘貼鏈接找到。但在代碼上,我寫的是 : res ['data'] = https://graph.facebook.com/me/friends?access_token=....../api/ 當我這樣做時,它給我一個未定義的局部變量或方法'RES'爲#<#:0x007ffd1b20f970> 對不起,我很困擾,對軌道上的ruby很新。 你不知道這會有多大的幫助。 – 2012-08-06 11:58:07

相關問題