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

สำคัญ: เราจะหยุดรองรับ Google Data API เวอร์ชัน 2.0 ในวันที่ 30 กันยายน 2024 โปรดอัปเดตแอปพลิเคชันที่ใช้ Google Data API เวอร์ชัน 2.0 เป็น API เวอร์ชันล่าสุดเพื่อให้ใช้งานได้อย่างต่อเนื่อง หากต้องการดูเวอร์ชันล่าสุด ให้ใช้ลิงก์ในแถบนำทางด้านซ้าย หมายเหตุ: แม้ว่าคำขอ GET บางรายการ (เช่น โพสต์ข้อมูล) จะยังคงรองรับเป็น URL ฟีดต่อไป แต่ก็มีลักษณะการทำงานที่ต่างกันเล็กน้อย โปรดดูข้อมูลโดยละเอียดในเอกสารความช่วยเหลือเกี่ยวกับ Blogger

Blogger Data API ช่วยให้แอปพลิเคชันไคลเอ็นต์ดูและอัปเดตเนื้อหา Blogger ในรูปแบบฟีด Google Data API ได้

แอปพลิเคชันไคลเอ็นต์ของคุณสามารถใช้ Blogger Data API เพื่อสร้างบล็อกโพสต์ใหม่ แก้ไขหรือลบบล็อกโพสต์ที่มีอยู่ และค้นหาบล็อกโพสต์ที่ตรงกับเกณฑ์เฉพาะ

นอกจากข้อมูลเบื้องต้นเกี่ยวกับความสามารถของ Blogger Data API แล้ว เอกสารนี้ยังยกตัวอย่างการโต้ตอบกับ API ข้อมูลพื้นฐานโดยใช้ XML และ HTTPS ดิบ หลังจากอ่านเอกสารนี้แล้ว คุณอาจต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการโต้ตอบกับ API โดยใช้ไลบรารีของไคลเอ็นต์ด้วยการอ่านส่วนภาษาโปรแกรมโดยเฉพาะในคู่มือสำหรับนักพัฒนาซอฟต์แวร์รายนี้

เนื้อหา

ผู้ชม

เอกสารนี้มีไว้สำหรับโปรแกรมเมอร์ที่ต้องการเขียนแอปพลิเคชันไคลเอ็นต์ที่สามารถโต้ตอบกับ Blogger โดยใช้ XML และ HTTPS

เอกสารนี้จะถือว่าคุณเข้าใจแนวคิดทั่วไปที่อยู่เบื้องหลังโปรโตคอล Google Data API

หากคุณใช้ระบบ UNIX และต้องการลองใช้ตัวอย่างในเอกสารนี้โดยไม่ต้องเขียนโค้ด คุณอาจพบว่ายูทิลิตีบรรทัดคำสั่ง curl หรือ wget ของ UNIX มีประโยชน์ สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าที่กำหนดเองสำหรับยูทิลิตีดังกล่าว

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

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

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

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

การอนุญาตคำขอ

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

เกี่ยวกับโปรโตคอลการให้สิทธิ์

เราขอแนะนำให้ใช้ OAuth 2.0 เพื่อให้สิทธิ์คำขอ

นอกจากนี้ Blogger GData API ยังรองรับตัวเลือกการให้สิทธิ์แบบเก่า เช่น OAuth 1.0, AuthSub หรือ ClientLogin ด้วย แต่ในกรณีส่วนใหญ่ เราไม่แนะนำให้ใช้ตัวเลือกอื่นๆ เหล่านั้น หากแอปพลิเคชันใช้ตัวเลือกเหล่านั้นแล้ว เราขอแนะนำให้ย้ายข้อมูลไปยัง OAuth 2.0 หากเป็นไปได้

หากแอปพลิเคชันมีข้อกำหนดการให้สิทธิ์ที่ผิดปกติ เช่น การเข้าสู่ระบบในเวลาเดียวกับการขอการเข้าถึงข้อมูล (ไฮบริด) หรือการมอบสิทธิ์ทั่วทั้งโดเมน (2LO) คุณจะไม่สามารถใช้โทเค็น OAuth 2.0 ได้ในขณะนี้ ในกรณีเช่นนี้ คุณต้องใช้โทเค็น OAuth 1.0 แทน

การให้สิทธิ์คำขอด้วย OAuth 2.0

