สำคัญ: หน้านี้เป็นหน้าเวอร์ชันเก่า หากต้องการใช้เวอร์ชันล่าสุด ให้ใช้ลิงก์ในแถบนําทางด้านซ้าย
Blogger Data API ช่วยให้แอปพลิเคชันไคลเอ็นต์ดูและอัปเดตเนื้อหา Blogger ได้ในรูปแบบฟีด Google Data API
แอปพลิเคชันไคลเอ็นต์สามารถใช้ Blogger Data API เพื่อสร้างบล็อกโพสต์ใหม่ แก้ไขหรือลบบล็อกโพสต์ที่มีอยู่ และค้นหาบล็อกโพสต์ที่ตรงกับเกณฑ์ที่เฉพาะเจาะจง
นอกจากให้ข้อมูลเบื้องต้นเกี่ยวกับความสามารถของ Blogger Data API แล้ว เอกสารนี้ยังมีตัวอย่างการโต้ตอบพื้นฐานของ Data API โดยใช้ XML ดิบและ HTTP ด้วย หลังจากอ่านเอกสารนี้ คุณอาจต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการโต้ตอบกับ API โดยใช้ไลบรารีของไคลเอ็นต์ของเรา โดยอ่านส่วนเฉพาะภาษาโปรแกรมของคู่มือนักพัฒนาซอฟต์แวร์นี้
เนื้อหา
ผู้ชม
เอกสารนี้มีไว้สำหรับโปรแกรมเมอร์ที่ต้องการเขียนแอปพลิเคชันไคลเอ็นต์ที่โต้ตอบกับ Blogger ได้โดยใช้ XML และ HTTP
เอกสารนี้ถือว่าคุณเข้าใจแนวคิดทั่วไปที่อยู่เบื้องหลังโปรโตคอล Google Data API
หากคุณใช้ระบบ UNIX และต้องการใช้ตัวอย่างในเอกสารนี้โดยไม่ต้องเขียนโค้ด คุณอาจพบว่ายูทิลิตีบรรทัดคำสั่งของ UNIX อย่าง curl
หรือ wget
มีประโยชน์ ดูข้อมูลเพิ่มเติมได้ในหน้าคู่มือของยูทิลิตีเหล่านั้น
ดูข้อมูลอ้างอิงเกี่ยวกับ Blogger Data API ได้ที่คู่มือข้อมูลอ้างอิงเกี่ยวกับโปรโตคอล
เริ่มต้นใช้งาน
การสร้างบัญชี Blogger
คุณอาจต้องลงชื่อสมัครใช้บัญชี Blogger เพื่อวัตถุประสงค์ในการทดสอบ Blogger ใช้บัญชี Google ดังนั้นหากคุณมีบัญชี Google อยู่แล้ว ก็พร้อมใช้งาน
การตรวจสอบสิทธิ์บริการ Blogger
คุณเข้าถึงทั้งฟีดสาธารณะและฟีดส่วนตัวได้โดยใช้ Blogger Data API ฟีดสาธารณะไม่จําเป็นต้องตรวจสอบสิทธิ์ แต่จะเป็นฟีดแบบอ่านอย่างเดียว หากต้องการแก้ไขบล็อก ลูกค้าจะต้องตรวจสอบสิทธิ์ก่อนขอฟีดส่วนตัว โดยสามารถตรวจสอบสิทธิ์ได้โดยใช้แนวทางใดแนวทางหนึ่งต่อไปนี้ การตรวจสอบสิทธิ์พร็อกซี AuthSub หรือการตรวจสอบสิทธิ์ชื่อผู้ใช้/รหัสผ่าน ClientLogin
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ด้วย Google Data API โดยทั่วไปได้ที่เอกสารประกอบเกี่ยวกับการตรวจสอบสิทธิ์
ตัวอย่างส่วนใหญ่ในส่วนถัดไปของเอกสารนี้จะถือว่าคุณให้การตรวจสอบสิทธิ์ที่เหมาะสม
การตรวจสอบสิทธิ์พร็อกซี AuthSub
เว็บแอปพลิเคชันที่ต้องการตรวจสอบสิทธิ์ผู้ใช้กับบัญชี Google จะใช้การตรวจสอบสิทธิ์พร็อกซี AuthSub ผู้ดำเนินการเว็บไซต์และโค้ดไคลเอ็นต์จะไม่มีสิทธิ์เข้าถึงชื่อผู้ใช้และรหัสผ่านของผู้ใช้ Blogger แต่จะได้รับโทเค็น AuthSub พิเศษที่อนุญาตให้ไคลเอ็นต์ดำเนินการในนามของผู้ใช้รายหนึ่งๆ ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบของ AuthSub
เมื่อผู้ใช้เข้าชมแอปพลิเคชันเป็นครั้งแรก ผู้ใช้จะยังไม่ได้รับการตรวจสอบสิทธิ์ ในกรณีนี้ คุณต้องแสดงข้อมูลบางอย่างและลิงก์ที่นำผู้ใช้ไปยังหน้า Google เพื่อตรวจสอบสิทธิ์คําขอเข้าถึงบล็อก
พารามิเตอร์การค้นหาต่อไปนี้จะรวมอยู่ใน URL ของ AuthSubRequest
- ถัดไป
- URL ของหน้าเว็บที่ Google ควรเปลี่ยนเส้นทางผู้ใช้ไปหลังจากการตรวจสอบสิทธิ์
- ขอบเขต
- บ่งบอกว่าแอปพลิเคชันกำลังขอโทเค็นเพื่อเข้าถึงฟีด Blogger สตริงขอบเขตที่จะใช้คือ
http://www.blogger.com/feeds/
(ซึ่งเข้ารหัส URL อยู่แล้ว) - รักษาความปลอดภัย
- ระบุว่าไคลเอ็นต์กำลังขอโทเค็นที่ปลอดภัยหรือไม่
- เซสชัน
- ระบุว่าโทเค็นที่แสดงผลสามารถแลกเป็นโทเค็น (เซสชัน) แบบใช้ซ้ำได้หรือไม่
URL ของ AuthSubRequest อาจมีลักษณะดังนี้
https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.blogger.com%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fwelcome.html
ผู้ใช้คลิกลิงก์ไปยังเว็บไซต์ของ Google และตรวจสอบสิทธิ์ในบัญชี Google
หลังจากผู้ใช้ตรวจสอบสิทธิ์แล้ว ระบบ AuthSub จะเปลี่ยนเส้นทางผู้ใช้ไปยัง URL ที่คุณระบุไว้ในnext
พารามิเตอร์การค้นหาของ URL AuthSubRequest
ระบบ AuthSub จะเพิ่มโทเค็นการตรวจสอบสิทธิ์ต่อท้าย URL นั้น เป็นค่าของพารามิเตอร์การค้นหา token
เช่น
http://www.example.com/welcome.html?token=yourAuthToken
ค่าโทเค็นนี้แสดงถึงโทเค็น AuthSub แบบใช้ครั้งเดียว ในตัวอย่างนี้ เนื่องจากมีการระบุ session=1
โทเค็นนี้จึงแลกเป็นโทเค็นเซสชัน AuthSub ได้โดยการเรียกใช้บริการ AuthSubSessionToken
ด้วยโทเค็นแบบใช้ครั้งเดียวในส่วนหัว Authorization ดังนี้
GET /accounts/AuthSubSessionToken HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: AuthSub token="yourAuthToken" User-Agent: Java/1.5.0_06 Host: www.google.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
การตอบกลับบริการ AuthSubSessionToken มีส่วนหัว Token
ที่มีโทเค็นเซสชัน และส่วนหัว Expiration
ที่ระบุระยะเวลาที่โทเค็นจะใช้งานได้
จากนั้นแอปพลิเคชันจะใช้ค่าโทเค็นเซสชันในส่วนหัว Authorization
ของการโต้ตอบกับ Blogger ในภายหลังได้
ต่อไปนี้คือตัวอย่างคำขอ HTTP ที่มีโทเค็นที่ไม่ปลอดภัยซึ่งคุณอาจส่งไปยัง Blogger
GET /feeds/blogID/blogs/posts/defaults HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: AuthSub token="yourSessionToken" User-Agent: Java/1.5.0_06 Host: www.blogger.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
การตรวจสอบสิทธิ์ชื่อผู้ใช้/รหัสผ่านของ ClientLogin
ใช้การตรวจสอบสิทธิ์ ClientLogin หากไคลเอ็นต์เป็นไคลเอ็นต์ "ที่ติดตั้ง" แบบสแตนด์อโลนและผู้ใช้คนเดียว (เช่น แอปพลิเคชันบนเดสก์ท็อป) หากต้องการขอโทเค็นการตรวจสอบสิทธิ์โดยใช้กลไก ClientLogin ให้ส่งPOST
คำขอไปยัง URL ต่อไปนี้
https://www.google.com/accounts/ClientLogin
เนื้อความ POST
ควรมีพารามิเตอร์การค้นหาชุดหนึ่งที่มีลักษณะคล้ายกับพารามิเตอร์ที่ส่งโดยแบบฟอร์ม HTML โดยใช้ประเภทเนื้อหา application/x-www-form-urlencoded
พารามิเตอร์เหล่านี้ได้แก่
- อีเมล
- อีเมลของผู้ใช้
- Passwd
- รหัสผ่านของผู้ใช้
- บริการ
- ชื่อบริการ Blogger คือ
blogger
(ดูชื่อบริการอื่นๆ ได้ที่รายการชื่อบริการ) - accountType
- คุณควรตั้งค่าเป็น
GOOGLE
เสมอเมื่อใช้ Blogger API หากตั้งค่าพารามิเตอร์นี้ไม่สำเร็จ ผู้ใช้ที่มีบัญชี G Suite จะไม่เข้าถึงได้ - source
- ระบุแอปพลิเคชันไคลเอ็นต์ ควรอยู่ในรูปแบบ companyName-applicationName-versionID ตัวอย่างใช้ชื่อ
exampleCo-exampleApp-1
ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้ที่เอกสารการตรวจสอบสิทธิ์สําหรับแอปพลิเคชันที่ติดตั้ง
หากคําขอตรวจสอบสิทธิ์ไม่สําเร็จ เซิร์ฟเวอร์จะแสดงรหัสสถานะ HTTP403 Forbidden
หากดำเนินการสำเร็จ เซิร์ฟเวอร์จะแสดงรหัสสถานะ HTTP 200 OK
รวมถึงรหัสตัวอักษรและตัวเลขยาว 3 รหัสในเนื้อหาการตอบกลับ ได้แก่ SID, LSID และ Auth ค่า Auth คือโทเค็นการให้สิทธิ์ที่คุณจะต้องส่งไปยัง Blogger กับคำขอแต่ละรายการในภายหลัง ดังนั้นโปรดเก็บสำเนาของค่าดังกล่าวไว้ คุณละเว้นค่า SID และ LSID ได้
เนื่องจากคำขอทั้งหมดสำหรับฟีดส่วนตัวต้องมีการตรวจสอบสิทธิ์ คุณจึงต้องตั้งค่าส่วนหัวการให้สิทธิ์ในการโต้ตอบกับ Blogger ทั้งหมดในภายหลังโดยใช้รูปแบบต่อไปนี้
Authorization: GoogleLogin auth=yourAuthToken
โดยที่ yourAuthToken
คือสตริงการตรวจสอบสิทธิ์ที่แสดงผลโดยคำขอ ClientLogin
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ ClientLogin รวมถึงตัวอย่างคำขอและการตอบกลับได้ในเอกสารประกอบการตรวจสอบสิทธิ์สําหรับแอปพลิเคชันที่ติดตั้ง
หมายเหตุ: ใช้โทเค็นเดียวกันสำหรับคำขอทั้งหมดในเซสชันหนึ่งๆ อย่าขอโทเค็นใหม่สำหรับคำขอ Blogger แต่ละรายการ
หมายเหตุ: ตามที่อธิบายไว้ในเอกสารประกอบของ ClientLogin คําขอตรวจสอบสิทธิ์อาจไม่สําเร็จและขอคําถาม CAPTCHA หากต้องการให้ Google แสดงและจัดการคำถาม CAPTCHA ให้ส่งผู้ใช้ไปที่ https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger
(แทนที่จะส่งไปยัง URL สำหรับจัดการ CAPTCHA ที่ระบุไว้ในเอกสารประกอบ ClientLogin)
การดึงข้อมูลรายการบล็อก
Blogger Data API มีฟีดที่แสดงรายการบล็อกของผู้ใช้รายหนึ่งๆ ซึ่งฟีดดังกล่าวเรียกว่า "ฟีดเมตา"
ส่ง HTTP GET
ไปยัง URL ต่อไปนี้เพื่อเรียกข้อมูลรายการบล็อก
http://www.blogger.com/feeds/userID/blogs
หมายเหตุ: คุณสามารถใช้ default
แทนรหัสผู้ใช้ได้ ซึ่งจะบอกให้ Blogger แสดงรายการบล็อกของผู้ใช้ที่มีข้อมูลเข้าสู่ระบบมาพร้อมกับคำขอ
รายการในฟีดเมตาอาจมีลักษณะดังนี้
<entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <published>2006-08-02T18:44:43.089-07:00</published> <updated>2006-11-08T18:10:23.020-08:00</updated> <title type='text'>Lizzy's Diary</title> <summary type='html'>Being the journal of Elizabeth Bennet</summary> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/'> </link> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID/posts/default'> </link> <link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/userID/blogs/blogID'> </link> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/userID/blogs/blogID'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> </entry>
ดูความหมายขององค์ประกอบแต่ละรายการได้ที่เอกสารข้อมูลอ้างอิงเกี่ยวกับโปรโตคอลของ Google Data API หรือข้อกำหนดของ Atom 1.0
หากคำขอไม่สำเร็จด้วยเหตุผลบางประการ Blogger อาจแสดงรหัสสถานะอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานะ HTTP ได้ในเอกสารข้อมูลอ้างอิงเกี่ยวกับโปรโตคอล Google Data API
การสร้างโพสต์
Blogger Data API ช่วยให้คุณสร้างและเผยแพร่รายการบล็อกใหม่ รวมถึงสร้างรายการฉบับร่างได้
การเผยแพร่บล็อกโพสต์
หลังจากตรวจสอบสิทธิ์แล้ว คุณจะเผยแพร่รายการใหม่ในบล็อกได้
ก่อนอื่น ให้สร้างการแสดงผล XML ของโพสต์ที่จะเผยแพร่ XML นี้ต้องอยู่ในรูปแบบองค์ประกอบ Atom <entry>
ซึ่งอาจมีลักษณะดังนี้
<entry xmlns='http://www.w3.org/2005/Atom'> <title type='text'>Marriage!</title> <content type='xhtml'> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Mr. Darcy has <em>proposed marriage</em> to me!</p> <p>He is the last man on earth I would ever desire to marry.</p> <p>Whatever shall I do?</p> </div> </content> <category scheme="http://www.blogger.com/atom/ns#" term="marriage" /> <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" /> </entry>
หมายเหตุ: ขณะนี้ระบบยังไม่รองรับการตั้งค่าผู้เขียนที่กำหนดเองสำหรับโพสต์ โพสต์ใหม่ทั้งหมดจะปรากฏราวกับว่าสร้างขึ้นโดยผู้ใช้ที่ตรวจสอบสิทธิ์แล้วในปัจจุบัน
หากต้องการเผยแพร่รายการนี้ ให้ส่งไปยัง URL ของโพสต์ของบล็อกดังนี้ ก่อนอื่น ให้วางองค์ประกอบ <entry>
ของ Atom ในเนื้อหาของคำขอ POST
ใหม่โดยใช้ประเภทเนื้อหา application/atom+xml
จากนั้นค้นหา URL ของโพสต์บล็อกในฟีดเมตาโดยค้นหาองค์ประกอบ <link>
ที่แอตทริบิวต์ rel
ลงท้ายด้วย #post
URL ของโพสต์บล็อกจะระบุเป็นแอตทริบิวต์ href
ขององค์ประกอบนี้ ซึ่งมีรูปแบบดังนี้
http://www.blogger.com/feeds/blogID/posts/default
หมายเหตุ: URL นี้เหมือนกับ URL ในแท็ก <link rel="service.post">
ที่ปรากฏในส่วน <head>
ของบล็อกเวอร์ชันที่อ่านได้
Blogger จะสร้างบล็อกโพสต์โดยใช้รายการที่คุณส่ง จากนั้นจะแสดงรหัสสถานะ HTTP 201 CREATED
พร้อมสําเนาของโพสต์ใหม่ในรูปแบบองค์ประกอบ <entry>
รายการที่แสดงผลจะเหมือนกับรายการที่คุณส่ง แต่ก็มีองค์ประกอบต่างๆ ที่ Blogger เพิ่มเข้ามาด้วย เช่น องค์ประกอบ<id>
หากคำขอไม่สำเร็จด้วยเหตุผลบางประการ Blogger อาจแสดงรหัสสถานะอื่น ดูข้อมูลเกี่ยวกับรหัสสถานะได้ที่เอกสารอ้างอิงเกี่ยวกับโปรโตคอล Google Data API
การสร้างฉบับร่างของบล็อกโพสต์
โพสต์ฉบับร่างสร้างขึ้นในลักษณะเดียวกับโพสต์สาธารณะ แต่จะมีการเพิ่มองค์ประกอบ <app:control>
ลงในรายการเพื่อระบุว่าไม่ควรเผยแพร่โพสต์ (ในตอนนี้)
องค์ประกอบ <app:control>
นี้ควรมีองค์ประกอบ <app:draft>
เพียงรายการเดียวเป็นองค์ประกอบย่อย
<app:control xmlns:app='http://purl.org/atom/app#'> <app:draft>yes</app:draft> </app:control>
ข้อมูลที่อยู่ในองค์ประกอบ <app:draft>
ต้องเป็นสตริง yes เพื่อให้ระบบจดจำโพสต์ว่าเป็นฉบับร่าง
คุณเปลี่ยนฉบับร่างบล็อกโพสต์ที่มีอยู่ให้เป็นโพสต์ที่เผยแพร่ได้โดยดึงข้อมูลฉบับร่างโพสต์ ตั้งค่าข้อมูลองค์ประกอบ <app:draft>
เป็นสตริง no แล้วอัปเดตโพสต์ การดึงข้อมูลและการอัปเดตโพสต์จะอธิบายไว้ในส่วนถัดไป 2 ส่วน
หมายเหตุ: ดูข้อมูลเพิ่มเติมเกี่ยวกับโปรโตคอลการเผยแพร่ Atom รวมถึงเนมสเปซ <app:control>
และ <app:draft>
ได้ที่ RFC 5023
กำลังเรียกข้อมูลโพสต์
ส่วนต่อไปนี้อธิบายวิธีดึงข้อมูลรายการบล็อกโพสต์ที่มีและไม่มีพารามิเตอร์การค้นหา
คุณค้นหาฟีดสาธารณะของ Blogger ได้โดยไม่ต้องมีการตรวจสอบสิทธิ์ คุณจึงไม่จำเป็นต้องตั้งค่าพารามิเตอร์การให้สิทธิ์เมื่อดึงข้อมูลบล็อกโพสต์จากบล็อกสาธารณะ
กําลังดึงข้อมูลบล็อกโพสต์ทั้งหมด
หากต้องการเรียกข้อมูลโพสต์ของผู้ใช้ ให้ส่งคำขอ HTTP GET
ไปยัง URL ฟีดของบล็อก จากนั้น Blogger จะแสดงฟีดที่มีรายการบล็อกที่เหมาะสม เช่น หากต้องการดูรายการบล็อกโพสต์ของ liz@gmail.com ให้ส่งคำขอ HTTP ต่อไปนี้ไปยัง Blogger (โดยแทนที่ blogID
ด้วยค่าที่เหมาะสม)
GET http://www.blogger.com/feeds/blogID/posts/default
จากนั้น Blogger จะแสดงรหัสสถานะ HTTP 200 OK
และฟีด Atom 1.0 มาตรฐานที่มีบล็อกโพสต์
ต่อไปนี้เป็นตัวอย่างฟีดของบล็อกที่มีเพียงโพสต์เดียว โปรดทราบว่าเราได้แก้ไขตัวอย่างนี้เล็กน้อยเพื่อให้อ่านได้ง่ายขึ้น โดยเฉพาะอย่างยิ่ง ฟีด Blogger จริงจะมีรหัสและ URL จริง
<feed xmlns='http://www.w3.org/2005/Atom'> <id>tag:blogger.com,1999:blog-blogID</id> <updated>2006-11-08T18:10:23.020-08:00</updated> <title type='text'>Lizzy's Diary</title> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/index.html'> </link> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <link rel='self' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> <generator version='7.00' uri='http://www2.blogger.com'>Blogger</generator> <entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <published>2006-11-08T18:10:00.000-08:00</published> <updated>2006-11-08T18:10:14.954-08:00</updated> <title type='text'>Quite disagreeable</title> <content type='html'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></content> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'> </link> <link rel='self' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default/postID'> </link> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID/posts/default/postID'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> </entry> </feed>
การดึงข้อมูลโพสต์โดยใช้พารามิเตอร์การค้นหา
Blogger Data API ช่วยให้คุณขอชุดรายการที่ตรงกับเกณฑ์ที่ระบุได้ เช่น การขอบล็อกโพสต์ที่เผยแพร่หรืออัปเดตในช่วงวันที่ที่ระบุ
เช่น หากต้องการส่งการค้นหาช่วงวันที่ ให้เพิ่มพารามิเตอร์ published-min
และ published-max
ลงใน URL คำขอ หากต้องการดูรายการบล็อกทั้งหมดที่สร้างระหว่างวันที่ 16 มีนาคม 2008 ถึง 24 มีนาคม 2008 ให้ส่งคำขอ HTTP ไปยัง URL ฟีดของบล็อก
GET http://www.blogger.com/feeds/blogID/posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59
เมื่อคุณส่งคำขอ GET
ดังกล่าว Blogger จะแสดงรหัสสถานะ HTTP200 OK
และฟีดที่มีบล็อกโพสต์ที่สร้างในช่วงวันที่ที่คุณระบุ
นอกจากนี้ คุณยังใช้พารามิเตอร์ updated-min
และ updated-max
เพื่ออัปเดตรายการบล็อกทั้งหมดภายในช่วงที่กำหนดได้ด้วย อย่างไรก็ตาม โปรดทราบว่าระบบจะไม่สนใจพารามิเตอร์เหล่านี้ เว้นแต่จะมีการตั้งค่าพารามิเตอร์ orderby
เป็น updated
ด้วย
Blogger Data API รองรับพารามิเตอร์การค้นหาต่อไปนี้
- alt
- ประเภทฟีดที่จะแสดง เช่น
atom
(ค่าเริ่มต้น) หรือrss
- /category
- ระบุหมวดหมู่ (หรือที่เรียกว่าป้ายกำกับ) เพื่อกรองผลการค้นหาของฟีด เช่น
http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie
จะแสดงรายการที่มีทั้งป้ายกํากับFritz
และLaurie
- max-results
- จำนวนรายการสูงสุดที่จะแสดง
- orderby
- ลําดับที่จะแสดงรายการ เช่น
lastmodified
(ค่าเริ่มต้น),starttime
หรือupdated
- published-min, published-max
- ขอบเขตวันที่เผยแพร่รายการ
- start-index
- ดัชนีฐาน 1 ของผลลัพธ์แรกที่จะดึงข้อมูล (สำหรับการแบ่งหน้า)
- updated-min, updated-max
- ขอบเขตวันที่อัปเดตรายการ ระบบจะไม่สนใจพารามิเตอร์การค้นหาเหล่านี้ เว้นแต่จะมีการตั้งค่าพารามิเตอร์
orderby
เป็นupdated
ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การค้นหาได้ในคู่มืออ้างอิง Blogger Data API และคู่มืออ้างอิง Google Data API
การอัปเดตโพสต์
หากต้องการอัปเดตบล็อกโพสต์ที่มีอยู่ ก่อนอื่นให้ดึงข้อมูลรายการที่ต้องการอัปเดต จากนั้นแก้ไขรายการ แล้วส่งคําขอ PUT
พร้อมรายการที่อัปเดตแล้วในเนื้อหาข้อความไปยัง URL การแก้ไขของโพสต์ ตรวจสอบว่าค่า <id>
ในรายการที่คุณ PUT
ตรงกับ <id>
ของรายการที่มีอยู่ทุกประการ
URL แก้ไขจะไฮไลต์ในรายการต่อไปนี้
<entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <published>2006-11-08T18:10:00.000-08:00</published> <updated>2006-11-08T18:10:14.954-08:00</updated> <title type='text'>Quite disagreeable</title> <content type='html'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></content> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'> </link> <link rel='self' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default/postID'> </link> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID/posts/default/postID'> </link> <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Bingley" /> <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" /> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> </entry>
สำคัญ: โปรดตรวจสอบว่าคุณเก็บXML ทั้งหมดไว้เมื่อPUT
รายการที่อัปเดตแล้ว เพื่อให้ใช้งานร่วมกันได้ในอนาคต ไม่เช่นนั้น เมื่อเราติดตั้งใช้งานสิ่งใหม่ๆ และใส่<new-awesome-feature>
องค์ประกอบในฟีด ลูกค้าจะไม่แสดงโฆษณาเหล่านั้นและผู้ใช้จะพลาดโอกาส ไลบรารีของไคลเอ็นต์ Google Data API ทั้งหมดจัดการเรื่องนี้ได้อย่างถูกต้อง ดังนั้นหากคุณใช้ไลบรารีใดไลบรารีหนึ่งก็ไม่ต้องกังวล
หมายเหตุ: ปัจจุบันระบบยังไม่รองรับการแก้ไขข้อมูลผู้เขียนที่เชื่อมโยงกับโพสต์
เคล็ดลับการแก้ปัญหา: ไฟร์วอลล์บางตัวบล็อกข้อความ HTTPPUT
วิธีแก้ปัญหานี้คือให้ใส่ส่วนหัว X-HTTP-Method-Override: PUT
ในคำขอ POST
โปรดดูรายละเอียดในเอกสารข้อมูลพื้นฐานเกี่ยวกับโปรโตคอลของ Google Data API
การลบโพสต์
หากต้องการลบโพสต์ ให้ส่งคำขอ DELETE
ไปยัง URL การแก้ไขของโพสต์
ซึ่งเป็น URL เดียวกับที่ใช้อัปเดตโพสต์
เคล็ดลับการแก้ปัญหา: ไฟร์วอลล์บางตัวบล็อกข้อความ HTTP
DELETE
วิธีแก้ปัญหานี้คือ คุณสามารถใส่ส่วนหัว X-HTTP-Method-Override: DELETE
ในคำขอ POST
โปรดดูรายละเอียดในเอกสารข้อมูลพื้นฐานเกี่ยวกับโปรโตคอลของ Google Data API
ความคิดเห็น
Blogger Data API ช่วยให้สร้าง เรียกข้อมูล และลบความคิดเห็นได้ ระบบไม่รองรับการอัปเดตความคิดเห็น (และไม่พร้อมใช้งานในอินเทอร์เฟซเว็บ)
การสร้างความคิดเห็น
หากต้องการโพสต์ความคิดเห็น ให้สร้างองค์ประกอบ Atom <entry>
ดังต่อไปนี้
<entry xmlns='http://www.w3.org/2005/Atom'> <title type="text">This is my first comment</title> <content type="html">This is my first comment</content> </entry>
หากต้องการเผยแพร่ความคิดเห็นนี้ ให้วางองค์ประกอบ <entry>
ของ Atom ในเนื้อหาของคำขอ POST
ใหม่โดยใช้ประเภทเนื้อหา application/atom+xml
จากนั้นส่งPOST
คำขอไปยัง URL ของ Blogger ที่เหมาะสม ดังนี้
POST http://www.blogger.com/feeds/blogID/postID/comments/default
หมายเหตุ: ปัจจุบันคุณสามารถโพสต์ความคิดเห็นได้เฉพาะในบล็อกที่ผู้ใช้ที่ตรวจสอบสิทธิ์เป็นเจ้าของ
หมายเหตุ: ขณะนี้ระบบยังไม่รองรับการตั้งค่าผู้เขียนที่กำหนดเองสำหรับความคิดเห็น ความคิดเห็นใหม่ทั้งหมดจะปรากฏราวกับว่าสร้างขึ้นโดยผู้ใช้ที่ตรวจสอบสิทธิ์อยู่ในขณะนี้
กำลังดึงข้อมูลความคิดเห็น
คุณเรียกข้อมูลความคิดเห็นของโพสต์ที่ต้องการได้โดยส่ง GET
ไปยัง URL ฟีดความคิดเห็นของโพสต์นี้
GET http://www.blogger.com/feeds/blogID/postID/comments/default
หรือจะรับความคิดเห็นจากโพสต์ทั้งหมดโดยใช้ฟีดความคิดเห็นของบล็อกก็ได้ โดย URL ของฟีดมีดังนี้
GET http://www.blogger.com/feeds/blogID/comments/default
คำขอเหล่านี้จะแสดงผลฟีดความคิดเห็นดังต่อไปนี้
<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"> <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id> <updated>2007-04-04T21:56:29.803-07:00</updated> <title type="text">My Blog : Time to relax</title> <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html"/> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/> <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/> <author> <name>Blog Author name</name> </author> <generator version="7.00" uri="http://www2.blogger.com">Blogger</generator> <openSearch:totalResults>1</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <entry> <id>tag:blogger.com,1999:blog-blogID.post-commentID</id> <published>2007-04-04T21:56:00.000-07:00</published> <updated>2007-04-04T21:56:29.803-07:00</updated> <title type="text">This is my first comment</title> <content type="html">This is my first comment</content> <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html#commentID"/> <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default/commentID"/> <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/blogID/postID/comments/default/commentID"/> <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" ref="tag:blogger.com,1999:blog-blogID.post-postID" source="http://www.blogger.com/feeds/posts/default/blogID" type="text/html"/> <author> <name>Blog Author name</name> <email>blog_author@gmail.com</email> <uri>http://www.blogger.com/profile/userID</uri> </author> <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blogName.blogspot.com/2007/04/first-post.html' ref='tag:blogger.com,1999:blog-blogID.post-postID' source='http://blogName.blogspot.com/feeds/posts/default/postID' type='text/html' /> </entry> </feed>
กำลังลบความคิดเห็น
หากต้องการลบความคิดเห็น ให้ส่งคำขอ DELETE
ไปยัง URL การแก้ไขของความคิดเห็น URL นี้จะไฮไลต์ในฟีดความคิดเห็นด้านบน
รูปแบบการส่งออก
Blogger อนุญาตให้ผู้ใช้ส่งออกและนำเข้าบล็อกโดยใช้ไฟล์ส่งออกของ Blogger ไฟล์การส่งออกนี้มีโพสต์และความคิดเห็นทั้งหมดของบล็อกหนึ่งๆ รูปแบบของไฟล์ส่งออกคือรูปแบบ Atom เดียวกันกับที่อธิบายไว้ในส่วนการดึงข้อมูลโพสต์และความคิดเห็น ไฟล์ส่งออกนี้จะรวมเนื้อหาของฟีดโพสต์และเนื้อหาของฟีดความคิดเห็นไว้ด้วยกันเป็นเอกสารเดียว
หากต้องการส่งออกหรือนำเข้าข้อมูลบล็อกโดยใช้รูปแบบการส่งออก ให้ไปที่หน้าการตั้งค่าของบล็อก หากต้องการเรียกข้อมูลไฟล์ส่งออกของบล็อกโดยใช้ Data API ให้ใช้ URL ต่อไปนี้
GET http://www.blogger.com/feeds/blogID/archive
หากต้องการนําเข้าไฟล์การส่งออก ให้สร้างคําขอ POST
ไปยัง URL ต่อไปนี้โดยใช้เนื้อหาของไฟล์การส่งออกเป็นข้อมูลคําขอและ application/atom+xml
เป็นประเภทเนื้อหา
POST http://www.blogger.com/feeds/blogID/archive/full
URL ข้างต้นไม่รองรับพารามิเตอร์การค้นหา คําขอทั้ง 2 รายการต้องมีข้อมูลการตรวจสอบสิทธิ์ด้วย และจะมีเพียงผู้ดูแลระบบบล็อกเท่านั้นที่นําเข้า/ส่งออกบล็อกได้โดยใช้ URL ฟีดเหล่านี้
หมายเหตุ: หากสร้างไฟล์ส่งออก Blogger ของคุณเอง ขณะนี้มีข้อจำกัด 1 ข้อเกี่ยวกับลําดับของรายการโพสต์และความคิดเห็น ไฟล์ส่งออกของ Blogger จะแสดงโพสต์ทั้งหมดก่อน แล้วจึงแสดงความคิดเห็นทั้งหมด ระบบอนุญาตให้แทรกรายการโพสต์และความคิดเห็นสลับกัน ตราบใดที่รายการความคิดเห็นอยู่หลังโพสต์ที่เป็นความคิดเห็น
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Blogger ใช้รูปแบบ Atom ในไฟล์การส่งออกได้ที่คู่มืออ้างอิงโปรโตคอล