如何在C#asp.net中管理Facebook api响应数据?

时间:2011-08-03 04:29:28

标签: c# asp.net facebook-graph-api facebook-c#-sdk

如何以用户可读的HTML格式转换facebook api响应?
我称之为图api https://graph.facebook.com/me/feed?access_token=<token>
以下是我对API的回复数据。

{
   "data": [
      {
         "id": "100000626589435_240877109276507",
         "from": {
            "name": "Abhi Patel",
            "id": "100000626589435"
         },
         "type": "status",
         "created_time": "2011-08-02T10:36:17+0000",
         "updated_time": "2011-08-02T10:36:17+0000"
      },
      {
         "id": "100000626589435_240760105954874",
         "from": {
            "name": "Abhi Patel",
            "id": "100000626589435"
         },
         "type": "status",
         "created_time": "2011-08-02T03:02:21+0000",
         "updated_time": "2011-08-02T03:02:21+0000"
      },       
      {
         "id": "100000626589435_223775454320006",
         "from": {
            "name": "Abhi Patel",
            "id": "100000626589435"
         },
         "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/274314_100000898272591_5481895_q.jpg",
         "link": "http://www.facebook.com/?ref=nf_fr",
         "icon": "http://static.ak.fbcdn.net/images/icons/?8:",
         "type": "link",
         "created_time": "2011-06-28T18:56:44+0000",
         "updated_time": "2011-06-28T18:56:44+0000"
      }
   ],
   "paging": {
      "previous": "<previous link>",
      "next": "<next link>"
   }
}

还希望在facebook响应数据中分页
我想要facebook api回复的20条记录。
如何管理这件事......

2 个答案:

答案 0 :(得分:0)

Facebook返回原始JSON数据。它没有样式元素。由您来呈现以您选择的格式返回的数据。想象一下,如果Facebook返回HTML和样式元素。这对于桌面应用程序或移动设备来说效果不佳。相反,它们只是为您提供原始数据,您可以设计HTML元素,或WPF视图,或者显示您想要显示的数据。

通过返回原始数据,您还可以将其本地存储在数据库中,以用于您自己的查询或您自己的应用程序。

编辑添加:您可以通过直接访问JSON元素来解析对象,也可以将结果反序列化为C#对象。

Console.WriteLine(response.data[0].from.name);

对于分页,您需要解析分页元素。 Facebook C#SDK返回动态对象,因此您可以执行类似

的操作
string next = response.paging.next;
string prev = response.paging.prev;

然后只需向每个URL发出请求即可获取所需的数据。

答案 1 :(得分:0)

使用JSON.net并转换为XML,然后就可以轻松管理。