CommentThreads按订单

时间:2015-07-28 14:57:00

标签: youtube-api youtube-data-api

CommentThreads金额按订单更改

您好,我正在尝试获取视频的所有评论。出于测试目的,我使用此视频ID U55NGD9Jm7M。

当我按时间排序时,我得到1538评论,最后一次写在2015年5月5日。 如果我使用相关性,我只会收到1353条评论,而最后一条则是在2015年4月29日写的

这对我来说似乎不对。我希望收到相同的评论,但顺序不同而且评论不同。 我也尝试了不同的视频,结果是一样的。

我的代码减少到最低

感谢您的帮助

public class foo
{
    public void bar(string videoId)
    {
        var allTopLevelComments = new List<CommentThread>();

        var searchListResponse = getThread(videoId);
        allTopLevelComments.AddRange(searchListResponse.Items);

        string nextPage = searchListResponse.NextPageToken;
        while (!String.IsNullOrEmpty(nextPage))
        {
            searchListResponse = getThread(videoId, searchListResponse.NextPageToken);
            nextPage = searchListResponse.NextPageToken;
            allTopLevelComments.AddRange(searchListResponse.Items);
        }

        var first = allTopLevelComments.OrderBy(c => c.Snippet.TopLevelComment.Snippet.PublishedAt).First();
    }

    private CommentThreadListResponse getThread(string videoId, string nextPageToken = "")
    {
        var youtubeService = new YouTubeService(new BaseClientService.Initializer
            {
                ApiKey = "my key",
                ApplicationName = "my app"
            });

        var searchListRequest = youtubeService.CommentThreads.List("id, replies, snippet");
        searchListRequest.VideoId = videoId;
        searchListRequest.MaxResults = 100;
        searchListRequest.Order = CommentThreadsResource.ListRequest.OrderEnum.Time;
        searchListRequest.TextFormat = CommentThreadsResource.ListRequest.TextFormatEnum.PlainText;

        if (!String.IsNullOrEmpty(nextPageToken))
        {
            searchListRequest.PageToken = nextPageToken;
        }

        return searchListRequest.Execute();
    }
}

0 个答案:

没有答案