คำขอที่ส่งไปยัง Blogger GData API สำหรับข้อมูลผู้ใช้ที่ไม่เผยแพร่ต่อสาธารณะจะต้องได้รับสิทธิ์จากผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์

รายละเอียดของกระบวนการให้สิทธิ์หรือ "ขั้นตอน" สำหรับ OAuth 2.0 จะแตกต่างกันไปโดยขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณเขียน ขั้นตอนทั่วไปต่อไปนี้มีผลกับแอปพลิเคชันทุกประเภท

  1. เมื่อสร้างแอปพลิเคชัน คุณจะต้องลงทะเบียนกับ Google จากนั้น Google จะให้ข้อมูลที่คุณต้องใช้ในภายหลัง เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
  2. เมื่อแอปพลิเคชันต้องการเข้าถึงข้อมูลผู้ใช้ แอปจะขอขอบเขตการเข้าถึงที่เฉพาะเจาะจงจาก Google
  3. Google จะแสดงกล่องโต้ตอบ OAuth แก่ผู้ใช้เพื่อขอให้ผู้ใช้ให้สิทธิ์แอปพลิเคชันของคุณในการขอข้อมูลบางอย่าง
  4. หากผู้ใช้อนุมัติ Google จะให้โทเค็นเพื่อการเข้าถึงที่มีอายุชั่วคราวแก่แอปพลิเคชันของคุณ
  5. แอปพลิเคชันของคุณขอข้อมูลผู้ใช้โดยแนบโทเค็นเพื่อการเข้าถึงไปกับคำขอ
  6. หาก Google ตัดสินว่าคำขอและโทเค็นของคุณถูกต้อง ระบบจะแสดงข้อมูลที่ขอ

บางขั้นตอนจะมีขั้นตอนเพิ่มเติม เช่น การใช้โทเค็นการรีเฟรชเพื่อขอโทเค็นเพื่อการเข้าถึงใหม่ ดูข้อมูลอย่างละเอียดเกี่ยวกับกระบวนการของแอปพลิเคชันประเภทต่างๆ ได้ที่เอกสารประกอบเกี่ยวกับ OAuth 2.0 ของ Google

ต่อไปนี้เป็นข้อมูลขอบเขตของ OAuth 2.0 สำหรับ Blogger GData API

https://www.blogger.com/feeds/

หากต้องการขอสิทธิ์เข้าถึงโดยใช้ OAuth 2.0 แอปพลิเคชันของคุณจำเป็นต้องมีข้อมูลขอบเขต รวมทั้งข้อมูลที่ Google ใส่ให้ระหว่างการลงทะเบียนแอปพลิเคชัน (เช่น รหัสไคลเอ็นต์และ/หรือรหัสลับไคลเอ็นต์)

เคล็ดลับ: ไลบรารีของไคลเอ็นต์ Google APIs จัดการขั้นตอนการให้สิทธิ์บางส่วนให้คุณได้ ไลบรารีเหล่านี้พร้อมให้บริการเป็นภาษาโปรแกรมต่างๆ ดูรายละเอียดเพิ่มเติมได้ที่หน้าไลบรารีและตัวอย่าง

การระบุเวอร์ชัน

ทุกคำขอที่คุณส่งโดยใช้ Blogger Data API ควรระบุ API เวอร์ชัน 2 ด้วย

หากต้องการระบุหมายเลขเวอร์ชัน ให้ใช้ส่วนหัว HTTP ของ GData-Version ดังนี้

GData-Version: 2

หรือหากตั้งค่าส่วนหัว HTTP ไม่ได้ ให้ระบุ v=2 เป็นพารามิเตอร์การค้นหาใน URL แต่ขอแนะนำให้ใช้ส่วนหัว HTTP หากเป็นไปได้

หมายเหตุ: ไลบรารีของไคลเอ็นต์จะระบุส่วนหัวเวอร์ชันที่เหมาะสมให้โดยอัตโนมัติ ดังนั้นอย่าใช้พารามิเตอร์การค้นหา v=2 เมื่อคุณใช้ไลบรารีของไคลเอ็นต์

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

Blogger Data API จะมีฟีดที่แสดงบล็อกสำหรับผู้ใช้รายหนึ่งๆ ฟีดนั้นเรียกว่า "metafeed"

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

https://www.blogger.com/feeds/profileID/blogs

โดยที่รหัสโปรไฟล์คือหมายเลขใน URL สำหรับหน้าโปรไฟล์ของผู้ใช้

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

