Youtube API-使用vb.net上载大型文件
我正在尝试使用VB.NET中的API将一个大(4MB+)文件上传到youtube。 较小的文件可以上传,但任何大于4MB的文件都会出现一个错误,我认为这实际上与超时有关:请求被中止:请求被取消 我读了又读了API doco、Google等,想在VB.NET中找到一个例子,但VB.NET似乎什么都没有 一些程序员遇到了同样的问题,他们的回答都围绕着c#或Java——我对这两种语言都不熟悉。 我尝试了settings.timeout和settings.maximum的不同组合,但似乎并没有什么不同 目前的代码是: 子上传YouTube(ByVal sSourceFile作为字符串,ByVal sTitle作为字符串,ByVal Smedicategory作为字符串,ByVal sDesc作为字符串) Dim UseTings作为YouTube请求设置,uRequest作为YouTube请求,newVideo作为视频,CreatedVideo作为视频,VideoId作为字符串 Dim vContentType为String=“video” 尝试 uSettings=新的YouTube请求设置(,) 非常感谢您的帮助Youtube API-使用vb.net上载大型文件,vb.net,api,youtube,Vb.net,Api,Youtube,我正在尝试使用VB.NET中的API将一个大(4MB+)文件上传到youtube。 较小的文件可以上传,但任何大于4MB的文件都会出现一个错误,我认为这实际上与超时有关:请求被中止:请求被取消 我读了又读了API doco、Google等,想在VB.NET中找到一个例子,但VB.NET似乎什么都没有 一些程序员遇到了同样的问题,他们的回答都围绕着c#或Java——我对这两种语言都不熟悉。 我尝试了settings.timeout和settings.maximum的不同组合,但似乎并没有什么不同
TonyPython示例:三个月前做过,希望有帮助。我尝试使用backgroundworker解决超时问题。在某种程度上,它是有效的。它似乎并没有真正在后台工作。我认为RunWorkerAsync将启动,继续执行下一个命令,然后返回。相反,它只是挂起几分钟,就像上传整个75MB文件一样,然后成功发回。但是,如果我拿走backgroundworker并只是执行上传,它就会像你的一样失败。这是我的代码,这种工作方式
Sub up_load(s As Object, e As EventArgs)
Dim worker As BackgroundWorker = New BackgroundWorker
worker.WorkerReportsProgress = True
worker.WorkerSupportsCancellation = True
AddHandler (worker.DoWork), AddressOf begin_upload
worker.RunWorkerAsync()
lblmsg.Text = "Successfully initiated upload"
End Sub
Sub begin_upload(s As Object, e As DoWorkEventArgs)
Dim request As New YouTubeRequest(settings)
Dim vidupload As New Video()
vidupload.Title = "My Big Test Movie"
vidupload.Tags.Add(New MediaCategory("Nonprofit", YouTubeNameTable.CategorySchema))
vidupload.Keywords = "church, jesus"
vidupload.Description = "See the entire video"
vidupload.YouTubeEntry.Private = False
vidupload.YouTubeEntry.setYouTubeExtension("location", "Downers Grove, IL")
vidupload.YouTubeEntry.MediaSource = New MediaFileSource("c:\users\greg\test3.asf", "video/x-ms-wmv")
Dim createdVideo As Video = Request.Upload(vidupload)
End Sub
谢谢,但对我来说(不熟悉python)有点模糊,我上传的代码示例只是(应该)获取一个文件,进行身份验证和上传。对于小文件-没有问题。为什么它不适用于更大的文件?我对Vb.net不太精通抱歉,我能告诉你的是python gdata youtube API是一个让人头疼的东西。它经常变化,这意味着你的代码不再工作了,文档也太可怕了。正如我说的,我不知道Vb.net,但是你真的需要使用它吗?从VB的幸福感来看,使用我熟悉的工具是有意义的!这是一个大得多的程序的一小部分,负责它的程序员团队都是VB网络程序员。我认为这与这里提到的配额使用有关。。。但我的评论的重点是建议您不要使用文件扩展名来计算MIME类型,而是使用“Winista”进行二进制分析,请参阅我这里的方法,它求助于URLMon,最后一个答案:
Sub up_load(s As Object, e As EventArgs)
Dim worker As BackgroundWorker = New BackgroundWorker
worker.WorkerReportsProgress = True
worker.WorkerSupportsCancellation = True
AddHandler (worker.DoWork), AddressOf begin_upload
worker.RunWorkerAsync()
lblmsg.Text = "Successfully initiated upload"
End Sub
Sub begin_upload(s As Object, e As DoWorkEventArgs)
Dim request As New YouTubeRequest(settings)
Dim vidupload As New Video()
vidupload.Title = "My Big Test Movie"
vidupload.Tags.Add(New MediaCategory("Nonprofit", YouTubeNameTable.CategorySchema))
vidupload.Keywords = "church, jesus"
vidupload.Description = "See the entire video"
vidupload.YouTubeEntry.Private = False
vidupload.YouTubeEntry.setYouTubeExtension("location", "Downers Grove, IL")
vidupload.YouTubeEntry.MediaSource = New MediaFileSource("c:\users\greg\test3.asf", "video/x-ms-wmv")
Dim createdVideo As Video = Request.Upload(vidupload)
End Sub