> NPO 小記事本: FaceBook OAuth 使用

2014/8/28

FaceBook OAuth 使用


FaceBook可以使用  OAuth 的方式來取的使用者授權,主要是使用網址回傳的方式來取得授權,所以可以直接貼在網址上,會回返JSON的格式內容.

FB官方說明



1.

    client_id = FB App_ID
    scope = 要取得的權限類型,詳細可以參考 Permissions with Facebook Login
    redirect_uri:取得授權完之後要返回的連結,要跟FB API裡面設定的網址相同

網址:
        https://www.facebook.com/dialog/oauth?client_id=522523007881442&scope=email,user_birthday&redirect_uri=http://localhost:8080/

回返的code=XXX 為第一階段的授權,請先記下來

 2.
    接下來將code 值貼入以下網址取回 access_token ,使用以下的網址;填入所需的值
   
    client_secret:你的應用程式密鑰 App Secret
    code:你剛剛接下來的 code 參數

 網址:
https://graph.facebook.com/oauth/access_token?client_id=522523007881442&redirect_uri=http://localhost:8080/&client_secret=1f83e5443114a7c8942d2efeab1d1c73&code=XXX

執行後會返回 access_token值和 expires(seconds) 值,這次傳回的 access_token 就能在期限內存取 FB 使用者的資料.

3.
    使用以下的網址,將取得的access_token 填入,之後回傳的 JSON 資料,就是 FB USER
    的詳細資料

 網址: 
          https://graph.facebook.com/me?access_token=

    回傳JSON資料如下



{
   "id": "838746049469847",
   "first_name": "USER_NAME",
   "gender": "male",
   "last_name": "LNAME",
   "link": "https://www.facebook.com/app_scoped_user_id/000000049469847/",
   "locale": "zh_TW",
   "name": "name",
   "timezone": 8,
   "updated_time": "2014-08-13T16:21:57+0000",
   "verified": true
}
 
 也可以在 me? 後面附加其他參數,能做什麼,請看 Graph API Examples 當然要得到其他資料,也請在第一步驟時在 scope 就要先要求.

沒有留言: