参考指南

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

本文档提供了 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 Data API 支持几乎所有的标准 Google Data 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 Data 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 Threading Extension 将评论条目关联到其所属的博文条目。在以下示例中,评论条目中的 <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>

返回页首