TShopping

 找回密碼
 註冊
搜索
查看: 2360|回復: 0
打印 上一主題 下一主題

[教學] Graph API教學與小技巧

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-4-2 17:42:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
有再寫Facebook APP的人應該會很常用到Graph API,舉個簡單的例子
一樣一開始在<head>的開頭先引入Facebook Javascript SDK
  1. <SCRIPT type=text/javascript src="http://connect.facebook.net/zh_TW/all.js"></SCRIPT>
複製代碼
接著初始化Javascript SDK
  1. FB.init({
  2.             appId: _app_id,
  3.             status: true,
  4.             cookie: true,
  5.             xfbml: true
  6.         });
複製代碼
接著執行驗證登入並且授權
  1.     getLoaginState();
  2.                
  3.                 function getLoaginState() {
  4.                         FB.getLoginStatus(function(response) {
  5.                                 if (response.authResponse) {                                       
  6.                                         //同意授權並且登入執行這段
  7.                                 }
  8.                                 else {
  9.                                         login();
  10.                                 }
  11.                         });
  12.                 }

  13.                 function login() {
  14.                         FB.login(function(response) {
  15.                                 if (response.authResponse) {
  16.                                         //同意授權並且登入執行這段
  17.                                 }
  18.                                 else {
  19.                                         alert("須同意應用程式才能進入此頁面");//不同意此應用程式
  20.                                 }

  21.                         }, { scope:'email' });//要求存取Email
  22.                 }
複製代碼
裡面有一段code是scope:'email'是要求特別的權限-存取Email
如果要了解更多並取得更多授權,請看Facebook Permissions 部分
接著就可以執行利用Graph API ,一般來說,我都會搭配著Graph API Explorer 使用,這裡可以及時看到你取回來
的JSON裡面的值有什麼,順帶一提,Facebook回應都是用JSON格式
以下是Graph API 的用法
  1. FB.api('/me', function(response) {
  2. alert('我的Email為: '+response.email+'我的姓名為: '+ response.name);
  3. });
複製代碼




但是,如果你用Graph API Explorer看的話,你會發現這樣其實裡面取回很多資料

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

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

 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-20 07:46 , Processed in 0.050923 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表