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

Posted

技术标签:

【中文标题】如何在 C# asp.net 中管理 Facebook api 响应数据?【英文标题】:How to manage Facebook api response data in C# asp.net? 【发布时间】:2011-08-03 04:29:27 【问题描述】:

如何将 facebook api 响应转换为用户可读的 html 格式? 我调用图形 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 条记录。 如何管理这些东西..

【问题讨论】:

【参考方案1】:

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 发出请求以获取所需的数据。

【讨论】:

你好@mfanto,如何生成用户名: ..像这样..我想在C#中转换成Html格式.我如何从这个纯文本转换。请给我建议。 我不知道你应该如何生成它。只有您可以根据您的站点/应用程序的工作方式来回答。我的做法是反序列化响应,将其转换为视图模型,并使用具有适当样式表的 ASP.NET MVC 视图显示它。您有响应,并且有一个如何读取元素的示例。 Facebook C# SDK 还包括您可以关注的 ASP.NET 示例应用程序。【参考方案2】:

使用JSON.net 转换成XML 就可以轻松管理了。

【讨论】:

无需转换为 XML。他已经拥有 JSON 格式的数据。他可以直接访问属性,也可以将其反序列化为 POCO。

以上是关于如何在 C# asp.net 中管理 Facebook api 响应数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 页面 ASP.NET Core MVC 上使用 SignInManager 和 Usermanager

如何将c#做好的asp.net网站部署到iis上

在 Asp.Net c# 中更新 gridview

如何使用 ASP.NET 和 C# 将录音上传到 Sound Cloud?

如何使用 MongoDB 将动态 JSON 属性发布到 C# ASP.Net Core Web API?

如何在asp.net c# web应用程序中使用asp.net vb页面