คู่มือของนักพัฒนาซอฟต์แวร์: โปรโตคอล

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

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 มีประโยชน์สําหรับข้อมูลเพิ่มเติม โปรดดูหน้าคู่มือสําหรับยูทิลิตีเหล่านั้น

สําหรับข้อมูลอ้างอิงของ Data API ใน Blogger โปรดดูที่คู่มืออ้างอิงของโปรโตคอล

เริ่มต้นใช้งาน

การสร้างบัญชี Blogger

คุณอาจต้องลงชื่อสมัครใช้บัญชี Blogger เพื่อวัตถุประสงค์ในการทดสอบ Blogger ใช้บัญชี Google ดังนั้นหากคุณมี บัญชี Google อยู่แล้ว คุณก็พร้อมใช้งานได้ทันที

การตรวจสอบสิทธิ์กับบริการ Blogger

คุณสามารถเข้าถึงได้ทั้งฟีดสาธารณะและฟีดส่วนตัวโดยใช้ Blogger Data API ฟีดสาธารณะไม่จําเป็นต้องมีการตรวจสอบสิทธิ์ แต่เป็นแบบอ่านอย่างเดียว หากต้องการแก้ไขบล็อก ลูกค้าจะต้องตรวจสอบสิทธิ์ก่อนที่จะขอฟีดส่วนตัว โดยจะตรวจสอบสิทธิ์ได้โดยใช้วิธีใดวิธีหนึ่งจาก 2 วิธีนี้ ได้แก่ การตรวจสอบสิทธิ์พร็อกซี AuthSub หรือการตรวจสอบสิทธิ์ชื่อผู้ใช้/รหัสผ่าน ClientLogin

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ด้วย Google Data API โดยทั่วไปได้ในเอกสารประกอบของการตรวจสอบสิทธิ์

ตัวอย่างส่วนใหญ่ในส่วนถัดไปของเอกสารนี้ถือว่าคุณได้จัดเตรียมการตรวจสอบสิทธิ์ที่เหมาะสม

การตรวจสอบสิทธิ์พร็อกซี AuthSub

เว็บแอปพลิเคชันที่ใช้การตรวจสอบสิทธิ์พร็อกซี AuthSub ต้องมีการตรวจสอบสิทธิ์ผู้ใช้กับบัญชี Google ผู้ให้บริการเว็บไซต์และโค้ดของไคลเอ็นต์จะไม่มีสิทธิ์เข้าถึงชื่อผู้ใช้และรหัสผ่านสําหรับผู้ใช้ 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 ด้วยโทเค็นแบบใช้ครั้งเดียวในส่วนหัวการให้สิทธิ์ดังนี้

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 หากไคลเอ็นต์เป็นไคลเอ็นต์เดี่ยว "Installed" ไคลเอ็นต์ (เช่น แอปพลิเคชันเดสก์ท็อป) หากต้องการขอโทเค็นการตรวจสอบสิทธิ์โดยใช้กลไก ClientLogin ให้ส่งคําขอ POST ไปยัง URL ต่อไปนี้

https://www.google.com/accounts/ClientLogin

ส่วนเนื้อหาของ POST ควรมีชุดพารามิเตอร์การค้นหาที่ดูเหมือนพารามิเตอร์ที่ส่งผ่านโดยแบบฟอร์ม HTML โดยใช้ประเภทเนื้อหา application/x-www-form-urlencoded พารามิเตอร์เหล่านี้ มีดังนี้

อีเมล
อีเมลของผู้ใช้
รหัสผ่าน
รหัสผ่านของผู้ใช้
บริการ
ชื่อบริการของ Blogger คือ blogger (สําหรับชื่อบริการอื่นๆ ให้ดูรายชื่อบริการ)
ประเภทบัญชี
ควรตั้งค่านี้เป็น GOOGLE เสมอเมื่อใช้ Blogger API การไม่ตั้งค่าพารามิเตอร์นี้จะป้องกันไม่ให้ผู้ใช้ที่มีบัญชี G Suite เข้าถึง
source
ระบุแอปพลิเคชันไคลเอ็นต์ของคุณ ควรอยู่ในรูปแบบ companyName-applicationName-versionID ตัวอย่างใช้ชื่อ exampleCo-exampleApp-1

ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้จากเอกสารการตรวจสอบสิทธิ์สําหรับแอปพลิเคชันที่ติดตั้ง

