使用C#通过Graph API检索Facebook数据

4
我使用C#.NET创建了一个桌面Facebook应用程序。我想获取用户的消息、帖子和聊天记录,有什么方便的方法可以检索用户的所有信息。我已经开始使用Facebook Graph API, 但是没有找到任何例子。
有人能帮帮我吗?

你无法一次性获取所有信息。请单独调用API以获取所需数据。 - Chandra Eskay
好的,我会根据需求调用API,但是你能否给我一个链接,让我找到相应的示例或工具包呢?感谢您的回复。 - Viral
@Chandu-Indyaah:我该如何调用API获取我的帖子的点赞数? - Ankur
5个回答

8

可能有点晚了,但还是提供一下帮助:

添加对System.Net.Http和Newtonsoft.Json的引用。

string userToken = "theusertokentogiveyoumagicalpowers";

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("https://graph.facebook.com");

    HttpResponseMessage response = client.GetAsync($"me?fields=name,email&access_token={userToken}").Result;

    response.EnsureSuccessStatusCode();
    string result = response.Content.ReadAsStringAsync().Result;

    var jsonRes = JsonConvert.DeserializeObject<dynamic>(result);

    var email = jsonRes["email"].ToString();
}

3
前往 developer.facebook.com -> 工具与支持 -> 选择 Graph API Explorer。
在此可以获取 FQL 查询和访问令牌。
然后在 C# 中编写代码......
var client = new FacebookClient();
client.AccessToken = Your Access Token;

//show user's profile picture
dynamic me = client.Get("me?fields=picture");
pictureBoxProfile.Load(me.picture.data.url);

//show user's birthday
me = client.Get("me/?fields=birthday");
labelBirthday.Text = Convert.ToString(me.birthday);

2
FacebookClient()是从你添加的引用中来的吗? - Pepys
我在这个项目中发现了一个名为“FacebookClient”的类:https://github.com/facebook-csharp-sdk/facebook-csharp-sdk,在NuGet中它被Outercurve Foundation简单地称为“Facebook”。尚未测试,但即将测试。 - The Senator

1

谢谢您的回复,但是我想从Facebook检索信息。 - Viral

0

从我所看到的,该应用程序现在仅使用Webhooks将数据发布到数据端点(在您的应用程序中),此时您可以解析并使用此数据(FQL已弃用)。这用于诸如消息之类的事情。

可以向API发送get请求以获取信息-例如页面上的喜欢数量。

FB的文档非常好地解释了您必须发送的字符串。可以使用WebClient或自己的Web请求发送请求。 https://msdn.microsoft.com/en-us/library/bay1b5dh(v=vs.110).aspx

然后,一旦您拥有JSON格式的页面字符串,就可以使用JSON.NET库进行解析。它作为NUGEt包提供。


0

你可以在Developer.facebook.com上检查Graph探索工具,进入工具并选择graph探索器,这是一个很棒的工具,它可以让你通过发送"GET"和"POST"方法到FB Graph APIs来获取关于你可以提取的确切信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接