รายการในฟีดเมตาอาจมีลักษณะดังนี้

<entry gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:user-userNumber.blog-blogID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/profileID/blogs/blogID' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  ...
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
</entry>

ดูข้อมูลเกี่ยวกับความหมายขององค์ประกอบแต่ละรายการได้จากเอกสารการอ้างอิงโปรโตคอล Google Data API หรือข้อกำหนดเกี่ยวกับ Atom 1.0

หากคำขอของคุณล้มเหลวด้วยเหตุผลบางอย่าง บล็อกเกอร์อาจแสดงรหัสสถานะอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานะ HTTP ได้จากเอกสารการอ้างอิงโปรโตคอลของ Google Data API

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

Blogger Data API ช่วยให้คุณสร้างและเผยแพร่รายการในบล็อกใหม่ รวมถึงสร้างรายการฉบับร่างได้

การเผยแพร่บล็อกโพสต์

หลังจากตรวจสอบสิทธิ์แล้ว คุณจะเผยแพร่รายการใหม่ๆ ในบล็อกได้

ขั้นแรก ให้สร้างการแทน XML ของโพสต์เพื่อเผยแพร่ XML นี้ต้องอยู่ในรูปแบบองค์ประกอบ <entry> ของ Atom ซึ่งอาจมีลักษณะดังนี้

<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 ของบล็อกโพสต์ใน Metafeed โดยหาองค์ประกอบ <link> ที่แอตทริบิวต์ rel ลงท้ายด้วย #post ระบบระบุ URL ของบล็อกโพสต์เป็นแอตทริบิวต์ href ขององค์ประกอบนี้ ซึ่งอยู่ในรูปแบบนี้

https://www.blogger.com/feeds/blogID/posts/default

หมายเหตุ: URL นี้เหมือนกับ URL ในแท็ก <link rel="service.post"> ที่ปรากฏในส่วน <head> ของบล็อกเวอร์ชันที่ผู้ใช้อ่านได้

Blogger สร้างบล็อกโพสต์โดยใช้ข้อมูลที่คุณส่งเข้ามา จากนั้นแสดงผลรหัสสถานะ HTTP 201 CREATED พร้อมสําเนาของโพสต์ใหม่ในรูปแบบองค์ประกอบ <entry> ข้อมูลที่ส่งกลับมาจะเหมือนกับรายการที่คุณส่ง แต่มีองค์ประกอบต่างๆ ที่ Blogger เพิ่มเข้ามาด้วย เช่น องค์ประกอบ <id>

หากคำขอของคุณล้มเหลวด้วยเหตุผลบางอย่าง บล็อกเกอร์อาจแสดงรหัสสถานะอื่น ดูข้อมูลเกี่ยวกับรหัสสถานะได้ในเอกสารอ้างอิงโปรโตคอล Google Data API

การสร้างบล็อกโพสต์ฉบับร่าง

โพสต์ฉบับร่างจะสร้างขึ้นในลักษณะเดียวกับโพสต์สาธารณะ แต่เพิ่มองค์ประกอบ <app:control> ลงในรายการเพื่อบ่งชี้ว่าไม่ควรเผยแพร่โพสต์ดังกล่าว

องค์ประกอบ <app:control> นี้ควรมีองค์ประกอบ <app:draft> เดียวเป็นองค์ประกอบย่อย

<app:control xmlns:app='http://www.w3.org/2007/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 https://www.blogger.com/feeds/blogID/posts/default

จากนั้น Blogger จะส่งคืนรหัสสถานะ HTTP 200 OK และฟีด Atom 1.0 มาตรฐานที่มีบล็อกโพสต์ดังกล่าว

ต่อไปนี้เป็นตัวอย่างฟีดสำหรับบล็อกที่มีโพสต์เดียวเท่านั้น โปรดสังเกตว่าเราได้แก้ไขตัวอย่างนี้เล็กน้อยเพื่อให้มนุษย์อ่านง่ายขึ้น โดยเฉพาะอย่างยิ่ง ฟีดใน Blogger ที่แท้จริงจะมีรหัสและ URL จริง

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <subtitle type='html'></subtitle>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www2.blogger.com'>Blogger</generator>
  <entry gd:etag='W/"D0YHRn84eip7ImA9WxZUFk8."'>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2008-04-07T20:25:00.005-07:00</published>
    <updated>2008-04-07T20:25:37.132-07:00</updated>
    <title>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='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2008/04/quite-disagreeable.html' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>noreply@blogger.com</email>
    </author>
  </entry>
