【Facebook】Graph API教學與小技巧

  • 33693
  • 0

摘要:【Facebook】Graph API教學與小技巧

有再寫Facebook APP的人應該會很常用到Graph API ,舉個簡單的例子

一樣一開始在<head>的開頭先引入Facebook Javascript SDK


接著初始化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,就可以取得想要取得的資訊了,也就不會每次回應一大串資訊

卻不見的每個都是自己想要的