gpt4 book ai didi

c# - YouTube V3 API - Google.Apis.Requests.RequestErrorBackend 错误 [503]

转载 作者:太空狗 更新时间:2023-10-29 21:53:09 26 4
gpt4 key购买 nike

我使用我的软件将视频上传到 YouTube 已经有一段时间了,一年多来一切正常。我假设“后端”发生了一些变化,Google 告诉我使用标签在这里发布我的问题,所以就在这里。

当我上传视频时会发生这种情况。视频上传到99%,就会抛出这个错误。 ResumeAsync() 似乎不断抛出此错误。

C# 旁注:我不确定这是否适用于其他编程语言,但对于 C# API,为了使用 ResumeAsync(),您需要设置两个 PRIVATE 属性ResumableUpload 对象:UploadUri 和 StreamLength。

我将 UploadAsync 和 ResumeAsync 方法与根据 Google 指南实现的“指数退避策略”结合使用。

我已经尝试创建一个新的开发者客户端 ID、服务器 ID 等等,结果相同。我也试过上传到不同的 YouTube,结果相同。这不是配额问题。我的配额是 5%,此外,我创建了一个新的 Google 开发者应用程序。

Google.Apis.YouTube.v3运行时:v4.0.30319版本:1.12.0.461

错误Google.Apis.Requests.RequestError

后端错误 [503]

Errors [

Message[Backend Error] Location[ - ] Reason[backendError] Domain[global]

]

System.Net.HttpStatusCode.Gone at Google.Apis.Upload.ResumableUpload`1.d__91.MoveNext() 在 C:\Users\mdril\Documents\GitHub\google-api-dotnet-client\Src\GoogleApis\Apis[媒体]\上传\ResumableUpload.cs:第 553 行

编辑在这些错误出现后不久,YouTube 通过电子邮件发送了以下内容: https://developers.google.com/youtube/terms/required-minimum-functionality

我猜他们正在为这些即将到来的要求做准备。我想他们很快就会为我们写申请!哈哈!控制太多了!

最佳答案

一段时间前,也许是几个月前,Google 上传服务器的上传超时次数比过去多得多。那就是您看到的错误。除了您可能只是报告错误而不是处理错误之外,您的代码没有任何问题。

很可能您正在使用.Upload 方法。我这样说是因为错误 503 返回“任务已取消”。使用 .UploadAsync 方法时出错。我在上传程序中使用了 .UploadAsync.ResumeAsync

当你在使用.Upload方法时出现这样的错误,说明服务器太忙,无法在超时时间内处理你的请求。您的程序应该识别此错误并调用 .Resume 方法来恢复上传。

或者,您可以使用以下语句将超时从默认的 100 秒增加到更高: YouTube.HttpClient.Timeout = TimeSpan.FromMinutes(HTTP_CLIENT_TIMEOUT_MINUTES);

其中 YouTube 是您的 YouTubeService 对象的变量名称。

根据我的经验,增加超时时间不如处理错误和请求恢复上传有效。比如你设置超时时间为五分钟,那么如果五分钟后没有返回响应,你的程序仍然会失败。是的,那是可能发生的。我通常将超时设置为两分钟,然后在发生错误时恢复上传。几乎总是,上传将正确恢复。

偶尔,上传可能会立即再次超时。出于这个原因,我计算我的简历并在触发 ProgressChanged IUploadProgress.Uploading 事件时重置简历计数器。我有 3 次恢复重试的限制,并且从未超过该限制。

关于c# - YouTube V3 API - Google.Apis.Requests.RequestErrorBackend 错误 [503],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38558348/

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