Youtube订阅api[错误]
我正试图通过api订阅youtube频道。因为我不擅长xml,所以需要您的帮助。 文档的原始链接: 或 简而言之,以下是youtube文档中的内容: 添加订阅 要创建订阅,请发送一个POST请求,该请求标识创建订阅的经过身份验证的用户的YouTube用户名。请求主体是包含以下元素的XML条目:Youtube订阅api[错误],api,youtube,subscriber,Api,Youtube,Subscriber,我正试图通过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');
}
});