通过FB api从Profile中检索Facebook帖子

时间:2013-12-03 13:03:10

标签: facebook facebook-graph-api facebook-access-token

我在facebook开发者计划中注册了一个应用程序,我可以使用fb api从facebook页面检索帖子,但我无法从facebook个人资料中检索帖子。我应该为页面或配置文件使用一些不同的访问令牌吗?从Facebook页面和个人资料中检索帖子有不同的方法吗? 任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

您可能需要 user_status 权限。

您使用此图表查询来调用帖子 {USER_ID}?fields = status =

答案 1 :(得分:0)

前提条件:-您需要为所有请求提供有效的FB令牌:- 我在回答使用C#语言。 步骤1:-首先,您需要使用FB令牌获取用户的FB ID

我正在使用Facebook SDK 7.0.6进行查询

这是初始化连续调用中将使用的FB服务的方法。

FacebookService facebookService = new FacebookService(facebookToken);
var _facebookClient = new Facebook.FacebookClient(token);

代码段

public string GetFacebookID(string facebookToken)
        {
            dynamic result = _facebookClient.Get("me?fields=id");

            if (result.ToString().Contains("id"))
            {
                return result["id"];
            }
            return string.Empty;
        }

之后,您可以执行以下方法,使用FB ID和令牌获取用户的帖子

public List<Post> GetPostsForUser(string facebookID)
        {
            List<Post> posts = new List<Post>();

            dynamic result = _facebookClient.Get(facebookID + "/posts"); //Case Sensitive, Posts doesn´t work

            if (result.ToString().Contains("data") && result.data.Count > 0)
            {

                foreach (var item in result.data)
                {
                    posts.Add(new Post
                    {
                        ID = item.id,
                        Story = item.story,
                        Message = item.message,
                        Created_Time = Convert.ToDateTime(item.created_time),
                        Reactions = GetReactions(item.id)
                    });
                }

                result = _facebookClient.Get(GetNextURL(result.ToString()));

            }
            return posts;
        }