สําคัญ: หน้าเว็บนี้เป็นเวอร์ชันเก่า สําหรับเวอร์ชันล่าสุด ให้ใช้ลิงก์ในแถบนําทางด้านซ้าย
เอกสารนี้จะมีเอกสารประกอบอ้างอิงโดยละเอียดสําหรับโปรโตคอลดิบ (XML และ HTTP) สําหรับ Blogger Data API
เอกสารนี้ไม่มีข้อมูลเกี่ยวกับไลบรารีของไคลเอ็นต์ภาษาโปรแกรม สําหรับข้อมูลอ้างอิงไลบรารีของไคลเอ็นต์ โปรดดูลิงก์จากส่วนเฉพาะภาษาการเขียนโปรแกรมของคู่มือสําหรับนักพัฒนาซอฟต์แวร์
เนื้อหา
กลุ่มเป้าหมาย
เอกสารนี้มีไว้สําหรับโปรแกรมเมอร์ที่ต้องการเขียนแอปพลิเคชันไคลเอ็นต์ที่โต้ตอบกับ Blogger
เอกสารนี้เป็นเอกสารอ้างอิงที่ถือว่าคุณเข้าใจแนวคิดที่แสดงในคู่มือสําหรับนักพัฒนาซอฟต์แวร์และแนวคิดทั่วไปที่อยู่เบื้องหลังโปรโตคอล Google Data API
ประเภทฟีด Blogger
Blogger แสดงเนื้อหาเนื้อหาในฟีด 2 รายการ ได้แก่ ฟีดแบบสมบูรณ์และฟีดสรุป ฟีดแบบสมบูรณ์ประกอบด้วยบล็อกโพสต์แบบเต็ม ส่วนฟีดสรุปจะมีเพียงตัวอย่างสั้นๆ ของแต่ละโพสต์
เจ้าของบล็อกสามารถระบุโดยใช้การตั้งค่า GUI ได้ว่าบล็อกนั้นมีฟีดแบบสมบูรณ์หรือฟีดสรุปให้กับผู้เผยแพร่และผู้รวบรวมข้อมูล
เมื่อแอปไคลเอ็นต์ส่งคําขอที่ไม่มีการตรวจสอบสิทธิ์ของฟีด ฟีดจะได้รับประเภทฟีดที่เจ้าของบล็อกระบุ
แต่เมื่อแอปไคลเอ็นต์ส่งคําขอที่มีการตรวจสอบสิทธิ์ ฟีดจะได้รับฟีดแบบสมบูรณ์เสมอ ไม่ว่าเจ้าของบล็อกจะระบุไว้อย่างไร
ข้อมูลอ้างอิงเกี่ยวกับพารามิเตอร์การค้นหาของ Blogger
Blogger Data API รองรับพารามิเตอร์การค้นหา Google Data API แบบมาตรฐานเกือบทั้งหมด
Blogger ไม่รองรับพารามิเตอร์ q
(การค้นหาข้อความ) และ author
ระบบจะไม่สนใจพารามิเตอร์การค้นหา updated-min
และ updated-max
เว้นแต่จะตั้งค่าพารามิเตอร์ orderby
เป็น updated
ตัวอย่างเช่น URL ต่อไปนี้จะดึงข้อมูลโพสต์ทั้งหมดของบล็อกที่ได้รับการอัปเดตตั้งแต่วันที่ 16 มีนาคม 2008 เป็น 24 มีนาคม 2008
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
เนื้อหาที่เหลือของส่วนนี้จะแสดงบันทึกเฉพาะ 2-3 รายการเกี่ยวกับการใช้งานองค์ประกอบมาตรฐานของ Blogger
รายการฉบับร่าง
รายการบล็อกฉบับร่างมีการทําเครื่องหมายโดยใช้องค์ประกอบส่วนขยาย <app:draft>
ที่กําหนดไว้ในเอกสาร Atom Publishing Protocol ต่อไปนี้คือตัวอย่างของรายการฉบับร่าง
<entry xmlns:app='http://purl.org/atom/app#'> ... <app:control> <app:draft>yes</app:draft> </app:control> </entry>
หากไม่ได้ระบุองค์ประกอบ <draft>
รายการจะไม่เป็นฉบับร่าง
วันที่ตีพิมพ์และวันที่อัปเดต
การประทับเวลาที่แสดงในองค์ประกอบ <published>
ของ Atom มาตรฐานจะสอดคล้องกับ "วันที่โพสต์" ที่ผู้ใช้ตั้งค่าได้ใน GUI ของ 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
และยังลิงก์กับ URL ของ HTML ของโพสต์ผ่านพารามิเตอร์ href
อีกด้วย
<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>