หากคําขอการตรวจสอบสิทธิ์ล้มเหลว เซิร์ฟเวอร์จะส่งคืนรหัสสถานะ HTTP 403 Forbidden

หากเชื่อมต่อสําเร็จ เซิร์ฟเวอร์จะแสดงรหัสสถานะ HTTP 200 OK พร้อมตัวเลขและตัวอักษรผสมกันยาว 3 ตัวในส่วนคําตอบ ได้แก่ SID, LSID และ Auth ค่าการตรวจสอบสิทธิ์คือโทเค็นการให้สิทธิ์ที่คุณจะส่งถึง Blogger พร้อมคําขอที่ตามมาแต่ละรายการ ดังนั้นให้เก็บสําเนาของค่าดังกล่าว คุณไม่จําเป็นต้องสนใจค่า SID และ LSID ได้

เนื่องจากคําขอทั้งหมดที่ส่งไปยังฟีดส่วนตัวต้องมีการตรวจสอบสิทธิ์ คุณจึงต้องตั้งค่าส่วนหัวการให้สิทธิ์ในการโต้ตอบกับบล็อกเกอร์หลังจากนั้นทั้งหมด โดยใช้รูปแบบต่อไปนี้

Authorization: GoogleLogin auth=yourAuthToken

โดยที่ yourAuthToken เป็นสตริงการตรวจสอบสิทธิ์ที่แสดงโดยคําขอ ClientLogin

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ ClientLogin รวมถึงตัวอย่างคําขอและการตอบกลับได้จากเอกสารประกอบการตรวจสอบสิทธิ์สําหรับแอปพลิเคชันที่ติดตั้งไว้

หมายเหตุ: ใช้โทเค็นเดียวกันสําหรับคําขอทั้งหมดในเซสชันที่ระบุ และอย่าสร้างโทเค็นใหม่สําหรับคําขอ Blogger แต่ละรายการ

หมายเหตุ: ตามที่อธิบายไว้ในเอกสารประกอบของ ClientLogin คําขอการตรวจสอบสิทธิ์อาจล้มเหลวและส่งคําขอ CAPTCHA หากต้องการให้ Google ออกและจัดการปัญหา CAPTCHA ให้ส่งผู้ใช้ไปที่ https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger (แทนที่จะส่ง URL การจัดการ CAPTCHA ที่ระบุในเอกสารประกอบ ClientLogin)

กําลังเรียกดูรายการบล็อก

API ข้อมูลของ Blogger มีฟีดที่แสดงรายการบล็อกของผู้ใช้บางราย ฟีดนั้นเรียกว่า "metafeed."

ส่ง HTTP GET ไปยัง URL ต่อไปนี้เพื่อรับรายการบล็อก

http://www.blogger.com/feeds/userID/blogs

หมายเหตุ: คุณยังแทนที่ default สําหรับรหัสผู้ใช้ได้ ซึ่งจะบอกให้ Blogger แสดงรายชื่อบล็อกสําหรับผู้ใช้ซึ่งมีข้อมูลเข้าสู่ระบบประกอบคําขอ

รายการใน Metafeed อาจมีลักษณะเช่นนี้

<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

การสร้างโพสต์

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 ได้โดยไม่ต้องตรวจสอบสิทธิ์ ดังนั้น คุณจึงไม่ต้องตั้งค่าพารามิเตอร์การให้สิทธิ์เมื่อเรียกข้อมูลบล็อกโพสต์จากบล็อกสาธารณะ

กําลังเรียกบล็อกโพสต์ทั้งหมด

หากต้องการเรียกข้อมูลโพสต์ของผู้ใช้ ให้ส่งคําขอ GET ของ HTTP ไปยัง 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 ด้วย

Blogger Data API รองรับพารามิเตอร์การค้นหาต่อไปนี้

