参考指南

重要提示:这是此页面的旧版。要查看最新版本,请使用左侧导航栏中的链接。

本文档提供了 Blogger Data API 的原始协议(XML 和 HTTP)的详细参考文档。

本文档不包含有关编程语言客户端库的信息。有关客户端库参考信息,请参阅开发者指南中特定于编程语言的部分的链接。

目录

受众

本文档适用于想要编写可与 Blogger 交互的客户端应用的程序员。

这是一个参考文档;本文档假定您已了解开发者指南中列出的概念以及 Google Data API 协议的一般概念。

Blogger Feed 类型

Blogger 在 Feed 中提供了两种博客内容形式:完整 Feed 和摘要 Feed。完整的 Feed 包含完整的博文,而摘要 Feed 只包含每个博文的一小段内容。

博客的所有者可以使用 GUI 设置来指定博客是向整合商和聚合信息网站提供完整 Feed 还是摘要 Feed。

当您的客户端应用发送未经身份验证的 Feed 请求时,它会收到博客所有者指定的任何类型的 Feed。

不过,无论博客所有者指定了哪些内容,您的客户端应用在发送经过身份验证的请求时,都会收到完整的 Feed。

Blogger 查询参数参考

Blogger 数据 API 几乎支持所有标准的 Google 数据 API 查询参数

Blogger 不支持 q(文本搜索)和 author 参数。

除非 orderby 参数设置为 updated,否则系统会忽略 updated-minupdated-max 查询参数。例如,以下网址会检索从 2008 年 3 月 16 日到 2008 年 3 月 24 日更新的所有博文:

http://www.blogger.com/feeds/blogID/posts/default?updated-min=2008-03-16T00:00:00&updated-max=2008-03-24T23:59:59&orderby=updated

Blogger 元素参考

Blogger 数据 API 仅使用标准 Atom 元素;如需了解详情,请参阅 Atom 1.0 联合格式规范Atom 发布协议

本部分的其余部分将介绍一些关于 Blogger 使用某些标准元素的具体说明。

草稿条目

博文草稿是使用 Atom 发布协议文档中定义的 <app:draft> 扩展元素进行标记的。下面是一个草稿条目示例:

<entry xmlns:app='http://purl.org/atom/app#'>
...
<app:control>
<app:draft>yes</app:draft>
</app:control>
</entry>

如果未指定 <draft> 元素,则该条目不是草稿。

出版日期和更新日期

标准 Atom <published> 元素中提供的时间戳与用户在 Blogger GUI 中设置的“发布日期”相对应。

当您的客户端创建新条目时,如果客户端没有为 <published> 指定值,则 Blogger 会将该条目的发布日期设置为当前服务器时间。当您的客户端修改了某个条目但未指定 <published> 值时,Blogger 会忽略该条目的帖子发布日期。

但是,如果您的客户端在创建或修改条目时指定了 <published> 元素的值,那么 Blogger 会将相应条目的发布日期设为指定值。这对于从其他博客系统导入旧条目(同时保留原始创建日期)等任务非常有用。

Blogger 使用标准 Atom <updated> 元素来指示上次更改条目的时间。您的客户端无法控制 <updated> 值;每当您的客户端发布或修改条目时,Blogger 都会始终将该条目的上次更新日期设置为当前服务器时间。

您可以使用标准 Google Data API published-minpublished-maxupdated-minupdated-max 查询参数根据条目的 <published><updated> 值请求条目。不过,如需了解如何查询更新日期,请参阅 Blogger 查询参数参考

将评论与帖子相关联

Blogger 导出格式的 Atom Feed 文档中同时包含博文和评论条目。为了区分这两种类型的条目,Blogger 会使用 <atom:category> 元素。此元素将具有 term 参数,以反映条目是帖子还是评论。

此外,使用 Atom 线程扩展功能可将评论条目与其所属的帖子条目关联。在以下示例中,评论条目中的 <thr:in-reply-to> 元素将使用 ref 参数中的帖子条目标识符来指向该帖子。它还通过 href 参数链接到帖子的 HTML 网址。

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"
      xmlns:thr="http://purl.org/syndication/thread/1.0">
  ...

  <-- A blog post entry -->
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <content type="html">This is my first post</content>
    <link rel="alternate" type="text/html"
      href="http://blogName.blogspot.com/2007/04/first-post.html">
    </link>
    <category scheme="http://schemas.google.com/g/2005#kind" 
              term="http://schemas.google.com/blogger/2008/kind#post"/>
    ...
  </entry>

  <-- A comment to the blog post entry -->
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id>
    <content type="html">This is my first commment</content>
    <category scheme="http://schemas.google.com/g/2005#kind" 
              term="http://schemas.google.com/blogger/2008/kind#comment"/>
    <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" 
                     ref="tag:blogger.com,1999:blog-blogID.post-postID" 
                     type="text/html"/>
    ...
  </entry>
</feed>

返回页首