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

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

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

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

เนื้อหา

กลุ่มเป้าหมาย

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<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

หากส่งคําขอไม่สําเร็จด้วยเหตุผลบางประการ 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 ขององค์ประกอบนี้ ซึ่งอยู่ในรูปแบบนี้

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

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

หากต้องการเรียกข้อมูลโพสต์ของผู้ใช้ ให้ส่งคําขอ GET ของ HTTP ไปยัง 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 ของรายการในส่วนหัว ซึ่งแสดงอยู่ในแอตทริบิวต์ <entry> element 's gd:etag

เช่น

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

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

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

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

การดึงข้อมูลโพสต์โดยใช้พารามิเตอร์การค้นหา

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

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

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

หากต้องการโพสต์ความคิดเห็น ให้สร้างเอลิเมนต์ 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 https://www.blogger.com/feeds/blogID/postID/comments/default

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

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

กําลังดึงข้อมูลความคิดเห็น

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

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

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

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

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

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

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

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