|
有再寫Facebook APP的人應該會很常用到Graph API,舉個簡單的例子
一樣一開始在<head>的開頭先引入Facebook Javascript SDK- <SCRIPT type=text/javascript src="http://connect.facebook.net/zh_TW/all.js"></SCRIPT>
複製代碼 接著初始化Javascript SDK- FB.init({
- appId: _app_id,
- status: true,
- cookie: true,
- xfbml: true
- });
複製代碼 接著執行驗證登入並且授權- getLoaginState();
-
- function getLoaginState() {
- FB.getLoginStatus(function(response) {
- if (response.authResponse) {
- //同意授權並且登入執行這段
- }
- else {
- login();
- }
- });
- }
- function login() {
- FB.login(function(response) {
- if (response.authResponse) {
- //同意授權並且登入執行這段
- }
- else {
- alert("須同意應用程式才能進入此頁面");//不同意此應用程式
- }
- }, { scope:'email' });//要求存取Email
- }
複製代碼 裡面有一段code是scope:'email'是要求特別的權限-存取Email
如果要了解更多並取得更多授權,請看Facebook Permissions 部分
接著就可以執行利用Graph API ,一般來說,我都會搭配著Graph API Explorer 使用,這裡可以及時看到你取回來
的JSON裡面的值有什麼,順帶一提,Facebook回應都是用JSON格式
以下是Graph API 的用法
- FB.api('/me', function(response) {
- alert('我的Email為: '+response.email+'我的姓名為: '+ response.name);
- });
複製代碼
但是,如果你用Graph API Explorer看的話,你會發現這樣其實裡面取回很多資料

一個人還好,但如果是取朋友清單,而朋友有上百個的話,那網頁的讀取速度就會因此而受影響
所以可以用更簡略的方法

也就是在/me後面加上&fields=name,email,就可以取得想要取得的資訊了,也就不會每次回應一大串資訊
卻不見的每個都是自己想要的
|
|