基于YouTube API浏览器和进度条的上载

基于YouTube API浏览器和进度条的上载,youtube,youtube-api,cors,Youtube,Youtube Api,Cors,我已经成功地实现了“基于YouTube API浏览器的Ajax进度条上传”(感谢YouTube API团队最近对“uploads.gdata.YouTube.com”的CORS支持) 然而,有一个障碍。。。在youtube API返回的最后一个响应中,它试图通过发送回位置重定向头(302)来重定向浏览器 虽然这在非AJAX场景下可能会像预期的那样工作,但在AJAX请求中是不允许的 我看到了3种可能的解决方案,其中任何一种都可以很好地解决这个问题 如果youtube API允许一种简单地获取刚刚上

我已经成功地实现了“基于YouTube API浏览器的Ajax进度条上传”(感谢YouTube API团队最近对“uploads.gdata.YouTube.com”的CORS支持)

然而,有一个障碍。。。在youtube API返回的最后一个响应中,它试图通过发送回位置重定向头(302)来重定向浏览器

虽然这在非AJAX场景下可能会像预期的那样工作,但在AJAX请求中是不允许的

我看到了3种可能的解决方案,其中任何一种都可以很好地解决这个问题

  • 如果youtube API允许一种简单地获取刚刚上传的视频的“视频ID”的方法,而不必重定向到任何地方,那么对每个人来说都会简单得多、容易得多。。。API中是否有我忽略的选项

  • 或者在AJAX中有没有一种方法可以告诉请求,而不是遵循重定向头

  • 或者是否有任何方式可以“允许”AJAX请求场景中的跨域重定向?(重定向由youtube.com发起,而用户在另一个域上,因此存在跨域重定向问题)


  • gdataapi的v1/v2不支持这一点


    对于YouTube数据API v3,我有一个粗略但实用的示例at(source files at),它显示了上载流,使用Google+登录按钮处理OAuth 2(如果愿意,可以使用普通的OAuth 2浏览器客户端流),并带有进度指示器。它还显示了如何在上传后轮询视频处理状态,并在处理后将生成的视频嵌入页面。

    这是一个已知的问题,应该是固定的,但实际上不是固定的。基于浏览器的上载方法(仅在V2上可用)不完全支持CORS。您唯一的选择是通过您的服务器代理视频上传(最有可能),或者要求用户注册一个google帐户并使用V3 API登录以上传视频(不太好)。

    以下示例可能会有所帮助:感谢链接,但这不是我要找的。。。我希望通过AJAX上传该文件(实际上我能够完成)。问题在于我从youtube返回的响应,这是一个重定向响应,而不是一些JSON/HTML输出。