現在各大網站都有使用Oauth的認證機制,Facebook當然也不例外
事前準備:
到Facebook Apps註冊一個Application
(注意:App Domains 最好是輸入自己的domain,例如johnsonlu.org;這樣未來需要用到其他API時,Facebook才會認定這個網域)
1.透過Web Service取得Facebook的代碼
- client_id : 你的App ID
- redirect_uri : 認證結束後,要將token傳到哪個網址(一定要/符號結尾)
- scope : 向使用者要求的權限(用逗號分開);權限列表
- state : 自訂唯一的字串,認證後該字串會一起傳回,方便開發者驗證
https://www.facebook.com/dialog/oauth? client_id=YOUR_APP_ID &redirect_uri=YOUR_REDIRECT_URI &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES &state=SOME_ARBITRARY_BUT_UNIQUE_STRING
2.將代碼轉換成access_token
- client_id : 你的App ID
- redirect_uri : 驗證url(要與第一步驟的url相同,不然會出現Error validating verification code的訊息)
- client_secret : 你的App Secret ID
- code: 第一步驟產生的代碼
https://graph.facebook.com/oauth/access_token? client_id=YOUR_APP_ID &redirect_uri=YOUR_REDIRECT_URI &client_secret=YOUR_APP_SECRET &code=CODE_GENERATED_BY_FACEBOOK
成功後Service會回傳access_token和expires(token存活時間;秒)
API參考
3.透過Web Service登出
- next : 登出後,要將token傳到哪個網址
- access_token : 登入取得的token
https://www.facebook.com/logout.php? next=YOUR_REDIRECT_URL &access_token=USER_ACCESS_TOKEN
補充用法
取得大頭貼
http://graph.facebook.com/UID/picture
取得登入者的資訊
https://graph.facebook.com/me?access_token=xxx
1 Comment
佛祖球球 » Blog Archive » [PHP]Facebook PHP-SDK · 25 8 月, 2012 at 8:51 下午
[…] 既然是SDK,使用方式比直接用Server side的方式方便許多,不過前置作業還是不可少(請參考這篇的事前準備) […]
Comments are closed.