當php遇上facebook api
DESCRIPTION
學生計算機年會 SITCON 2014 分享「當PHP遇上Facebook API」TRANSCRIPT
![Page 1: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/1.jpg)
當PHP遇上Facebook API學⽣生計算機年會 SITCON 2014
講者:林熙哲
![Page 3: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/3.jpg)
崩潰的倒數24hr
![Page 4: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/4.jpg)
為什麼我沒選Short Talk!
![Page 5: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/5.jpg)
關於我
台科⼤大 資訊管理系
台科⼤大 程式設計研究社
http://me.coder.tw
![Page 6: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/6.jpg)
作品
校園RFID系統
學⽣生素⻝⾷食統計系統
Yam Batch Download
訂書系統
Facebook 抽獎程式
![Page 7: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/7.jpg)
API簡介
Graph API
Public Feed API
Facebook Query Language
Chat API
![Page 8: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/8.jpg)
Facebook API可以做什麼?
![Page 9: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/9.jpg)
別懷疑,就是神魔之塔!!活動⾏行銷
![Page 10: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/10.jpg)
![Page 11: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/11.jpg)
被標記的訊息、粉絲⾴頁同步發⽂文、快速登⼊入等等整合網站功能
![Page 12: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/12.jpg)
最常分⼿手⽉月份、情⼈人節熱⾨門打卡點之類的...XD
好玩的分析
![Page 14: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/14.jpg)
交往前後互動量分析圖
![Page 15: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/15.jpg)
俗話說⽔水能載⾈舟亦能覆⾈舟做壞事
![Page 16: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/16.jpg)
⾃自動審核社團申請
其他⾃自動說⽣生⽇日快樂
粉絲⾴頁智慧回⽂文好友申請⾃自動審核
![Page 17: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/17.jpg)
權限管理?
![Page 18: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/18.jpg)
![Page 19: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/19.jpg)
避免程式開發者直接接觸到使⽤用者帳密OAuth
![Page 20: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/20.jpg)
![Page 21: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/21.jpg)
避免程式可以無限制的取得資料權限分類
![Page 22: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/22.jpg)
user_about_me
user_friends
user_status
user_relationships
user_photos
friends_birthday
friends_groupsfriends_checkins
friends_hometown
status_update
read_stream manage_friendlists
publish_checkins
![Page 23: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/23.jpg)
https://developers.facebook.com/docs/facebook-login/access-tokens#extending
Token
![Page 24: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/24.jpg)
為了讓App能存取使⽤用者資料⽽而存在User Access Token
![Page 25: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/25.jpg)
我要⻑⾧長期操作某帳⼾戶時怎麼辦?Long-Term Token
![Page 26: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/26.jpg)
為了讓App能存取Facebook API⽽而存在App Token
![Page 27: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/27.jpg)
讓App能存取粉絲專⾴頁⽽而存在Page Access Token
![Page 28: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/28.jpg)
開發流程
取得App Token
取得User Access Token
向Facebook要求指定資料
Facebook回傳JSON格式資料
處理資料
![Page 30: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/30.jpg)
https://github.com/facebook/facebook-php-sdkFacebook SDK for PHP
![Page 31: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/31.jpg)
動⼿手吧!https://dl.dropboxusercontent.com/u/6241767/sitcon-
facebook-api-talk-example.zip
![Page 32: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/32.jpg)
就這樣嘛?當然不只!
![Page 33: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/33.jpg)
https://developers.facebook.com/docs/graph-api/reference/
Graph API Reference
![Page 34: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/34.jpg)
https://developers.facebook.com/tools/explorerGraph API Explorer
![Page 35: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/35.jpg)
![Page 36: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/36.jpg)
⽤用⼾戶GET /{user_id}
GET /{user_id}/friendsGET /{user_id}/groups
![Page 37: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/37.jpg)
動態GET /{user_id}/feed
POST /{user_id}/feed
![Page 38: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/38.jpg)
訊息GET /me/inbox
GET /{message_id}
![Page 39: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/39.jpg)
GET /{user_id}/albums
相簿GET /{album_id}
GET /{album_id}/photos
![Page 40: 當PHP遇上Facebook API](https://reader030.vdocuments.site/reader030/viewer/2022012304/53f8b5978d7f729c2e8b47de/html5/thumbnails/40.jpg)
其實我不想給Q&A時間....