【问题标题】:Youtube API access IssueYoutube API 访问问题
【发布时间】:2016-11-09 14:48:17
【问题描述】:

我们的脚本团队使用 Youtube API 构建了一个脚本来上传视频。大约 8-10 个用户可以同时使用 API 上传视频。

用户随机遇到错误。说明视频上传失败。

com.google.api.client.googleapis.json.GoogleJsonResponseException: 503 服务不可用

{
  "code" : 503,
  "errors" : [ {
    "domain" : "global",
    "message" : "Backend Error",
    "reason" : "backendError"
  } ],
  "message" : "Backend Error"
}

"ERROR VideoEntityManagerImpl:? - Video not Uploaded to youtube

INFO LoggingOutInterceptor:? - Outbound Message"

他们重试,视频上传成功。

这是一个转折点:在第二次尝试发布成功上传后,他们会在 Youtube 中收到一条通知,指出有重复的视频。

这是一个令人担忧的问题,因为我们正在生产中,并且之前一切都运行良好。我们上周遇到了这个问题。

有没有办法让我获得更多日志以更好地理解问题?有什么办法可以消除这种情况?

【问题讨论】:

  • 只是跟进。有没有人对此有任何见解..?

标签: youtube-api youtube-data-api


【解决方案1】:

这种情况偶尔会发生。很可能在后端服务器太忙时发生。您的上传脚本似乎没有使用 ResumableUpload 类功能来恢复失败的上传。您使用的 API 版本可能不包含 ResumableUpload 类。使用 ResumableUpload 类,当您收到后端服务器错误时,您可以从故障点恢复上传。在 GitHub 上的 google/google-api-dotnet-client-samples 存储库中,有两个 .NET 示例展示了如何使用 ResumableUpload 类的 .UploadAsync 和 .ResumeAsync 方法.尽管这些示例是 .NET,但您应该能够从中学到足够的东西来增强您的脚本,以便在遇到后端服务器错误时恢复。昨晚,我上传了三个 30 分钟的视频,在这段视频中,我的应用程序调用了几次 .ResumeAsync 方法,以便在后端服务器错误后成功恢复。

如果您希望使用同步调用,还有 .Upload 和 .Resume 方法。

来自 HTTP 状态代码文档: 503 = HTTP_STATUS_SERVICE_UNAVAIL - 服务暂时超载。

【讨论】:

    猜你喜欢
    • 2017-07-17
    • 2011-06-24
    • 2011-03-31
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    相关资源
    最近更新 更多