我已經瀏覽了一些關於這方面的信息,但我發現的所有SDK版本2.X.X,現在與3.0.0版本不工作。Facebook與PHP的API - 無限會話
我需要的是獲取用戶信息,並將其用作服務器隨時發佈而不依賴於cookie。
任何想法如何做到這一點?舊的教程sugests是這樣的:
$facebook->getSession()
和會議上,我會得到的鑰匙,但這種方法不存在了。任何想法如何獲得會話密鑰並重新使用它?
謝謝!
我已經瀏覽了一些關於這方面的信息,但我發現的所有SDK版本2.X.X,現在與3.0.0版本不工作。Facebook與PHP的API - 無限會話
我需要的是獲取用戶信息,並將其用作服務器隨時發佈而不依賴於cookie。
任何想法如何做到這一點?舊的教程sugests是這樣的:
$facebook->getSession()
和會議上,我會得到的鑰匙,但這種方法不存在了。任何想法如何獲得會話密鑰並重新使用它?
謝謝!
如果你需要一個 「無限」 會議上,索要offline_access
許可。從那裏,你必須從會話中獲取access_token
並將其存儲在數據庫中。
Facebook爲PHP提供的SDK旨在在用戶瀏覽您的網站時調用和使用 - 在沒有用戶直接介入的情況下執行Facebook API調用的操作需要更強大的操作,但使用相同的方法但保存了令牌由cronjobs或後臺進程啓動。
驗證和授予權限的oAuth 2.0流程詳見Facebook文檔。
http://developers.facebook.com/docs/authentication/
可以甚至不需要使用使用像CURL一個標準的HTTP請求庫中的SDK執行這裏手動描述的邏輯。基本上,當用戶第一次授予訪問權限時,需要向Facebook發送請求,此時瀏覽器應完全重定向到FB登錄/權限對話框。在此查詢中,您指定了您需要的權限。您可以使用redirect_uri
參數將其指向應用程序中的端點,然後將該數據返回給Facebook,並將其發送回訪問令牌,然後將最終的oAuth令牌保存到與該用戶關聯的文件或數據庫行。
對於您所描述的操作類型,您需要在向Facebook進行URL調用時請求offline_access
權限。這會生成一個令牌,該令牌將永久有效,直到用戶使用「Aps」界面撤銷其在Facebook帳戶中的權限。
您可以進一步瞭解OAuth這裏: http://oauth.net/2/
我也強烈建議訂閱Facebook的開發RSS提要。他們經常對他們如何操作API做出巨大改變,並且通常只在那裏宣佈。
謝謝你的回覆,但我已經注意到了,我不能使用faceook-php sdk進入解決方案。我已經設法用flash-facebook api搞定了一個無限的會話,但現在我需要它在php上工作,你知道我在哪裏可以找到任何示例代碼嗎? – Gilson 2011-06-09 18:54:57
我有訪問令牌,現在我在後來從數據庫中獲取後設置它?這是我的疑問... – Gilson 2011-06-09 22:52:19
$ facebook-> setAccessToken應該做的伎倆 – Yuliy 2011-06-09 22:59:14