前一篇介紹了Faacebook官方 C# SDK的認證部分,這篇來用取得Friend List作為範例,介紹如何取用Facebook資料。
取得Facebook資料,是使用官方提供的Graph API,使用的話基本上相當的簡單,選擇你要取得哪種資料,然後將access_token帶上就可以了,如果要取得好友名單的話,就是直接拉下面這個網址的值就好。
Facebook的Graph API回應都是以JSON型態表示,像是下面這樣
使用Facebook C# SDK呼叫的方法如下,在取得access_token後使用SDK去呼叫。
取得的JSONObject很聰明,格式會隨著取得的資料改變,取得friends的格式會像下面這樣
然後將資料取出後就可以自行運用了,我只有簡單的放在表格裡而已。

取用的語法大致如下,Token就是之前取得的access_token。
如果是取likes的資料,結果就長得像下面。

基本上使用Facebook C# API取得資料還蠻簡單的,就看取得資料後要怎麼運用了。
取得Facebook資料,是使用官方提供的Graph API,使用的話基本上相當的簡單,選擇你要取得哪種資料,然後將access_token帶上就可以了,如果要取得好友名單的話,就是直接拉下面這個網址的值就好。
https://graph.facebook.com/me/friends?access_token=...
Facebook的Graph API回應都是以JSON型態表示,像是下面這樣
{
"data": [
{
"name": "Heineken",
"id": "500078123"
},
{
"name": "Stolichnaya",
"id": "504027123"
},
{
"name": "Johnny Walker",
"id": "516035123"
}
]
}使用Facebook C# SDK呼叫的方法如下,在取得access_token後使用SDK去呼叫。
Facebook.FacebookAPI api = new Facebook.FacebookAPI(access_token);
JSONObject meFriends = api.Get("/me/friends");取得的JSONObject很聰明,格式會隨著取得的資料改變,取得friends的格式會像下面這樣
Dictionary<string,Array[Dictionary<string,string>]>
然後將資料取出後就可以自行運用了,我只有簡單的放在表格裡而已。

取用的語法大致如下,Token就是之前取得的access_token。
Facebook.FacebookAPI api = new Facebook.FacebookAPI(Token);
JSONObject meFriends = api.Get("/me/friends");
DataTable dt = new DataTable();
dt.Columns.Add("icon", typeof(string));
dt.Columns.Add("id", typeof(string));
dt.Columns.Add("name", typeof(string));
for (int i = 0; i < meFriends.Dictionary["data"].Array.Length; i++)
{
dt.Rows.Add("https://graph.facebook.com/" +
meFriends.Dictionary["data"].Array[i].Dictionary["id"].String + "/picture",
meFriends.Dictionary["data"].Array[i].Dictionary["id"].String,
meFriends.Dictionary["data"].Array[i].Dictionary["name"].String);
}
GridView1.DataSource = dt;
GridView1.DataBind();
如果是取likes的資料,結果就長得像下面。

基本上使用Facebook C# API取得資料還蠻簡單的,就看取得資料後要怎麼運用了。

請問在表格內 大頭貼那一欄 我顯示的是一段網址
ReplyDelete而不是圖片 請問為什麼會這樣@@
因為...那個網址是圖片的網址,我只是把它直接顯示成圖片,不是原本的網址。
ReplyDelete不好意思,請問如何把網址傳回圖片?
Delete我是直接把圖片網址塞到img url內
Delete請問要如何才能抓到登入的使用者名單 謝謝
ReplyDelete/me 裡面就有啦
ReplyDelete