本文件提供 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>
您可以使用標準 Google Data API published-min
、published-max
、updated-min
和 updated-max
查詢參數,根據其 <published>
或 <updated>
值要求項目。但如要瞭解更新日期的相關資訊,請參閱 Blogger 查詢參數參考資料。
將留言連結至貼文
Blogger 的匯出格式會在 Atom 動態消息文件中同時提供文章和留言。為了區分這兩種項目,Blogger 會使用 <atom:category>
元素。這個元素具有 term
參數,可反映該項目是是貼文還是評論。
此外,系統會使用 Atom Threading Extension 完成,將註解項目連結至所屬的貼文項目。在下方範例中,註解項目中的 <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 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>