寻求Google工程师的支持,因为这显然是一个持久的YouTube API错误。
我正在使用YouTube v3 API搜索视频,并在其他ID中返回“p2hcYliOqic”视频ID。将其提供给/ videos端点始终导致HTTP 500带有“后端错误”消息。这只是一个例子,问题更广泛(我可以找到更多的ID导致这个问题)。以下是请求示例(API键替换为MY_API_KEY):
curl -X GET -H "content-length: 0" -H "host: www.googleapis.com" "https://www.googleapis.com/youtube/v3/videos?id=p2hcYliOqic&part=snippet&key=MY_API_KEY"
响应:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "backendError",
"message": "Backend Error"
}
],
"code": 500,
"message": "Backend Error"
}
}
在其他ID中提供此ID会导致相同的结果,HTTP 500,这是一个严重的问题。我希望YouTube API忽略它无法处理的视频ID,并且不会完全失败请求。如果用户提供了不存在的视频ID,则YouTube API v3只会返回一个空结果(如果至少有一个真正的&“非错误的”ID,则返回非空结果) - 我希望“有问题”的情况也是如此的ID。
答案 0 :(得分:1)
对于那些面临类似YouTube症状的人(即对具有100个视频ID的/视频的GET请求,由于没有特殊原因而导致“后端错误”失败),这是一个绕道而行。在您的代码中,您需要添加一个处理程序,将这些请求分解为较小的请求并发送它们,直到所有非错误的ID都通过。在这种情况下,我分为3个查询。例如。如果100-vid请求失败(由于“后端错误”,而不是配额问题或API响应中特别注明的其他内容),我将其分解为34-vid,33-vid,33-vid。如果只有一个错误ID,则只有其中一个请求失败,之后我再将其拆分为3个部分。这样,所有非错误的ID都会通过,但这种方法对您的YouTube请求配额来说成本更高(如果请求失败)。