如何使用Facebook Graph API检索新闻Feed。

时间:2012-02-07 07:32:37

标签: facebook-graph-api facebook-c#-sdk

我正在研究WPF应用程序,我想使用facebook Graph API检索新闻Feed,所以我如何访问它也转换为序列化。!

谢谢。

1 个答案:

答案 0 :(得分:0)

你将使用Facebook.dll你可以使用Visual Studio中的Package Manager下载它,如果你正在使用C#例如

NuGet Package here..

并且代码可能如下所示

public List<string> Facebook(string query)
    {
       // Facebook.FacebookAPI api = new FacebookAPI();

        List<string> list = new List<string>();
        string[] arr = new string[5];
        string result = null;
        FacebookAPI api = new FacebookAPI(token);

//查询是您的搜索条件

        JSONObject q = api.Get("https://graph.facebook.com/search?q="+query+"&type=post");
        foreach (JSONObject item in q.Dictionary["data"].Array)
        {
            if (item.IsDictionary)
            {
                foreach (KeyValuePair<String,JSONObject> jso in item.Dictionary)
                {
                    if (jso.Key == "message"/* || jso.Key == "name" || jso.Key == "description" || jso.Key == "link"*/)
                    {
                        for (int i = 0; i < 5; i++)
                        {
                            arr[i] = jso.Value.String;

                        }
                        list.Add (jso.Value.String);

                    }
                    else if (jso.Key == "likes")
                    {
                        foreach (JSONObject like in jso.Value.Dictionary["data"].Array)
                        {
                            foreach (KeyValuePair<String, JSONObject> lik in like.Dictionary)
                            {
                                if (lik.Key == "name")
                                {
                                    result += lik.Value.String;

                                }
                                else if (lik.Key == "id")
                                {
                                    result += lik.Value.String;    
                                }
                            }
                        }
                        foreach (KeyValuePair<String, JSONObject> count in jso.Value.Dictionary)
                        {
                            if (count.Key == "count")
                            {
                                result += count.Value.String;
                            }
                        }
                    }
                    else if (jso.Key == "from")
                    {
                        foreach (KeyValuePair<String, JSONObject> froms in jso.Value.Dictionary)
                        {
                            if (froms.Key == "name")
                            {
                                result += froms.Value.String;
                            }
                        }
                    } 
                }
            }
            /*
            else if (item.IsArray)
            {
                foreach (JSONObject j in item.Dictionary["data"].Array)
                {
                    if (j.IsDictionary)
                    {
                        foreach (KeyValuePair<String,JSONObject> x in j.Dictionary)
                        {
                            result += (x.Key + " --- "+x.Value.String);
                        }
                    }
                }
            }
             */ 
        }
        return list;
    }

您当然可以将帖子和查询更改为您想在Facebook Graph API中搜索的内容

并且还有另一种方法可以使用FQL并且非常简单

希望这会有所帮助。