คู่มือสำหรับนักพัฒนาซอฟต์แวร์: โปรโตคอล

สำคัญ: หน้านี้เป็นเวอร์ชันเก่า สำหรับเวอร์ชันล่าสุด ให้ใช้ลิงก์ในแถบนำทางด้านซ้าย

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'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
      this evening. I found him quite disagreeable.&lt;/p&gt;</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'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
    this evening. I found him quite disagreeable.&lt;/p&gt;</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 ในไฟล์การส่งออกได้ที่คู่มืออ้างอิงโปรโตคอล

กลับไปด้านบน