สำคัญ: หน้านี้เป็นเวอร์ชันเก่า สำหรับเวอร์ชันล่าสุด ให้ใช้ลิงก์ในแถบนำทางด้านซ้าย
API ข้อมูลของ Blogger ช่วยให้แอปพลิเคชันไคลเอ็นต์สามารถดูและอัปเดต 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 และตรวจสอบสิทธิ์การใช้งาน บัญชี
หลังจากผู้ใช้ตรวจสอบสิทธิ์แล้ว ระบบ 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
พารามิเตอร์เหล่านี้
ได้แก่
- อีเมล
- อีเมลของผู้ใช้
- รหัสผ่าน
- รหัสผ่านของผู้ใช้
- บริการ
- ชื่อบริการ 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
คือสตริง Auth ที่แสดงผลโดย
คำขอ ClientLogin
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ ClientLogin รวมถึงตัวอย่าง คำขอและการตอบกลับ โปรดดูการตรวจสอบสิทธิ์สำหรับการติดตั้ง เอกสารประกอบของแอปพลิเคชัน
หมายเหตุ: ใช้โทเค็นเดียวกันสำหรับคำขอทั้งหมดใน เซสชันที่ระบุ จะไม่ขอโทเค็นใหม่สำหรับคำขอบล็อกเกอร์แต่ละรายการ
หมายเหตุ: ตามที่อธิบายไว้ในเอกสารประกอบของ 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>
สำหรับข้อมูลเกี่ยวกับความหมายของแต่ละองค์ประกอบ โปรดดูที่ เอกสาร Data API Protocol Reference หรือ Atom ข้อกำหนดเฉพาะของ 1.0
หากคำขอไม่สำเร็จด้วยเหตุผลบางประการ Blogger อาจแสดงรหัสสถานะอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานะ HTTP ได้ในเอกสารข้อมูลอ้างอิงเกี่ยวกับโปรโตคอล Google Data API
การสร้างโพสต์
API ข้อมูลของ Blogger ช่วยให้คุณสามารถสร้างและเผยแพร่รายการบล็อกใหม่ในรูปแบบ รวมถึงการสร้างฉบับร่างของรายการ
การเผยแพร่บล็อกโพสต์
หลังจากตรวจสอบสิทธิ์แล้ว คุณจะเผยแพร่รายการใหม่ในบล็อกได้
ก่อนอื่น ให้สร้างการแสดงผล 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 ของโพสต์ของบล็อกดังนี้ อันดับแรก
วางเอลิเมนต์ Atom <entry>
ในเนื้อหาของ
คำขอ 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>
การดึงข้อมูลโพสต์โดยใช้พารามิเตอร์การค้นหา
API ข้อมูลของ Blogger ช่วยให้คุณขอชุดรายการที่ตรงกับที่ระบุได้ เช่น การขอบล็อกโพสต์ที่เผยแพร่หรืออัปเดตในวันที่ที่ระบุ
เช่น หากต้องการส่งคำค้นหาช่วงวันที่ ให้เพิ่มพารามิเตอร์ 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 จะส่งกลับ HTTP
รหัสสถานะ 200 OK
และฟีดที่มีบล็อกโพสต์ที่
ที่สร้างขึ้นในช่วงวันที่ที่คุณระบุ
พารามิเตอร์ updated-min
และ updated-max
อาจ
ใช้เพื่อรับรายการบล็อกทั้งหมดที่ได้รับการอัปเดตภายในช่วงที่กำหนด แต่โปรดทราบว่า
พารามิเตอร์เหล่านี้จะถูกละเว้น เว้นแต่พารามิเตอร์ orderby
จะ
ตั้งค่าเป็น updated
ด้วย
API ข้อมูลของ Blogger สนับสนุนพารามิเตอร์การค้นหาต่อไปนี้
- alt
- ประเภทฟีดที่จะแสดง เช่น
atom
(ค่าเริ่มต้น) หรือrss
- /category
- ระบุหมวดหมู่ (หรือที่เรียกว่าป้ายกำกับ) เพื่อกรองผลการค้นหาของฟีด ตัวอย่างเช่น
http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie
จะแสดงรายการที่มีทั้งป้ายกำกับFritz
และLaurie
- max-results
- จำนวนรายการสูงสุดที่จะแสดง
- orderby
- ลำดับในการแสดงรายการ เช่น
lastmodified
(ค่าเริ่มต้น),starttime
หรือupdated
- ขั้นต่ำที่เผยแพร่, สูงสุดที่เผยแพร่
- ขอบเขตวันที่ที่เผยแพร่รายการ
- start-index
- ดัชนีแบบ 1 ของผลลัพธ์แรกที่จะดึงข้อมูล (สำหรับการแบ่งหน้า)
- ค่าขั้นต่ำที่อัปเดต, ค่าสูงสุดที่อัปเดต
- ขอบเขตวันที่อัปเดตรายการ ระบบจะไม่สนใจพารามิเตอร์การค้นหาเหล่านี้ เว้นแต่จะตั้งค่าพารามิเตอร์
orderby
เป็นupdated
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การค้นหาได้ที่ข้อมูลอ้างอิง API ข้อมูลของ Blogger Guide และ 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>
องค์ประกอบในฟีด ลูกค้าของคุณจะไม่ส่งคืนโฆษณา และผู้ใช้จะพลาด
ไลบรารีของไคลเอ็นต์ API ข้อมูลทั้งหมดจะจัดการเรื่องนี้ได้อย่างถูกต้อง ดังนั้นหากคุณใช้
ไลบรารี 1 รายการที่คุณพร้อมใช้
หมายเหตุ: ปัจจุบันระบบยังไม่รองรับการแก้ไขข้อมูลผู้เขียนที่เชื่อมโยงกับโพสต์
เคล็ดลับการแก้ปัญหา: ไฟร์วอลล์บางตัวบล็อกข้อความ 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 ไฟล์ส่งออกนี้ประกอบด้วยโพสต์และความคิดเห็นทั้งหมดของ 1 บล็อก รูปแบบของไฟล์ส่งออกคือรูปแบบ 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 รายการข้างต้นไม่รองรับพารามิเตอร์การค้นหา คําขอทั้ง 2 รายการต้องมีข้อมูลการตรวจสอบสิทธิ์ด้วย และจะมีเพียงผู้ดูแลระบบบล็อกเท่านั้นที่นําเข้า/ส่งออกบล็อกได้โดยใช้ URL ฟีดเหล่านี้
หมายเหตุ: หากคุณสร้าง Blogger ของคุณเอง ส่งออกไฟล์ ตอนนี้มีข้อจำกัด 1 ข้อเกี่ยวกับลำดับของโพสต์ และรายการความคิดเห็น ไฟล์ส่งออกของ Blogger จะแสดงโพสต์ทั้งหมดก่อน แล้วจึงแสดงความคิดเห็นทั้งหมด อนุญาตรายการโพสต์และความคิดเห็นแทรกสลับ ตราบใดที่รายการความคิดเห็นอยู่หลังโพสต์ ความคิดเห็นนั้นควรอยู่
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Blogger ใช้รูปแบบ Atom ในไฟล์การส่งออกได้ที่คู่มืออ้างอิงโปรโตคอล