Youtube API 上传在 nexturl 中返回状态=400&erro=FAILED



我的API接口成功地将视频上传到YouTube通过浏览器成功通过所有OAuth2身份验证,并返回URL和令牌以将视频发布到YouTube。当上传似乎完成时,它将其重定向到我的" Nexturl"页面,其URI类似于:

http://mynexturl.com?status = 400&; error = failed

,YouTube上没有视频。

当在不同的浏览器上登录到不同的Google帐户时,这种情况正在发生。我的代码曾经工作,然后偶尔开始遇到此错误,现在始终遇到此错误。

我能找到的唯一提及此问题的论坛是没有回答的。真的很感谢任何想法。

fyi,我不使用框架。所有代码本土。

这是生成的基本形式。我相信编码URL都可以。

<form name="vidform"
action="https://uploads.gdata.youtube.com/action/FormDataUpload/AIwbFAT3znCsDfC_Be
5RiqMy2L4xpBqTsxrRbG5Q7iiKJweoXHl3b6UyVM9fLJTNTuKAptTiQY0hrVzYArABtKOGgCAxNYHa8BbsjQrWokwSp51HUckPI56amf4xeaMask7G9B5Gttsh
?nexturl=http%3A%2F%2Fmydomain.com%2Fcs%2Fbuild%2Fquilt%2Fyoutube_fin%2Ehtm
%3Ffinish%3DY%26state%3D2220" method="post" enctype="multipart/form-data" 
onsubmit="return chkYouFile(this);">
<input name="file" type="file">
<input type="hidden" name="token" value="AIwbFARRkinNm2Hey6JBCgxIO3mReNLQDoxLAoDBK_jq6FT1-epwRt2tfRECeONF9QQRHcLJsxKAzbHIQEvNJC-c1P1aqoFvK1jTkl4U94vMgdHGrkDuSAfKws1IU-GpkvNeMYVoI223lL3r0FP28KU4xef3K6Hmg6TJjyf9u4HxoIW7FHqQybZuGRpR3mdfkVfl0pObgfX9uj2J1m2DwPnWU0kOBw0Q4hezzczitsEi1b_cE-E7o0miJP2xTLB-kZTv6aPSvTtbgr7w-57Q09igVcOrhsrmu9tfhnHWTi6peXdvu5BeRnoWAXhz_ZKeH_Q0FN2-SzW0">
<input id="UpNow" type="submit" value="Upload Now!" style="font-weight:bold;font-size:11pt;">
</form>  

它正正确返回到Nexturl页面。

一个可能的原因是Nexturl参数未编码,NextUrl参数的值应编码

在某个时候,当我撕开头发时,我添加了an&amp;(ampersand)到 nexturl url的末端。也就是说,Nexturl字段/值来自:

nexturl=http://mydomain.com/youtube_fin.htm?finish=Y&state=2220

to:

nexturl=http://mydomain.com/youtube_fin.htm?finish=Y&state=2220&

(我故意显示上面的非纯净编码版本以清晰度)

上传立即开始工作。没有更多错误=失败的消息。有趣的是,我删除了&amp;看看它是否会再次开始失败,但没有。因此,我仍然对此感到困惑,但现在正常工作,所以我很高兴。

相关内容

  • 没有找到相关文章

最新更新