参考指南

重要提示:我们将于 2024 年 9 月 30 日停止对 2.0 版 Google Data API 的支持。为确保可继续使用相关功能,请将依赖 v2.0 Google Data API 的应用更新到最新 API 版本。如需获取最新版本,请使用左侧导航栏中的链接。注意:虽然某些 GET 请求(例如商家信息帖子)作为 Feed 网址继续受到支持,但这些请求的行为方式略有不同。 如需了解详情,请参阅 Blogger 帮助文档。

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

本文档不包含有关编程语言客户端库的信息。如需了解客户端库的参考信息,请参阅开发者指南中编程语言专属部分的链接。

目录

观众群

本文面向的是特定程序员,他们希望编写可与 Blogger 进行交互的客户端应用。

这是一个参考文档;本文档假定您了解开发者指南中介绍的概念以及 Google 数据 API 协议背后的一般概念。

Blogger Feed 类型

Blogger 在 Feed 中提供了博客内容的两种呈现方式:完整 Feed 和摘要 Feed。完整 Feed 包含完整的博文,而摘要 Feed 仅包含每篇博文的一小段内容。

博客的所有者可以使用 GUI 设置指定该博客是向整合者和聚合器提供完整 Feed 还是摘要 Feed。

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

但是,当您的客户端应用发送经过身份验证的请求时,无论博客所有者指定了什么,它始终都会收到完整的 Feed。

Blogger 查询参数参考

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

Blogger 不支持 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://www.w3.org/2007/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/opensearch/1.1/"
      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 comment</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>

Blogger Feed 架构参考

  1. 博客列表 Feed
  2. 博文 Feed
  3. 博客评论 Feed
  4. 博文评论 Feed

返回页首