在javascript中处理youtube数据api中的错误

时间:2012-04-21 12:25:47

标签: javascript youtube youtube-api youtube-javascript-api script-tag

成功加载之一就是:

http://gdata.youtube.com/feeds/api/videos/N7m86aMNjlQ?callback=jsonp1335008664824&alt=json-in-script

但是,当视频是私有或不存在时,它只返回带有http错误状态代码的消息。

http://gdata.youtube.com/feeds/api/videos/zkZBEnBjOjY?callback=jsonp1335008664915&alt=json-in-script

我创建了一个示例唯一的回调函数名称,如“jsonp1335008664824”,并将url附加为脚本标记的src,并在脚本加载时捕获该函数。但是,如果它返回错误,youtube不会将内容作为回调函数返回,我无法捕获它们中的任何一个。因为脚本标签没有“onerror”属性,所以我甚至不知道它是在加载还是返回了404或503状态代码之类的错误。

当我附加脚本标记时,处理它的唯一问题就是设置超时功能。然而,这不是一个可靠的方法,所以我正在寻找另一种选择。我知道,即使我可以捕获状态代码,我也无法收到错误消息,但正如我所见,只有两个状态代码和两个错误,404为“未找到视频”或503为“视频是私有”。< / p>

1 个答案:

答案 0 :(得分:0)

我从Youtube开发者论坛得到了答案。因此,jsonc是处理这类请求的更好方法。而这个开发请求变成了这个布局: http://gdata.youtube.com/feeds/api/videos/zkZBEnBjOjY?callback=jsonp1335008664915&alt=jsonc&v=2

而且,正如我从here学到的,我们可以在Youtube Data Api中使用XMLHTTPRequest。这很棒,因为我们可以从现在开始发出POST和PUT请求。