如何使用Facebook API从C#获取FB用户的Like,Post?

时间:2019-02-07 18:27:50

标签: c# facebook api

我正在使用他们的Graph API开发Facebook应用程序。

我遇到了一个问题,因为我无法检索用户的“赞”,“帖子”和“用户个人资料”。

如何使用Graph API检索用户的喜欢,帖子?

我知道我们可以使用FB的图形api,但是如何使用c#执行api以获取用户喜欢,发帖和用户个人资料?

1 个答案:

答案 0 :(得分:0)

考虑到您已经拥有FB令牌,您可以按照以下线程获取用户的FB帖子。

Retriving Facebook posts from Profile via FB api

也要获得用户的喜欢,请按照以下方法

   

 public List<Like> GetLikesForUser(string facebookID)
            {
                List<Like> likes = new List<Like>();

                dynamic resultNode = _facebookClient.Get(facebookID + "?fields=likes{ name, created_time, category, category_list}");//likes?fields=likes

                if (resultNode.likes != null)
                {
                    dynamic result = resultNode.likes;

                    if (result.ToString().Contains("data"))
                    {
                        while (result != null)
                        {
                            if (result.ToString().Contains("data"))
                            {
                                foreach (var item in result.data)
                                {
                                    likes.Add(new Like
                                    {
                                        Name = item.name,
                                        ID = item.id,
                                        Category = item.category,
                                        Created_time = Convert.ToDateTime(item.created_time),
                                        Category_List = PopulateCategoryList(item.category_list)

                                    });
                                }

                            }
                            var next = GetNextURL(result.ToString());

                            if (!string.IsNullOrEmpty(next))
                            {
                                result = _facebookClient.Get(next);
                            }
                            else
                            {
                                result = null;
                            }
                        }
                    }
                }
                return likes;
            }

 private List<Category> PopulateCategoryList(dynamic categories)
        {
            List<Category> categoryList = new List<Category>();

            if (categories != null)
            {
                foreach (var item in categories)
                {
                    Category category = new Category { ID = item.id, Name = item.name };

                    categoryList.Add(category);
                }
            }

            return categoryList;
        }