YouTube API 的最大 HTTP GET 请求长度是多少?
What is the maximum HTTP GET request length for a YouTube API?
我想使用 youtube video:list
api 在单个请求中获取多个视频的详细信息。根据 api documentation,我可以将逗号分隔的 videoId 列表作为 id 参数发送。但是可能的最大长度是多少?
我知道 GET request limit 依赖于服务器和客户端。在我的例子中,我是从服务器端而不是浏览器发出请求的。因此,可以在我这边配置最大长度。但是 youtube 可接受的最大长度是多少?
更新: 虽然无法找到官方文档,但根据 Tempus 所执行的测试,当前限制为 50 个 ID。我在下面添加了一个代码,其中包含 51 个不同的视频 ID(其中 1 个已评论),供以后想要查看的人使用。
var key = prompt("Please enter your key here");
if (!key) {
alert("No key entered");
} else {
var videoIds = ["RgKAFK5djSk",
"fRh_vgS2dFE",
"OPf0YbXqDm0",
"KYniUCGPGLs",
"e-ORhEE9VVg",
"nfWlot6h_JM",
"NUsoVlDFqZg",
"YqeW9_5kURI",
"YQHsXMglC9A",
"CevxZvSJLk8",
"09R8_2nJtjg",
"HP-MbfHFUqs",
"7PCkvCPvDXk",
"0KSOMA3QBU0",
"hT_nvWreIhg",
"kffacxfA7G4",
"DK_0jXPuIr0",
"2vjPBrBU-TM",
"lp-EO5I60KA",
"5GL9JoH4Sws",
"kOkQ4T5WO9E",
"AJtDXIazrMo",
"RBumgq5yVrA",
"pRpeEdMmmQ0",
"YBHQbu5rbdQ",
"PT2_F-1esPk",
"uelHwf8o7_U",
"KQ6zr6kCPj8",
"IcrbM1l_BoI",
"vjW8wmF5VWc",
"PIh2xe4jnpk",
"QFs3PIZb3js",
"TapXs54Ah3E",
"uxpDa-c-4Mc",
"oyEuk8j8imI",
"ebXbLfLACGM",
"kHSFpGBFGHY",
"CGyEd0aKWZE",
"rYEDA3JcQqw",
"fLexgOxsZu0",
"450p7goxZqg",
"ASO_zypdnsQ",
"t4H_Zoh7G5A",
"QK8mJJJvaes",
"QcIy9NiNbmo",
"yzTuBuRdAyA",
"L0MK7qz13bU",
"uO59tfQ2TbA",
"kkx-7fsiWgg",
"EgqUJOudrcM",
// "60ItHLz5WEA" // 51st VideoID. Uncomment it to see error
];
var url = "https://www.googleapis.com/youtube/v3/videos?part=statistics&key=" + key + "&id=" + videoIds.join(",");
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
(xmlHttp.readyState == 4) && alert("HTTP Status code: " + xmlHttp.status);
}
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
答案是 50。原因是,这就是您得到的全部。
由于某些调用可能会根据搜索条件和可用结果获得相当多的结果,因此他们将 "maxResults" 限制在 50 个。
对此的接受是最多 100 个 CommentThreads。
这是(如您所知)加快页面加载和调用时间。
编辑:
这可以在"Try api"部分进行测试HERE。
您需要将 50 个视频 ID 放入 "id" 字段中,以逗号分隔。
然后再广告一个ID得到51再测试。您应该会收到“400”响应。
P.S。他们不需要是唯一的 ID。所以有一些然后根据需要复制和粘贴多次;-)
我想使用 youtube video:list
api 在单个请求中获取多个视频的详细信息。根据 api documentation,我可以将逗号分隔的 videoId 列表作为 id 参数发送。但是可能的最大长度是多少?
我知道 GET request limit 依赖于服务器和客户端。在我的例子中,我是从服务器端而不是浏览器发出请求的。因此,可以在我这边配置最大长度。但是 youtube 可接受的最大长度是多少?
更新: 虽然无法找到官方文档,但根据 Tempus 所执行的测试,当前限制为 50 个 ID。我在下面添加了一个代码,其中包含 51 个不同的视频 ID(其中 1 个已评论),供以后想要查看的人使用。
var key = prompt("Please enter your key here");
if (!key) {
alert("No key entered");
} else {
var videoIds = ["RgKAFK5djSk",
"fRh_vgS2dFE",
"OPf0YbXqDm0",
"KYniUCGPGLs",
"e-ORhEE9VVg",
"nfWlot6h_JM",
"NUsoVlDFqZg",
"YqeW9_5kURI",
"YQHsXMglC9A",
"CevxZvSJLk8",
"09R8_2nJtjg",
"HP-MbfHFUqs",
"7PCkvCPvDXk",
"0KSOMA3QBU0",
"hT_nvWreIhg",
"kffacxfA7G4",
"DK_0jXPuIr0",
"2vjPBrBU-TM",
"lp-EO5I60KA",
"5GL9JoH4Sws",
"kOkQ4T5WO9E",
"AJtDXIazrMo",
"RBumgq5yVrA",
"pRpeEdMmmQ0",
"YBHQbu5rbdQ",
"PT2_F-1esPk",
"uelHwf8o7_U",
"KQ6zr6kCPj8",
"IcrbM1l_BoI",
"vjW8wmF5VWc",
"PIh2xe4jnpk",
"QFs3PIZb3js",
"TapXs54Ah3E",
"uxpDa-c-4Mc",
"oyEuk8j8imI",
"ebXbLfLACGM",
"kHSFpGBFGHY",
"CGyEd0aKWZE",
"rYEDA3JcQqw",
"fLexgOxsZu0",
"450p7goxZqg",
"ASO_zypdnsQ",
"t4H_Zoh7G5A",
"QK8mJJJvaes",
"QcIy9NiNbmo",
"yzTuBuRdAyA",
"L0MK7qz13bU",
"uO59tfQ2TbA",
"kkx-7fsiWgg",
"EgqUJOudrcM",
// "60ItHLz5WEA" // 51st VideoID. Uncomment it to see error
];
var url = "https://www.googleapis.com/youtube/v3/videos?part=statistics&key=" + key + "&id=" + videoIds.join(",");
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
(xmlHttp.readyState == 4) && alert("HTTP Status code: " + xmlHttp.status);
}
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
答案是 50。原因是,这就是您得到的全部。
由于某些调用可能会根据搜索条件和可用结果获得相当多的结果,因此他们将 "maxResults" 限制在 50 个。 对此的接受是最多 100 个 CommentThreads。
这是(如您所知)加快页面加载和调用时间。
编辑:
这可以在"Try api"部分进行测试HERE。
您需要将 50 个视频 ID 放入 "id" 字段中,以逗号分隔。
然后再广告一个ID得到51再测试。您应该会收到“400”响应。
P.S。他们不需要是唯一的 ID。所以有一些然后根据需要复制和粘贴多次;-)