У объектов статуса графика подключения Facebook есть комментарии, ограниченные 25

StackOverflow https://stackoverflow.com/questions/4744720

Вопрос

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

Это было полезно?

Решение

Это просто так, как работает API Graph. Взгляните на документы API. Вы получаете 25 за раз и должны проходить через них. Вы можете использовать TimeStamp (created_time) последнего комментария в партии в качестве параметра в следующем вызове API графа, или вы можете использовать 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);

Другие советы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top