</feed>

เรียกดูบล็อกโพสต์อีกครั้ง

ถ้าต้องการเรียกโพสต์ที่เคยดึงมาก่อนหน้านี้ คุณสามารถปรับปรุงประสิทธิภาพได้โดยบอกให้ Blogger ส่งโพสต์ต่อเมื่อมีการเปลี่ยนแปลงเกิดขึ้นจากครั้งล่าสุดที่คุณเรียกโพสต์

หากต้องการดึงข้อมูลแบบมีเงื่อนไขประเภทนี้ ให้ส่งคำขอ HTTP GET ที่มีส่วนหัว HTTP If-None-Match ในส่วนหัว ให้ระบุ ETag ของรายการ ซึ่งดูได้ในแอตทริบิวต์ gd:etag ขององค์ประกอบ <entry>

เช่น

If-None-Match: W/"D08FQn8-eil7ImA9WxZbFEw."

เมื่อ Blogger ได้รับคำขอนี้ จะตรวจสอบว่ารายการที่คุณขอมี ETag เดียวกันกับ ETag ที่คุณระบุหรือไม่ หาก ETag ตรงกัน แสดงว่ารายการไม่มีการเปลี่ยนแปลง และ Blogger จะแสดงรหัสสถานะ Not Modified ของ HTTP 304

หาก ETag ไม่ตรงกัน แสดงว่ามีการแก้ไขรายการตั้งแต่ครั้งสุดท้ายที่คุณขอ และ Blogger จะส่งรายการกลับมา

ดูข้อมูลเพิ่มเติมเกี่ยวกับ ETag ได้ในคู่มืออ้างอิงสำหรับ Data API ของ Google

การเรียกโพสต์โดยใช้พารามิเตอร์การค้นหา

คุณสามารถใช้ API ข้อมูลของ Blogger เพื่อขอชุดรายการซึ่งตรงกับเกณฑ์ที่ระบุ เช่น การขอบล็อกโพสต์ที่เผยแพร่หรืออัปเดตในช่วงวันที่ที่ระบุ

ตัวอย่างเช่น หากต้องการส่งคำค้นหาในช่วงวันที่ ให้เพิ่มพารามิเตอร์ published-min และ published-max ลงใน URL ของคำขอ ถ้าต้องการดูรายการบล็อกทั้งหมดที่สร้างขึ้นระหว่างวันที่ 16 มีนาคม 2008 ถึง 24 มีนาคม 2008 ให้ส่งคำขอ HTTP ไปยัง URL ฟีดของบล็อก ดังนี้

GET https://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
ระบุหมวดหมู่ (หรือที่เรียกว่าป้ายกำกับ) เพื่อกรองผลลัพธ์ฟีด ตัวอย่างเช่น https://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie จะแสดงรายการที่มีทั้งป้ายกำกับ Fritz และ Laurie
max-results
จำนวนรายการสูงสุดที่จะแสดง
สั่งโดย
ลำดับที่จะแสดงรายการ เช่น lastmodified (ค่าเริ่มต้น), starttime หรือ updated
ต่ำสุดที่เผยแพร่, สูงสุดที่เผยแพร่
ขอบเขตของวันที่เผยแพร่รายการ
start-index
ดัชนีแบบ 1 ของผลลัพธ์แรกที่ดึงมา (สำหรับการแบ่งหน้า)
อัปเดต-นาที, อัปเดต-สูงสุด
ขอบเขตของวันที่อัปเดตรายการ ระบบจะไม่สนใจพารามิเตอร์การค้นหาเหล่านี้ เว้นแต่จะตั้งค่าพารามิเตอร์ orderby เป็น updated
เส้นทาง
เส้นทางลิงก์ถาวรสำหรับโพสต์ ตัวอย่างเช่น สำหรับโพสต์ที่มี URL http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html เส้นทางของลิงก์ถาวรคือ /2011/08/bloggers-fresh-new-look.html
q
สตริงข้อความค้นหาแบบเต็ม การดำเนินการนี้จะช่วยให้คุณค้นหาโพสต์ที่ตรงกับคำค้นหาในบล็อกได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การค้นหาได้ที่คู่มืออ้างอิงสำหรับ Blogger Data API และคู่มืออ้างอิงสำหรับ Google Data API

