重要事項:我們將在 2024 年 9 月 30 日停止支援 Google Data API 2.0 版。為確保相關功能持續運作,請將使用 Google Data API 2.0 版的應用程式更新為最新的 API 版本。如要使用最新版本,請使用左側的水平列連結。注意:雖然部分 GET 要求 (例如商家資訊貼文) 仍會支援動態饋給網址,但兩者的行為略有不同。詳情請參閱 Blogger 說明說明文件。
本文提供 Blogger Data API 原始通訊協定 (XML 和 HTTP) 的詳細參考文件。
本文件不包含程式設計語言用戶端程式庫的相關資訊。如需用戶端程式庫參考資訊,請參閱開發人員指南中程式設計語言專屬部分的連結。
目錄
目標對象
本文件適用於想要編寫可與 Blogger 互動的用戶端應用程式的程式設計師。
這是一份參考文件,假設您已瞭解開發人員指南中介紹的概念,以及 Google Data API 通訊協定背後的一般概念。
Blogger 動態饋給類型
Blogger 在動態饋給中提供兩種網誌內容呈現方式:完整動態饋給和摘要動態饋給。完整動態饋給包含完整的網誌文章,而摘要動態饋給則只包含每篇文章的簡短片段。
網誌擁有者可以使用 GUI 設定,指定網誌要向發布者和集結器提供完整動態饋給還是摘要動態饋給。
當用戶端應用程式傳送未經驗證的動態饋給要求時,會收到網誌擁有者指定的任何類型動態饋給。
不過,當用戶端應用程式傳送已驗證的要求時,無論網誌擁有者指定的內容為何,它都會一律收到完整的動態饋給。
Blogger 查詢參數參考資料
Blogger Data API 支援幾乎所有標準 Google Data API 查詢參數。
Blogger 不支援 author 參數。
除非 orderby 參數設為 updated,否則系統會忽略 updated-min 和 updated-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-min、published-max、updated-min 和 updated-max 查詢參數,根據項目的 <published> 或 <updated> 值來要求項目。不過,如要查看有關更新日期查詢的注意事項,請參閱 Blogger 查詢參數參考資料。
將留言連結至貼文
Blogger 匯出格式會在一個 Atom 動態饋給文件中,同時包含文章和留言項目。為了區分這兩種項目,Blogger 會使用 <atom:category> 元素。這個元素會包含 term 參數,用於反映項目是屬於貼文還是留言。
此外,您可以使用 Atom 執行緒擴充功能,將註解項目連結至所屬的貼文項目。在下方範例中,留言項目中的 <thr:in-reply-to> 元素會使用 ref 參數中的貼文項目 ID 指向貼文。並透過 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>