我们正在尝试使用 Google YouTube API 直接通过浏览器将视频从我们的网站上传到 YouTube。
该 API 分两步工作,第一步我们需要创建一个包含所有元数据(如标题、标签、描述、类别等)的 Video 对象。然后我们需要向 YouTube 发送带有此对象的请求并生成一个 Token 对象作为回应。这个令牌对象有一个令牌值和一个令牌 URL 作为它的成员。
在第二步中,他们建议我们应该创建一个将 action 属性设置为 Token URL 的表单。这个表单应该有一个文件上传控件和一个以 Token Value 作为其值的隐藏字段。发布此表单后,它会将视频上传到 YouTube。
如果我们将其作为一个两步过程,首先向用户询问元数据,然后将他们重定向到第二页以进行实际视频上传,这将非常有效。但是,我们试图在一个页面中完成此操作,向用户显示为一个步骤。
我们有一个 MasterPage,其中指定了“aspnetForm”,因此我们不能拥有另一个具有runat='server'
属性的表单。
我们已经尝试使用 JavaScript/code-behind 修改 aspnetFrom 的 action 属性,但无论我们做什么,它都保持不变。
我们还尝试放置另一个嵌套表单,在收到来自 YouTube 的第一个带有令牌的响应后,其动作标签将设置在按钮单击事件上。但即使这样也行不通,因为在调用此方法时还没有创建表单。
我们已经尝试了几种方法,但似乎都没有奏效。任何关于此的建议都会很棒。
如果您还有任何问题要清楚地了解情况..请告诉我..
更新:
谢谢你们的回应。
我们稍微改变了业务逻辑来解决这个问题。很久以前,我现在还没有寻找解决方案..
然而,这个问题仍然是开放的,并得到了回应。我真的很感谢所有的帮助,因此,将把这个问题留给任何进一步的讨论。