如果想要讓一個小盒子(例如:Embedded System or Raspberry Pi)能夠拿到facebook的access token來做一些事情,例如:控制GPIO顯示未讀訊息(NOTICE : Physical Facebook Notifier)、抓臉書的相片當做數位像框、當關注的異性感情狀態變更時會有鬧鈴提醒等等。
盒子通常不會有實體IP(而且也不切實際,就算有IP,幫每個盒子都必須申請一個特別的Facebook ID也很噁心),此時就可以使用Desktop版本的登入方式,操作概念如下:
1. 將redirect_url改成 https://www.facebook.com/connect/login_success.html
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID
&redirect_uri=https://www.facebook.com/connect/login_success.html
&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
&response_type=token
2. 偵測redirect的event,在把redirect Url上的access token變數拿下來用
https://www.facebook.com/connect/login_success.html#
access_token=USER_ACCESS_TOKEN...
偵測的方式可以用WebView掛Listener來完成,看起來還是要提供螢幕讓使用者登入:(,不過之前在hack Google Play Console的API時,有參考Andlytics模仿Google登入的request內容,應該還是有機會辦到純Program的方式拿到access token
----------- 2013/4/29 修正 -------------
看起來NOTICE : Physical Facebook Notifier作法比較簡單,只把七段顯示器直接透過serial port來操作,所有認證的畫面及流程都用桌面軟體搞定。
沒有留言:
張貼留言