alt
ประเภทฟีดที่จะแสดงผล เช่น atom (ค่าเริ่มต้น) หรือ rss
/category
ระบุหมวดหมู่ (หรือที่เรียกว่าป้ายกํากับ) เพื่อกรองผลลัพธ์ของฟีด เช่น http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie จะแสดงรายการป้ายกํากับทั้ง Fritz และ Laurie
ผลลัพธ์สูงสุด
จํานวนสูงสุดของผลลัพธ์ที่จะแสดง
Orderby
ลําดับในการคืนสินค้า เช่น lastmodified (ค่าเริ่มต้น), starttime หรือ updated
เผยแพร่ต่ําสุด, เผยแพร่สูงสุด
ขอบเขตวันที่เผยแพร่รายการที่ป้อน
ดัชนีเริ่มต้น
ดัชนี 1 จากผลลัพธ์แรกที่จะดึงมา (สําหรับการแบ่งหน้า)
อัปเดต-นาที, อัปเดต-สูงสุด
ขอบเขตการอัปเดตวันที่ป้อนเข้า ระบบจะไม่สนใจพารามิเตอร์การค้นหาเหล่านี้ เว้นแต่จะกําหนดพารามิเตอร์ orderby เป็น updated

ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การค้นหาได้ที่คู่มืออ้างอิง API ข้อมูลของ Blogger และคู่มืออ้างอิงสําหรับ 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>

สําคัญ: เพื่อให้มั่นใจว่าใช้งานร่วมกันได้ในอนาคต โปรดตรวจสอบว่าเมื่อPUT อัปเดตรายการแล้ว คุณจะเก็บ ทุก XML ที่มีอยู่ขณะดึงข้อมูล รายการจาก Blogger ไม่เช่นนั้น เมื่อเรานําสิ่งใหม่ๆ มาใช้และรวมองค์ประกอบ <new-awesome-feature> ไว้ในฟีด ไคลเอ็นต์จะไม่แสดงผลและผู้ใช้จะพลาดข้อมูลเหล่านี้ไป ไลบรารีของไคลเอ็นต์ Google Data API ทั้งหมดจะจัดการเรื่องนี้อย่างถูกต้อง ดังนั้นหากคุณใช้งานไลบรารีรายการใดรายการหนึ่งตอนนี้ คุณก็พร้อมแล้ว

หมายเหตุ: ยังไม่รองรับการแก้ไขข้อมูลผู้เขียนที่เชื่อมโยงกับโพสต์

เคล็ดลับในการแก้ปัญหา: ไฟร์วอลล์บางรายการบล็อกข้อความ HTTP PUT ดังนั้นคุณสามารถรวมส่วนหัว 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>

หากต้องการเผยแพร่ความคิดเห็นนี้ ให้วางองค์ประกอบ Atom <entry> ไว้ในเนื้อหาของคําขอ 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 #39;

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 แบบเดียวกับที่อธิบายไว้ในส่วนในการเรียกดูโพสต์และความคิดเห็น ไฟล์ส่งออกนี้จะรวมเนื้อหาของฟีดโพสต์และเนื้อหาของฟีดความคิดเห็นไว้รวมกันใน 1 เอกสาร

หากต้องการส่งออกหรือนําเข้าข้อมูลบล็อกโดยใช้รูปแบบการส่งออก ให้ไปที่หน้าการตั้งค่าของบล็อก หากต้องการเรียกไฟล์ส่งออกสําหรับบล็อกโดยใช้ 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 ข้างต้นไม่รองรับพารามิเตอร์การค้นหา คําขอทั้งสองต้องมีข้อมูลการตรวจสอบสิทธิ์ด้วย และมีเพียงผู้ดูแลระบบบล็อกเท่านั้นที่จะนําเข้า/ส่งออกบล็อกโดยใช้ URL ของฟีดเหล่านี้ได้

หมายเหตุ: หากสร้างไฟล์การส่งออกของ Blogger ของคุณเอง จะมีข้อจํากัดเดียวสําหรับการจัดลําดับรายการโพสต์และความคิดเห็น ไฟล์ส่งออกของ Blogger จะแสดงข้อความทั้งหมดก่อน ตามด้วยความคิดเห็นทั้งหมด คุณสามารถแทรกรายการโพสต์และความคิดเห็นเองได้ ตราบใดที่รายการความคิดเห็นอยู่หลังโพสต์ของความคิดเห็นนั้น

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Blogger ใช้รูปแบบ Atom ในไฟล์ส่งออกได้ที่คู่มืออ้างอิง Protocol

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