2012-02-13 60 views
1

我有一個應用程序的登錄屏幕,並邀請用戶使用Facebook登錄按鈕。 集成的身份驗證部分正常工作。我還解析了返回的cookie變量以獲取用戶標識。下一步是獲取用戶信息。ColdFusion Facebook集成

我發現這個計算器文章Difficulty parsing string with Facebook one click sign on and ColdFusion它說

一旦你解析signed_request(存儲在cookie中),您可以使用 USER_ID(這是Facebook的用戶ID)和組oauth_token(又名的access_token) 得到通過Graph API或FQL需要的信息。

但是,你如何獲得海報所說的access_token?它不在cookie變量中(我可以看到)。

對不起,這樣的菜鳥。我讓推特工作輕鬆。 Facebook是一種痛苦。

回答

2

https://developers.facebook.com/docs/authentication/是你的朋友。閱讀服務器端流程部分。 。

「如果用戶按下允許,您的應用程序授權的OAuth對話框將重定向(通過HTTP 302),用戶的瀏覽器到你的REDIRECT_URI參數傳遞與授權碼的網址:

http://YOUR_URL?code=A_CODE_GENERATED_BY_SERVER 隨着這個代碼在手,你可以繼續下一步,應用程序認證,以獲得您需要進行API調用的訪問令牌。

爲了驗證您的應用程序,您必須將授權代碼和您的應用程序密鑰傳遞給Graph API令牌端點 - 以及上面使用的完全相同的redirect_uri - 在https://graph.facebook.com/oauth/access_token。應用程序密鑰可用f rom開發人員應用程序,不應該與任何人共享或嵌入任何您將分發的代碼(您應該在這些情況下使用客戶端流)。

https://graph.facebook.com/oauth/access_token? CLIENT_ID = YOUR_APP_ID & REDIRECT_URI = YOUR_URL & client_secret = YOUR_APP_SECRET &碼= THE_CODE_FROM_ABOVE 如果您的應用程序被成功驗證,並從用戶的授權碼是有效的,授權服務器將返回訪問令牌:

除訪問令牌(access_token參數),該響應包含令牌到期之前的秒數(expires參數)。一旦令牌到期,您將需要重新運行上述步驟以生成新的代碼和access_token,但如果用戶已經授權了您的應用,則不會再提示他們這樣做。如果您的應用需要具有無限到期時間的訪問令牌(可能在用戶未使用您的應用後代表用戶採取操作),則可以請求offline_access權限。「