Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用visual basic.net实现Youtube上载_Vb.net_Api_Youtube - Fatal编程技术网

Vb.net 使用visual basic.net实现Youtube上载

Vb.net 使用visual basic.net实现Youtube上载,vb.net,api,youtube,Vb.net,Api,Youtube,嗨,我想用youtube api创建一个上传视频程序,我想我错过了一些东西。我搜索了一些关于如何使用.net上传的例子,但似乎找不到答案 这是我的密码: 将设置设置设置为YouTube RequestSettings 将请求设置为YouTube请求 设置=新的youtube请求设置(“youtube上传器”、“AI39SI4NWQS3ISLGVJLHBCDC8BFIJJJWQQCJEVZOLBFOHZASLQ4UHGRNFOJKDXGJU55G2XOSIMZEHXPGE5SYMV9X0FH8N

嗨,我想用youtube api创建一个上传视频程序,我想我错过了一些东西。我搜索了一些关于如何使用.net上传的例子,但似乎找不到答案

这是我的密码:

将设置设置设置为YouTube RequestSettings 将请求设置为YouTube请求

设置=新的youtube请求设置(“youtube上传器”、“AI39SI4NWQS3ISLGVJLHBCDC8BFIJJJWQQCJEVZOLBFOHZASLQ4UHGRNFOJKDXGJU55G2XOSIMZEHXPGE5SYMV9X0FH8NEHGG”、txtuser.Text、txtpass.Text) 请求=新建YouTube请求(设置)

尝试 将新视频变暗为视频=新视频() newVideo.Title=“宿醉示例电影” newVideo.Tags.Add(新MediaCategory(“示例”,YouTubeNameTable.CategorySchema)) newVideo.Keywords=“宿醉,有趣” newVideo.Description=“宿醉” newVideo.YouTubeEntry.Private=False 添加(新媒体类别(“宿醉、搞笑、喜剧”,YouTubeNameTable.DeveloperTagSchema)) newVideo.YouTubeEntry.Location=新地理位置(37,-122) '或者,您可以只指定一个描述性字符串 'newVideo.YouTubeEntry.setYouTubeExtension(“位置”,“加利福尼亚州山景城”); newVideo.YouTubeEntry.MediaSource=新的MediaFileSource(Environment.GetFolderPath(Environment.SpecialFolder.Desktop)和“\sample.avi”、“video/avi”) 请求上传(新视频) 特例 MsgBox(例如消息) 结束尝试 端接头 末级`
但执行请求失败时会产生此错误。我注意到的主要问题是,您的代码指定的媒体源是*.avi文件,并将其分配为MIME类型的“video/quicktime”。据我所知,quicktime视频通常由*.mov扩展名指示。当YouTube收到此信息时,它可能会使用转码器将您的电影内容转换为自己的本机格式,但失败了,因为它试图将电影理解为QuickTime文件。您可能应该将MIME类型更改为“video/avi”


此外,您的示例代码没有调用
request.Upload()

首先想到的是,您正在初始化时创建一个请求对象,但在单击按钮之前不会使用它。这可能是个问题,我看到的C#示例一个接一个地解决了这个问题


但最类似的问题是,您似乎正在使用表单控件为设置对象设置一些值,并在表单初始化时执行此操作,而这些控件通常没有可用的值。如果要将值硬编码到控件中,最好只对设置对象进行硬编码。如果您在设计时没有将值硬编码到控件中,那么这可能是您的问题(这与您的身份验证错误很吻合)。

我刚刚发现我的代码的问题是youtube没有向我询问用户名(但我有我的youtube帐户,疯狂…XD)…然后我再次尝试了代码,代码正常工作。还要感谢@jmoreno。

谢谢。我有那行我忘了复制请求。上传(新视频)行对不起,我会更新它,我试图更改“视频/avi”,但结果相同。是的,很抱歉。我硬编码了用户名和密码,但输出仍然是一样的。@jko:没问题。不过,我想说的是,您的问题在于创建设置。我将验证您传递给构造函数的所有参数。

` Imports Google.YouTube
    Imports Google.GData.Client
    Imports Google.GData.Extensions
    Imports Google.GData.Extensions.MediaRss
    Imports Google.GData.YouTube
    Imports Google.GData.Extensions.Location

Public Class Form1





    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click