덧글, 나는 당신을 라이브 스트리밍 API에 대해 이야기하고 있습니다.
돌아 오는 메시지는 메시지가 아니라 주석입니다. 예, doc에 "허용되는 값은 200에서 2000까지이며 기본값은 500입니다." 따라서 전체 200 개를 가져온 다음 타임 스탬프를 정렬하여 최신 메시지를 가져올 수 있습니다.
어떻게 수행하나요?
C#에서이 작업을 수행하면 json 문자열이 생기면 Json.NET과 같은 라이브러리를 사용해야합니다. 이에 NuGet 패키지 참조를 추가 한 후에는
using Newtonsoft.Json.Linq;
가 필요합니다 및 JSON에 LINQ를 사용하는 JObject.Parse를 사용,이 documentation에 설명 된대로 JSON 문자열이, 그리고
var json = @"{
""items"": [
{
""snippet"": {
""publishedAt"": ""2016-12-07T16:04:40.472Z"",
""displayMessage"": ""a""
}
}
,
{
""snippet"": {
""publishedAt"": ""2016-12-12T16:04:40.472Z"",
""displayMessage"": ""b""
}
}
]
}";
라고 .
var parsedJson = JObject.Parse(json);
JArray items = parsedJson.SelectToken("items") as JArray;
var sortedItems = items.OrderByDescending(item => item["snippet"]["publishedAt"]);
// sortedItems.First() will give you the item with the newest timestamp
이 모든 것을 https://dotnetfiddle.net/ubQAZV에 넣었습니까?
강하게 입력 된 코드로 비 직렬화하려는 경우 JsonConvert를 사용할 수 있습니다. 상세 정보 here.
https://developers.google.com/youtube/v3/docs/comments/list - 이는 API 검색어에 포함 할 수있는 'maxResults'매개 변수가 있음을 나타냅니다. 값 1 - 100.을 사용하고 있습니까? 이 특정 쿼리? 아마도 몇 가지 코드를 게시하십시오. – Asnivor
요청 최저가 양은 보인다 https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId=EiEKGFVDcEQ1eWFiTnlSSzNKNDFTNDRMODE1ZxIFL2xpdmU&part=snippet&maxResults=200&fields=eventId%2Citems(snippet(displayMessage%2CpublishedAt :(200)) & key = –
검색어에 'id'필터를 사용하고 있습니까? 문서에서 MaxResults가 지원되지 않는다고 말합니다. – Asnivor