Youtube订阅api[错误]

Youtube订阅api[错误],api,youtube,subscriber,Api,Youtube,Subscriber,我正试图通过api订阅youtube频道。因为我不擅长xml,所以需要您的帮助。 文档的原始链接: 或 简而言之,以下是youtube文档中的内容: 添加订阅 要创建订阅,请发送一个POST请求,该请求标识创建订阅的经过身份验证的用户的YouTube用户名。请求主体是包含以下元素的XML条目: 标记标识用户正在创建的订阅类型。将标记的“术语属性值”设置为“用户”,表示用户正在订阅其他用户的活动(上载视频、分级、将视频标记为收藏夹等),或将“术语属性值”设置为“频道”,表示用户正在订阅频道 标签标

我正试图通过api订阅youtube频道。因为我不擅长xml,所以需要您的帮助。 文档的原始链接: 或

简而言之,以下是youtube文档中的内容:

添加订阅

要创建订阅,请发送一个POST请求,该请求标识创建订阅的经过身份验证的用户的YouTube用户名。请求主体是包含以下元素的XML条目:

标记标识用户正在创建的订阅类型。将标记的“术语属性值”设置为“用户”,表示用户正在订阅其他用户的活动(上载视频、分级、将视频标记为收藏夹等),或将“术语属性值”设置为“频道”,表示用户正在订阅频道

标签标识正在订阅其活动的频道或用户

订阅频道

POST /feeds/api/users/default/subscriptions HTTP/1.1
Host: gdata.youtube.com
Content-Type: application/atom+xml
Content-Length: CONTENT_LENGTH
Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key: key=DEVELOPER_KEY

<?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>

由于您使用的是HTML表单Post,因此它将内容类型设置为
application/x-www-Form-urlencoded
,但所需的内容类型为
application/atom+xml

要做您想做的事情,您需要使用javascript发布(为了简单起见,我建议使用jQuery)

我还没有测试过,但你应该知道。确保将注释替换为应用程序的实际值

请注意,这可能会遇到跨域问题

Content-Type application/x-www-form-urlencoded is not a valid input type.
 var data = //XML Data for post

 $.ajax({
  url://Youtube Subscribe Post URL,
  type:"POST",
  data:data,
  Authorization: //ACCESS_TOKEN,
  GData-Version: '2',
  X-GData-Key: 'key=' //DEVELOPER_KEY,
  contentType:"application/atom+xml",
  dataType:"xml",
  success: function(){
    alert('subscribd');
  }
});