У объектов статуса графа Facebook connect комментарии ограничены 25 - PullRequest
7 голосов
/ 20 января 2011

Кто-нибудь знает, почему, независимо от того, сколько комментариев имеет данный объект обновления статуса графика, он будет ограничен 25 комментариями? У меня есть ощущение, что он возвращает только «образец» реальных комментариев к объекту. Как заставить его получить их все без использования FQL API?

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Так работает Graph API. Посмотрите на документы API. Вы получаете 25 за один раз и должны пройти через них. В качестве параметра при следующем вызове API Graph можно использовать метку времени (созданного_ времени) последнего комментария в пакете или параметр offset. Что я и делал. Я впал в какую-то глупость, используя created_time. Это пример из моего приложения C # test. Игнорируйте ссылки на объект PostComment, который представляет собой просто структуру данных, которую я создал для хранения данных, которые я извлекаю. Магия (и процесс, на который я ссылаюсь) заключается в параметрах, передаваемых в вызов API графа:

parameters.Add("offset", numPostComments);
parameters.Add("limit", 25);

Я вполне уверен, что вы можете установить «предел» на 25 или ниже.

do
{
    foreach (var comment in comments.data)
        {
            numPostComments++;
            PostComment pc = new PostComment();
            pc.Post_ID = p.Id;
            pc.Facebook_ID = comment.id;
            pc.From = comment.from.name;
            if (comment.likes != null)
                pc.Likes = (int)comment.likes;
            pc.CommentDate = DateTime.Parse(comment.created_time);
            pc.CommentText = comment.message;
            p.Comments.Add(pc);
        }
        // Create new Parameters object for call to API
        Dictionary<string, object> parameters = new Dictionary<string, object>();
        parameters.Add("offset", numPostComments);
        parameters.Add("limit", 25);

        // Call the API to get the next block of 25
        comments = client.Get(string.Format("{0}/comments", p.Facebook_ID), parameters);
} while (comments.data.Count > 0);
1 голос
/ 04 марта 2011
...