gpt4 book ai didi

c# - Youtube Data v3 Api,获取请求排序

转载 作者:行者123 更新时间:2023-12-03 05:36:37 26 4
gpt4 key购买 nike

大家好,我正在尝试使用v3 Data Youtube API,已经拥有了请求本身,响应如下所示

{
"items": [
{
"snippet": {
"publishedAt": "2016-12-07T16:04:40.472Z",
"displayMessage": "a"
}
}
]
}

问题是我只希望最后一条评论,而不是整个200条(下限较低),我的第一个想法是保存整个响应并将其与下一个进行比较,所以我知道有什么新内容,但是那真的行不通

最佳答案

好的,所以从评论中,我可以收集到您是在谈论Live Streaming API。

您得到的是消息,而不是评论。是的,就像doc所说,“可接受的值为200到2000,包括端点。默认值为500。”因此,您可以获得全部200个,然后按时间戳排序以获取最新消息。

怎么做?

在C#中执行此操作时,一旦有了json字符串,就需要使用诸如Json.NET之类的库。添加对此的NuGet包引用后,您将需要

using Newtonsoft.Json.Linq;

说你的json字符串是
var json = @"{
""items"": [
{
""snippet"": {
""publishedAt"": ""2016-12-07T16:04:40.472Z"",
""displayMessage"": ""a""
}
}
,
{
""snippet"": {
""publishedAt"": ""2016-12-12T16:04:40.472Z"",
""displayMessage"": ""b""
}
}
]
}";

然后,如此 documentation中所述,使用JObject.Parse将LINQ转换为JSON。
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

关于c# - Youtube Data v3 Api,获取请求排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41023300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com