กำลังอัปเดตโพสต์

หากต้องการอัปเดตบล็อกโพสต์ที่มีอยู่ ขั้นแรก คุณต้องเรียกข้อมูลรายการที่ต้องการอัปเดต จากนั้นทำการแก้ไข จากนั้นส่งคำขอ PUT พร้อมด้วยรายการที่อัปเดตในส่วนเนื้อหาข้อความไปยัง URL การแก้ไขของโพสต์ ตรวจสอบว่าค่า <id> ในรายการที่ PUT ตรงกับ <id> ของรายการที่มีอยู่ทุกประการ

URL สำหรับแก้ไขจะถูกไฮไลต์ในรายการต่อไปนี้

<entry gd:etag='W/"CUYDSXo8fSp7ImA9WB9UFkU."'>
  <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 ใช้สำหรับสร้าง เรียก และลบความคิดเห็น ไม่รองรับการอัปเดตความคิดเห็น (และไม่มีในอินเทอร์เฟซบนเว็บ)

กำลังสร้างความคิดเห็น

หากต้องการโพสต์ความคิดเห็น ให้สร้างองค์ประกอบ <entry> ของ Atom ดังต่อไปนี้

  <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 https://www.blogger.com/feeds/blogID/postID/comments/default

หมายเหตุ: ขณะนี้คุณโพสต์ความคิดเห็นได้เฉพาะในบล็อกที่เป็นของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้น

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

กำลังเรียกความคิดเห็น

คุณสามารถเรียกดูความคิดเห็นของโพสต์ใดโพสต์หนึ่งได้โดยส่ง GET ไปยัง URL ฟีดความคิดเห็นของโพสต์นี้

GET https://www.blogger.com/feeds/blogID/postID/comments/default

หรือคุณอาจรับความคิดเห็นจากทุกโพสต์โดยใช้ URL ฟีดความคิดเห็นของบล็อก ดังนี้

GET https://www.blogger.com/feeds/blogID/comments/default

คำขอเหล่านี้จะแสดงฟีดความคิดเห็นที่มีลักษณะดังนี้

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
  <updated>2007-12-14T17:46:22.077-08:00</updated>
  <title>Comments on Lizzy's Diary: Quite disagreeable</title>
  <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://www.blogger.com/feeds/blogID/postID/comments/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www.blogger.com'>Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-12-14T17:46:00.001-08:00</published>
    <updated>2007-12-14T17:46:00.001-08:00</updated>
    <title>Darcy FTW!</title>
    <content type='html'>Darcy FTW!</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html?showComment=1197683160001#ccommentID'
      title='' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>liz@gmail.com</email>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html'
      ref='tag:blogger.com,1999:blog-blogID.post-postID'
      source='http://www.blogger.com/feeds/blogID/posts/default/postID'
      type='text/html' />
  </entry>
</feed>

กำลังลบความคิดเห็น

หากต้องการลบความคิดเห็น ให้ส่งคำขอ DELETE ไปยัง URL แก้ไขของความคิดเห็น URL นี้จะมีการไฮไลต์ในฟีดความคิดเห็นด้านบน

รูปแบบการส่งออก

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

หากต้องการส่งออกหรือนำเข้าข้อมูลบล็อกโดยใช้รูปแบบการส่งออก ให้ไปที่หน้าการตั้งค่าของบล็อก หากต้องการเรียกดูไฟล์ส่งออกสำหรับบล็อกโดยใช้ Data API ให้ใช้ URL ต่อไปนี้

GET https://www.blogger.com/feeds/blogID/archive

หากต้องการนำเข้าไฟล์ส่งออก ให้สร้างคำขอ POST ไปยัง URL ต่อไปนี้โดยให้เนื้อหาของไฟล์ส่งออกเป็นข้อมูลคำขอ และระบุ application/atom+xml เป็นประเภทเนื้อหา

POST https://www.blogger.com/feeds/blogID/archive/full

URL ทั้งสองรายการสำหรับพารามิเตอร์การค้นหาการสนับสนุนข้างต้น คำขอทั้ง 2 รายการต้องมีข้อมูลการตรวจสอบสิทธิ์ด้วย และเฉพาะผู้ดูแลระบบของบล็อกเท่านั้นที่จะนำเข้า/ส่งออกบล็อกโดยใช้ URL ฟีดเหล่านี้ได้

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

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

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