手動建立Facebook自動登入(v1.0-v2.2) Manually Build a Login Flow

此文章支援 v1.0、v2.0~v2.2

臉書提供三種「自動登入臉書帳號」的方式,javascript SDK、PHP SDK,以及手動建立。本篇只談手動建立,是利用 Facebook Graph API,有三個步驟。

  1. 請求code參數
  2. 用回傳的code參數,請求access_token參數
  3. 用回傳的access_token參數,取得使用者個資

Graph API v1.0


1. 請求code

 https://www.facebook.com/dialog/oauth?
     client_id={YOUR_APP_ID}
    &redirect_uri={YOUR_REDIRECT_URL}
 code=AQBW3oLLO7UBdYIlBiycdsq0-uBynPisB4cLGoNaVqo...(略)

2. 請求access token

 https://graph.facebook.com/oauth/access_token?
     client_id={YOUR_APP_ID}
    &redirect_uri={SAME_REDIRECT_URL}
    &client_secret={YOUR_APP_SECRET}
    &code={CODE_STRING}
access_token=CAADh9ZCitjocBANzxLfZACFZCUNIajhZAER2EqBRSYLB5IIH...(略)

3. 用回傳的access_token參數,取得使用者個資

 https://graph.facebook.com/me?
     access_token={ACCESS_TOKEN_STRING}
得到登入者資料的json囉!
{
   "id": "00000012345",
   "first_name": "帥帥",
   "gender": "男",
   "last_name": "薛",
   "locale": "zh_TW",
   "name": "薛帥帥",
   "timezone": 8,
   "verified": true
}

Graph API v2.0-v2.2


由於官方聲明將在2015/4/30之後停用v1.0,若你要升級,只要加上/v版本編號/就好。

例如你若想要用 v2.0

1. 請求code。

 https://www.facebook.com/v2.0/dialog/oauth?
     client_id={YOUR_APP_ID}
    &redirect_uri={YOUR_REDIRECT_URL}

2. 這一步同 v1.0

 https://graph.facebook.com/oauth/access_token?
     client_id={YOUR_APP_ID}
    &redirect_uri={SAME_REDIRECT_URL}
    &client_secret={YOUR_APP_SECRET}
    &code={CODE_STRING}

3. 用回傳的access_token參數,取得使用者個資

 https://graph.facebook.com/v2.0/me?
     access_token={ACCESS_TOKEN_STRING}
得到登入者資料的json囉!
{
   "id": "00000012345",
   "first_name": "帥帥",
   "gender": "男",
   "last_name": "薛",
   "locale": "zh_TW",
   "name": "薛帥帥",
   "timezone": 8,
   "verified": true
}


Graph API v1.0升級 v2.0+,參考自官方的 Facebook Platform Upgrade Guide

留言

這個網誌中的熱門文章

AngularJS (1) 宣告ng-app

href with relative url 在錨點使用相對路徑