【问题标题】:What is the maximum HTTP GET request length for a YouTube API?YouTube API 的最大 HTTP GET 请求长度是多少?
【发布时间】:2017-08-10 02:56:38
【问题描述】:

我想使用 youtube video:list api 在单个请求中获取多个视频的详细信息。根据api documentation,我可以发送逗号分隔的 videoId 列表作为 id 参数。但是可能的最大长度是多少?

我知道GET request limit 依赖于服务器和客户端。就我而言,我是从服务器端而不是浏览器发出请求。因此,我可以配置最大长度。但是 youtube 可接受的最大长度是多少?

更新:虽然无法找到官方文档,但当前限制为 50 个 id,来自 Tempus 解释的执行测试。我在下面添加了一个代码,其中包含 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);
}

【问题讨论】:

    标签: youtube-api http-get


    【解决方案1】:

    答案是 50。原因是,这就是你能得到的全部。

    由于根据搜索条件和可用结果,某些调用可能会产生相当多的结果,因此它们将“maxResults”的上限设置为 50。 对此的接受是最多 100 个的 CommentThreads。

    这是(您可以解决的)加快页面加载和调用时间的方法。

    编辑:
    这可以在“Try api”部分中测试出HERE
    您需要将 50 个 videoID 放入以逗号分隔的“id”字段中。
    然后再添加一个 ID 得到 51 并再次测试。您应该收到“400”响应。

    附:它们不需要是唯一的 ID。所以有一些,然后根据需要复制和粘贴多次;-)

    【讨论】:

    • 您好,谢谢。你有什么参考吗?因为在文档中它说“maxResults”不支持与 id 参数一起使用。
    • 我刚刚做了一个测试看看,肯定是50。而且,如果你通过超过50个ID,你会得到NULL。不支持“maxResults”,因为它不进行一般搜索。是你告诉它要得到什么。所以不需要使用它。
    • 超级!您能否将您测试过的信息添加到答案中并发现它是 50。那我可以接受。
    • @Vadakkumpadath 。我刚刚更新了我的帖子。我首先使用自己的脚本进行了测试,但也在 YouTube api 网站上进行了测试。希望对您有所帮助。
    猜你喜欢
    • 2011-02-09
    • 2012-08-02
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多