Home Articles

YouTube API集成ASP.NET - 使用单页上传视频

Asked
Viewed 1125 times
6

我们正尝试使用Google YouTube API直接通过浏览器将视频从我们的网站上传到YouTube .

API分两步完成,第一步我们需要创建一个Video对象,其中包含 Headers ,标签,描述,类别等所有元数据 . 然后我们需要将带有此对象的请求发送到YouTube并生成令牌对象作为回应 . 此令牌对象具有令牌值和令牌URL作为其成员 .

在第二步中,他们建议我们应该创建一个Form,其action属性设置为Token URL . 此表单应具有文件上载控件和隐藏字段,其中标记值为其值 . 发布此表单后,会将视频上传到YouTube .

如果我们将它作为一个两步过程,首先向用户询问元数据然后将它们重定向到第二页以进行实际的视频上传,这非常有用 . 但是,我们正在尝试在单个页面中完成此操作,向用户显示为一个步骤 .

我们有一个MasterPage,其中指定了'aspnetForm',因此我们不能拥有 runat='server' 属性的另一个表单 .

我们尝试使用JavaScript /代码隐藏来修改aspnetFrom的action属性,但无论我们做什么,它都保持不变 .

在收到带有令牌的YouTube的第一个回复后,我们还尝试放置另一个嵌套表单,其操作标记将设置在按钮点击事件上 . 但即使这样也行不通,因为在调用此方法时不会创建表单 .

我们已经尝试了几种方法,但似乎没有一种方法 . 任何有关这方面的建议都会很棒 .

如果您有任何疑问需要清楚了解情况..请告诉我..


更新:

谢谢你们的回应 .

我们稍微改变了业务逻辑以解决问题 . 它很久以前了,我现在还没有找到解决方案 .

但是,问题仍然是开放的并得到回应 . 我非常感谢所有的帮助,因此,对于任何进一步的讨论都会留下问题 .

3 Answers

  • 2

    我将创建一个表单,向用户显示元数据的文本字段和视频的文件上载控件 .

    然后,在处理回发的代码中,您可以将元数据提交到YouTube API以获取令牌值 .

    然后,您将HttpWebRequest与令牌值一起传递到 WebRequest 对象的 Create 方法,并将 Method 属性设置为 Post . 然后,您可以添加上传的视频(有关详细信息,请参阅dr evil's answer to "Upload files with HTTPWebrequest (multipart/form-data)"),当您致电 GetResponse() 时,您的文件将被提交 .

    需要注意的事项:

    • ScriptTimeout :如果您允许用户将大型文件上传到YouTube - 如果您需要一段时间才能将其传输,那么您的脚本可能会提前终止 .

    • 带宽:您在我的月带宽中通过FTP计算流量,但确实包括通过网站上传/下载的文件 .

  • 0

    您可以以编程方式发布到YouTube表单 . 我最近修改了在http://www.codeproject.com/KB/cs/uploadfileex.aspx找到的示例,编写了一些代码,将文件作为夜间作业发布到第三方网站 .

    这会导致性能下降,因为文件必须上传到您的服务器,然后上传到YouTube而不是直接上传到YouTube,但这是一个选项 .

Related