通过JavaScript订阅YouTube频道

时间:2013-03-25 20:07:16

标签: javascript xml youtube-api

所以我真的很沮丧,因为我试图将其发布到YouTube API。 但是,当我使用Ajax时,我得到语法意外的变量错误。

以下是代码:

$.ajax({
url:"gdata.youtube.com/feeds/api/users/default/subscriptions",
type:"POST",
data:"<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom'          xmlns:yt='http://gdata.youtube.com/schemas/2007'>
<category scheme='http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat'
term='channel'/>
<yt:username>GoogleDevelopers</yt:username>
</entry>",
Authorization: token,
GData-Version: '2',
X-GData-Key:     'key=MYDEVKEY',
contentType:"application/atom+xml",
dataType:"xml",
success: function(){
alert('subscribd');
}
});

通过一些研究,我发现代码的第一行会导致错误。有没有办法将这些数据发布到api。哦,文档a在https://developers.google.com/youtube/2.0/developers_guide_protocol_subscriptions#Adding_a_subscription。请问如何发布这些数据?谢谢!

1 个答案:

答案 0 :(得分:0)

我的建议是避免使用YouTUbe GData API v2。虽然它确实可以实现,但它依赖于在支持CORS的浏览器中运行的JavaScript,并且除了最新版本的Internet Explorer之外的所有版本都会排除。

如果您确实希望使用GData API v2执行此操作,您可能会发现使用JSON正文而不是XML正文进行POST更容易,并在POST URL中包含alt=json。有一个使用JSON主体针对v2 here发出POST请求的示例,以及其他浮动的示例。

我真正建议的是,使用YouTube Data API v3,它有一个subscriptions.insert()方法来添加订阅。您可以使用一个很棒的JavaScript client library来处理OAuth 2,并以适用于各种浏览器的方式发出API请求。