0

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

这是代码:

$.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。请问我可以就如何发布这些数据提供一些帮助吗?谢谢!

4

1 回答 1

0

我的建议是避免使用 YouTUbe GData API v2 执行此操作。虽然当然可以让它工作,但它依赖于在支持CORS的浏览器中运行的 JavaScript ,这排除了除了最新版本的 Internet Explorer 之外的所有内容。

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

不过,我真正推荐的是使用 YouTube Data API v3,它有一个用于添加订阅的subscriptions.insert()方法。您可以使用一个很棒的 JavaScript客户端库,它将为您处理 OAuth 2,并以适用于各种浏览器的方式发出 API 请求。

于 2013-04-01T15:51:18.973 回答