Google Data API中的Atom接口定义

来源:互联网 发布:织梦cms和帝国cms 编辑:程序博客网 时间:2024/04/28 21:47

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 响应元素参考
 
错误响应元素参考
 

Atom 元素参考

3.2.1       author

<author> 标签包含有关 YouTube 用户(拥有一段视频内容、订阅、喜欢的视频列表、联系人或其他条目)的信息。

3.2.1.1      实例

<author>

3.2.1.2      属于

feedentry

3.2.1.3      子标签

nameuri

3.2.2       category

<category> 标签可以指定条目所属的类别。

·        <category> 标签显示为 <feed>  <entry> 的子标签时,该标签可以标识每个供稿条目中介绍的项目类型。scheme 属性的值为http://schemas.google.com/g/2005#kindterm 属性的值可以表明供稿条目是否介绍了视频、播放列表链接、订阅、联系人或其他实体类型。

·         <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 属性值可能是 channelfavorites  query

·         在添加联系人的请求中,term 属性值可能是 Family  Friends

label

复杂内容

label 属性可以指定视频所属的 YouTube 类别的实体换码名称。该属性仅包含在涉及类别(不是关键字或实体类型)的 <category> 标签中。

3.2.1.5      实例

<categoryscheme='http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat'term='channel'/>

3.2.1.6      属于

feedentry

3.2.3       content

<content> 标签包含评论文本或者视频说明或播放列表的说明。当 <content> 标签显示在视频条目或播放列表条目中时,它可能包含与 <media:description> 标签相同的说明。

添加评论的请求中需要 <content> 标签。

3.2.1.7      实例

<contenttype="text">Video comments are cool.</content>

3.2.1.8      属于

entry

3.2.4       entry

<entry> 标签可以封装有关视频、播放列表、订阅、联系人或其他实体的信息。在所有添加 (POST) 或更新 (PUT) 数据的 YouTube Data API 请求中,<entry> 标签为根标签。

3.2.1.9      实例

<entry>

3.2.1.10   属于

feed

3.2.1.11   子标签

在视频或播放列表条目中:idpublishedupdatedcategory*title?content?link*author?media:group?yt:description?(此标签仅显示在播放列表条目中),yt:position? (此标签仅显示在播放列表条目中),yt:statistics?gd:comments?gd:rating?location?yt:recorded?georss:where?app:control?

在评论供稿中:idpublishedupdatedcategory*title?content?link*author?

在播放列表供稿中: idpublishedupdatedcategory*title?content?link*author?yt:description?gd:feedLink

在订阅供稿中:idpublishedupdatedcategory*title?content?link*author?yt:username?yt:queryString?gd:feedLink

在个人资料条目中:idpublishedupdatedcategory*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

添加和更新播放列表: titleyt:descriptionyt:private

添加和更新播放列表条目: titleyt:descriptionyt:position

添加订阅: categoryyt:usernameyt:queryString

添加和更新联系人: categoryyt:username

添加评论: content

添加视频响应: id

添加评分: gd:rating

添加投诉: yt:description

3.2.5       feed

<feed> 标签是几种类型的 YouTube Data API 供稿(包括视频供稿、订阅供稿、播放列表供稿、喜欢的视频供稿和联系人供稿)的根标签。供稿包含一系列<entry> 元素,每个元素都包含有关单个视频、播放列表、订阅或其他实体的信息。

3.2.1.12   实例

<feedxmlns='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   子标签

idupdatedcategory*titlelogo?link*author?generatoropenSearch:itemsPerPage?openSearch:startIndex?openSearch:totalResults?entry+

3.2.6       generator

<generator> 标签可以标识用于创建供稿的软件。该信息可以用于调试。

3.2.1.14   属性

名称

格式

说明

version

复杂内容

version 属性可以指定用于生成供稿的软件应用程序的版本。

uri

复杂内容

uri 属性可以指定与生成供稿的软件相关的网址。

3.2.1.15   实例

<generatorversion='beta' uri='http://gdata.youtube.com/'>YouTube dataAPI</generator>

3.2.1.16   属于

feed

3.2.7       id

<id> 标签可以指定唯一且永久标识供稿或视频条目的网址。

3.2.1.17   实例

<id>http://gdata.youtube.com/feeds/api/users/andyland74/subscriptions/5c56f45db338111c</id>

3.2.1.18   属于

feedentry

3.2.8       link

<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   实例

<linkrel='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   属于

feedentry

3.2.9       logo

<logo> 标签可以指定提供供稿的视觉识别的图片。YouTube Data API 供稿上的徽标是 YouTube 徽标

3.2.1.22   实例

<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo>

3.2.1.23   属于

feed

3.2.10     name

<name> 标签包含作者的 YouTube 用户名。

3.2.1.24   实例

<name>andyland74</name>

3.2.1.25   属于

author

3.2.11      published

<published> 标签可以指定创建供稿条目的时间。

3.2.1.26   实例

<published>2007-10-15T15:39:34.000-07:00</published>

3.2.1.27   属于

entry

3.2.12     title

<title> 标签可以提供供稿或供稿中的条目的可读性标题。添加播放列表时需要使用该标签,添加或更新播放列表条目时可选择使用该标签。

·        在添加或更新播放列表的请求中,<title> 标签可以指定播放列表的标题。

·        在添加或更新播放列表条目的请求中,<title> 标签可以指定用户要显示在播放列表中自定义标题,而不是视频的实际标题。如果用户不提供自定义标题,YouTube 将在播放列表中显示视频的实际标题。

3.2.1.28   实例

<titletype='text'>andyland74's Subscriptions</title>

3.2.1.29   属于

feedentry

3.2.13      updated

<updated> 标签可以指定供稿或供稿条目最后更新的时间。

3.2.1.30   实例

<updated>2007-10-15T15:39:34.000-07:00</updated>

3.2.1.31   属于

feedentry

3.2.14     uri

<uri> 标签包含与 author 相关的网址。

3.2.1.32   实例

<uri>http://gdata.youtube.com/feeds/api/users/andyland74</uri>

3.2.1.33   属于

author

 

原创粉丝点击