XML 元素定义
YouTube Data API 可以使用来自多个 XML 方案的标签。下表标识了 API 使用的不同方案、与每个方案关联的名称空间前缀和每个方案的名称空间网址。
| 方案 | 名称空间前缀 | 方案网址 |
| Atom 联合格式 | [无] - 这是默认名称空间 | http://www.w3.org/2005/Atom |
| OpenSearch 方案 | openSearch | http://a9.com/-/spec/opensearchrss/1.0/ |
| 媒体 RSS | 媒体 | http://search.yahoo.com/mrss/ |
| YouTube XML 方案 | yt | http://gdata.youtube.com/schemas/2007 |
| Google Data 方案 | gd | http://schemas.google.com/g/2005 |
| GeoRSS | georss | http://www.georss.org/georss |
| 地理标记语言 | gml | http://www.opengis.net/gml |
| Atom 发布协议 | app | http://www.w3.org/2007/app |
下表定义了来自每个方案(显示在 YouTube Data API 请求和响应中的方案)的 XML 标签。每个表格都包含单个标签的定义,标签按字母顺序依方案列出。
以下定义中的部分子标签旁边可能会显示某些符号。这些符号及其意义如下:
? = 可选子标签
* = 无或多个子标签实例
+ = 一个或多个子标签实例
Atom 元素参考
OpenSearch 元素参考
YouTube 元素参考
媒体 RSS 元素参考
GData 元素参考
GeoRSS 元素参考
GML 元素参考
Atom 发布协议元素参考
基于浏览器上传 API 响应元素参考
错误响应元素参考
<author> 标签包含有关 YouTube 用户(拥有一段视频内容、订阅、喜欢的视频列表、联系人或其他条目)的信息。
3.2.1.1 实例
<author>
3.2.1.2 属于
3.2.1.3 子标签
<category> 标签可以指定条目所属的类别。
· <category> 标签显示为 <feed> 或 <entry> 的子标签时,该标签可以标识每个供稿条目中介绍的项目类型。scheme 属性的值为http://schemas.google.com/g/2005#kind,term 属性的值可以表明供稿条目是否介绍了视频、播放列表链接、订阅、联系人或其他实体类型。
· 当 <category> 标签显示为 <entry> 的子标签且条目介绍了视频时,该标签也可以指定与该视频相关的特定关键字或类别。在这种情况下,scheme 属性可以表明 term 属性值是否涉及关键字或类别。
添加订阅或者添加或更新联系人的请求中需要 <category> 标签:
· 在添加订阅的请求中,<category> 标签可以表明用户是否要订阅频道、其他用户喜欢的视频列表或关键字标签:
o 如果用户要订阅频道,则 <category> 标签的 term 属性值必须为 channel。
o 如果用户要订阅其他用户喜欢的视频列表,则 <category> 标签的 term 属性值必须为 favorites。
o 如果用户要订阅关键字标签,则 <category> 标签的 term 属性值必须为 query。
· 在添加或更新联系人的请求中, 标签可以表明联系人是否是好友或家人。
o 如果联系人是家人中的成员,则 <category> 标签的 term 属性值应为 Family。
o 如果联系人是好友,则 <category> 标签的 term 属性值应为 Friends。
3.2.1.4 属性
| 名称 | 格式 | 说明 |
| scheme | 复杂内容 | scheme 属性指定了一个网址,该网址可以标识与表格相关的分类方案。 · 在添加订阅的请求中,scheme 属性的值必须为http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat。 · 在添加联系人的请求中,scheme 属性的值必须为http://gdata.youtube.com/schemas/2007/contact.cat。 |
| term | 复杂内容 | term 属性可以标识包含在与视频相关的供稿条目、类别或关键字中的实体类型。 · 在添加订阅的请求中,term 属性值可能是 channel、favorites 或 query。 · 在添加联系人的请求中,term 属性值可能是 Family 或 Friends。 |
| label | 复杂内容 | label 属性可以指定视频所属的 YouTube 类别的实体换码名称。该属性仅包含在涉及类别(不是关键字或实体类型)的 <category> 标签中。 |
3.2.1.5 实例
<category scheme='http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat' term='channel'/>
3.2.1.6 属于
<content> 标签包含评论文本或者视频说明或播放列表的说明。当 <content> 标签显示在视频条目或播放列表条目中时,它可能包含与 <media:description> 标签相同的说明。
添加评论的请求中需要 <content> 标签。
3.2.1.7 实例
<content type="text">Video comments are cool.</content>
3.2.1.8 属于
<entry> 标签可以封装有关视频、播放列表、订阅、联系人或其他实体的信息。在所有添加 (POST) 或更新 (PUT) 数据的 YouTube Data API 请求中,<entry> 标签为根标签。
3.2.1.9 实例
<entry>
3.2.1.10 属于
3.2.1.11 子标签
在视频或播放列表条目中:id、published、updated、category*、title?、content?、link*、author?、media:group?、yt:description?(此标签仅显示在播放列表条目中),yt:position? (此标签仅显示在播放列表条目中),yt:statistics?、gd:comments?、gd:rating?、location?、yt:recorded?、georss:where?、app:control?
在评论供稿中:id、published、updated、category*、title?、content?、link*、author?
在播放列表供稿中: id、published、updated、category*、title?、content?、link*、author?、yt:description?、gd:feedLink
在订阅供稿中:id、published、updated、category*、title?、content?、link*、author?、yt:username?、yt:queryString?、gd:feedLink
在个人资料条目中:id、published、updated、category*、title?、content?、link*、author?、yt:age?、yt:books?、yt:company?、firstName?、yt:gender?、yt:hobbies?、lastName?、yt:location?、yt:movies?、yt:music?、yt:occupation?、yt:school?、yt:username?、yt:statistics?、media:thumbnail?、gd:feedLink*
添加喜欢的视频:id
添加和更新播放列表: title、yt:description、yt:private
添加和更新播放列表条目: title、yt:description、yt:position
添加订阅: category、yt:username、yt:queryString
添加和更新联系人: category、yt:username
添加评论: content
添加视频响应: id
添加评分: gd:rating
添加投诉: yt:description
<feed> 标签是几种类型的 YouTube Data API 供稿(包括视频供稿、订阅供稿、播放列表供稿、喜欢的视频供稿和联系人供稿)的根标签。供稿包含一系列<entry> 元素,每个元素都包含有关单个视频、播放列表、订阅或其他实体的信息。
3.2.1.12 实例
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:yt='http://gdata.youtube.com/schemas/2007' xmlns:gd='http://schemas.google.com/g/2005'>
3.2.1.13 子标签
id、updated、category*、title、logo?、link*、author?、generator、openSearch:itemsPerPage?、openSearch:startIndex?、openSearch:totalResults?、entry+
<generator> 标签可以标识用于创建供稿的软件。该信息可以用于调试。
3.2.1.14 属性
| 名称 | 格式 | 说明 |
| version | 复杂内容 | version 属性可以指定用于生成供稿的软件应用程序的版本。 |
| uri | 复杂内容 | uri 属性可以指定与生成供稿的软件相关的网址。 |
3.2.1.15 实例
<generator version='beta' uri='http://gdata.youtube.com/'>YouTube data API</generator>
3.2.1.16 属于
<id> 标签可以指定唯一且永久标识供稿或视频条目的网址。
3.2.1.17 实例
<id>http://gdata.youtube.com/feeds/api/users/andyland74/subscriptions/5c56f45db338111c</id>
3.2.1.18 属于
<link> 标签包含与供稿或供稿条目有关的 IRI 参考。
3.2.1.19 属性
| 名称 | 格式 | 说明 |
| rel | 复杂内容 | rel 属性可以表明 href 属性中指定的 URI 与当前的结果集相关的方式: · 如果 rel 属性值为 self,则链接可以标识用于检索有关供稿或供稿中特定条目的信息的网址。 · 如果 rel 属性值为 edit,则链接可以标识用于修改供稿条目的网址。 · 如果 rel 属性值为 alternate,则链接可以标识代表供稿的不同形式的网址,例如到该供稿条目的 HTML 形式的链接。 · 如果 rel 属性值为 prev,则链接会指向供稿结果集的前一页。 · 如果 rel 属性值为 next,则链接会指向供稿结果集的下一页。 · 如果 rel 属性值为 related,则链接可以标识与当前供稿相关的其他供稿。例如,如果供稿包含联系人条目的列表,则联系人的相关链接可能指向该联系人个人资料的供稿。 · rel 属性也可能包含方案(可以标识与相应链接相关的实体类型)的链接。例如,包含指向响应、评分、投诉和该视频的相关视频的 <link> 标签的视频条目。某些此类 <link>标签可用于检索其他供稿,例如相关视频与视频响应,而其他标签可用于发布数据,例如评分或投诉。 |
| type | 复杂内容 | type 属性可以指定相关网址上的资源的媒体类型。YouTube Data API 响应中的链接通常涉及 HTML 网页或其他 API 响应(Atom 供稿)。因此,最常见的 type 属性值为 text/html 和application/atom+xml。 |
| href | 复杂内容 | href 属性可以指定 URI,该 URI 可以标识 <link> 标签中标识的资源。 |
3.2.1.20 实例
<link rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/AlPqL7IUT6M/related'/>
3.2.1.21 属于
<logo> 标签可以指定提供供稿的视觉识别的图片。YouTube Data API 供稿上的徽标是 YouTube 徽标。
3.2.1.22 实例
<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo>
3.2.1.23 属于
<name> 标签包含作者的 YouTube 用户名。
3.2.1.24 实例
<name>andyland74</name>
3.2.1.25 属于
<published> 标签可以指定创建供稿条目的时间。
3.2.1.26 实例
<published>2007-10-15T15:39:34.000-07:00</published>
3.2.1.27 属于
<title> 标签可以提供供稿或供稿中的条目的可读性标题。添加播放列表时需要使用该标签,添加或更新播放列表条目时可选择使用该标签。
· 在添加或更新播放列表的请求中,<title> 标签可以指定播放列表的标题。
· 在添加或更新播放列表条目的请求中,<title> 标签可以指定用户要显示在播放列表中自定义标题,而不是视频的实际标题。如果用户不提供自定义标题,YouTube 将在播放列表中显示视频的实际标题。
3.2.1.28 实例
<title type='text'>andyland74's Subscriptions</title>
3.2.1.29 属于
<updated> 标签可以指定供稿或供稿条目最后更新的时间。
3.2.1.30 实例
<updated>2007-10-15T15:39:34.000-07:00</updated>
3.2.1.31 属于
<uri> 标签包含与 author 相关的网址。
3.2.1.32 实例
<uri>http://gdata.youtube.com/feeds/api/users/andyland74</uri>
3.2.1.33 属于
本文详细介绍了YouTube Data API中使用的XML元素,涵盖了不同方案下的标签定义及属性说明,包括Atom, OpenSearch, YouTube特有元素等,适用于理解API数据结构。
5647

被折叠的 条评论
为什么被折叠?



