iT邦幫忙

DAY 7
0

30 天實戰跨平台行動APP系列 第 7

Day 7 Facebook API : Graph API

接下來的目標就是要求權限,然後將所得到的資訊全部顯示出來!

我們先在login dialog中加入

scope=public_profile,user_friends,email,user_location,user_photos,user_status,user_tagged_places,user_videos,read_stream

這些昨天我們已經決定要求的權限。

加入了之後,login的dialog就變成以下的樣子

果然就是我們要求的那些資料!上面的警告是因為App還沒經過審核的關係。

接下來就是要確認權限是否存在,

要檢查用戶權限,需要查詢

GET /{user-id}/permissions

當開發者頁面告訴你以上的資訊,你到底該怎麼使用呢?這時就要先了解Facebook的 Graph API 是怎麼運作的

Graph API 就是要讀取或是寫入Facebook資料時,都要靠它來完成,Graph API的名字是來自於”social graph”的概念,

social graph泛指Facebook上的資料,是由 nodes, edges, fields組成的。

notdes : 物件,像是使用者,相片

edges : 跟物件有關聯的物件

fields:物件的資訊

Graph API 是HTTP based的,就是只要知道參數怎麼打,在網址列自己手打一打就可以取得結果(HTTP GET REQUEST)像Day4就有用PHP HTTP library cURL

來取得我們要的結果,不一定要使用Facebook的PHP API。而通常Graph api參數都會需要之前介紹過的access token,

所以像

GET /{user-id}/permissions

這個語法,會有一個疑問是是要查詢哪一個網址呢?答案是除了上傳影片要使用graph-video.facebook.com之外

幾乎所有的graphi api都是查詢graph.facebook.com這個網址囉。

每一個node都會有一個id,就可以用來查詢該node

GET graph.facebook.com

/{node-id}

GET graph.facebook.com

/{node-id}/{edge-name}

例如像上面那個permission的例子,user就是一個node,而permissions應該是他的edge。

最後 Facebook 提供了一個工具可以讓我們測試Graph API的功能,非常好用!你可以輸入request然後馬上得到結果。

https://developers.facebook.com/tools/explorer.


上一篇
Day 5 : Facebook api permission
下一篇
Day 8 : Facebook Graph API 實作
系列文
30 天實戰跨平台行動APP26

尚未有邦友留言

立即登入留言