Blogger API: การเริ่มต้นใช้งาน

เอกสารนี้อธิบายวิธีเริ่มต้นใช้งาน Blogger API

ก่อนจะเริ่มต้น

สร้างบัญชี Google

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

ทำความคุ้นเคยกับ Blogger

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

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

เมื่อแอปพลิเคชันขอข้อมูลส่วนตัว คำขอจะต้องได้รับสิทธิ์ จากผู้ใช้ที่ตรวจสอบสิทธิ์แล้วซึ่งมีสิทธิ์เข้าถึงข้อมูลดังกล่าว

เมื่อแอปพลิเคชันขอข้อมูลสาธารณะ คำขอไม่จำเป็นต้องได้รับอนุญาต แต่ต้องมีตัวระบุ เช่น คีย์ API

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

ข้อมูลพื้นฐานเกี่ยวกับ Blogger API

แนวคิดเกี่ยวกับ Blogger

Blogger สร้างขึ้นจากแนวคิดพื้นฐาน 5 ประการดังนี้

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

โมเดลข้อมูล Blogger API

ทรัพยากรคือเอนทิตีข้อมูลแต่ละรายการที่มีตัวระบุที่ไม่ซ้ำกัน Blogger JSON API ทำงานกับทรัพยากร 5 ประเภท ได้แก่

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

โมเดลข้อมูลของ Blogger API อิงตามกลุ่มทรัพยากรที่เรียกว่าคอลเล็กชัน ดังนี้

คอลเล็กชันบล็อก
คอลเล็กชันบล็อกประกอบด้วยบล็อกทั้งหมดที่ผู้ใช้มีสิทธิ์เข้าถึง คุณแสดงรายการบล็อกตามผู้ใช้ หรือดึงข้อมูลบล็อกเดียวตามรหัสได้</span="apicollection">
คอลเล็กชันโพสต์
คอลเล็กชันโพสต์ประกอบด้วยแหล่งข้อมูลโพสต์ทั้งหมดภายในแหล่งข้อมูลบล็อกที่เฉพาะเจาะจง
การรวบรวมความคิดเห็น
คอลเล็กชันความคิดเห็นประกอบด้วยทรัพยากรความคิดเห็นทั้งหมดภายในทรัพยากรโพสต์ที่เฉพาะเจาะจง
คอลเล็กชันหน้าเว็บ
คอลเล็กชันหน้าเว็บประกอบด้วยทรัพยากรหน้าเว็บทั้งหมดภายในทรัพยากรบล็อกที่เฉพาะเจาะจง
คอลเล็กชันผู้ใช้
คอลเล็กชันผู้ใช้ประกอบด้วยทรัพยากรผู้ใช้ทั้งหมดใน Blogger จึงแสดงรายการไม่ได้ ผู้ใช้สามารถดึงข้อมูลแหล่งข้อมูลผู้ใช้ของตนเอง (แต่ไม่ใช่ของผู้ใช้อื่น) ได้โดยใช้รหัสหรือโดยใช้ตัวระบุ self

การดำเนินการของ Blogger API

คุณเรียกใช้เมธอดต่างๆ ในคอลเล็กชันและทรัพยากร ใน Blogger API ได้ตามที่อธิบายไว้ในตารางต่อไปนี้

การดำเนินการ คำอธิบาย การแมป HTTP ของ REST
list แสดงรายการทรัพยากรทั้งหมดภายในคอลเล็กชัน GET ใน URI ของคอลเล็กชัน
รับ รับทรัพยากรที่เฉพาะเจาะจง GET ใน URI ทรัพยากร
getByUrl รับทรัพยากรโดยค้นหาตาม URL GET โดยมี URL ที่ส่งเป็นพารามิเตอร์
getByPath รับทรัพยากรโดยค้นหาตามเส้นทาง GET โดยมีเส้นทางที่ส่งผ่านเป็นพารามิเตอร์
listByUser แสดงรายการทรัพยากรที่ผู้ใช้เป็นเจ้าของ GET ในคอลเล็กชันที่ผู้ใช้เป็นเจ้าของ
search ค้นหาแหล่งข้อมูลโดยอิงตามพารามิเตอร์การค้นหา GET ใน URL การค้นหา โดยส่งคำค้นหาเป็นพารามิเตอร์
แทรก สร้างทรัพยากรในคอลเล็กชัน POST ใน URI ของคอลเล็กชัน
ลบ ลบทรัพยากร DELETE ใน URI ทรัพยากร
patch อัปเดตทรัพยากรโดยใช้ความหมายของ Patch PATCH ใน URI ทรัพยากร
อัปเดต อัปเดตทรัพยากร PUT ใน URI ทรัพยากร

ตารางด้านล่างแสดงวิธีการที่แหล่งข้อมูลแต่ละประเภทรองรับ การดำเนินการ list และ get ทั้งหมดในบล็อกส่วนตัวต้องใช้การตรวจสอบสิทธิ์

ประเภททรัพยากร
วิธีการที่รองรับ
list get getByUrl getByPath listByUser search แทรก ลบ patch อัปเดต
บล็อก ไม่ ใช่ ใช่ ไม่ ใช่ ไม่ ไม่ ไม่ ไม่ ไม่
โพสต์ ใช่ ใช่ ไม่ ใช่ ไม่ ใช่ ใช่ค่ะ ใช่ค่ะ ใช่ค่ะ ใช่
ความคิดเห็น ใช่ ใช่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่
หน้า ใช่ ใช่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่
ผู้ใช้ ไม่ ใช่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่

รูปแบบการโทร

คุณเรียกใช้ API ได้หลายวิธี ดังนี้

REST

REST เป็นรูปแบบสถาปัตยกรรมซอฟต์แวร์ที่ให้แนวทางที่สะดวกและสอดคล้องกันในการขอและแก้ไขข้อมูล

คำว่า REST ย่อมาจาก "Representational State Transfer" ในบริบทของ Google API คำนี้หมายถึงการใช้คำกริยา HTTP เพื่อดึงและแก้ไขการแสดงข้อมูลที่ Google จัดเก็บไว้

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

ใน RESTful API ของ Google ไคลเอ็นต์จะระบุการดำเนินการโดยใช้คำกริยา HTTP เช่น POST, GET, PUT หรือ DELETE โดยจะระบุทรัพยากรด้วย URI ที่ไม่ซ้ำกันทั่วโลกในรูปแบบต่อไปนี้

https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters

เนื่องจากทรัพยากร API ทั้งหมดมี URI ที่เข้าถึงได้ผ่าน HTTP ที่ไม่ซ้ำกัน REST จึงเปิดใช้การแคชข้อมูลและได้รับการเพิ่มประสิทธิภาพให้ทำงานร่วมกับโครงสร้างพื้นฐานแบบกระจายของเว็บได้

คุณอาจพบว่าคำจำกัดความของเมธอดในเอกสารประกอบมาตรฐาน HTTP 1.1 มีประโยชน์ ซึ่งรวมถึงข้อกำหนดสำหรับ GET, POST, PUT และ DELETE

REST ใน Blogger API

การดำเนินการของ Blogger ที่รองรับจะแมปกับคำกริยา HTTP ของ REST โดยตรง ตามที่อธิบายไว้ในการดำเนินการของ Blogger API

รูปแบบที่เฉพาะเจาะจงสำหรับ URI ของ Blogger API มีดังนี้

https://www.googleapis.com/blogger/v3/users/userId
https://www.googleapis.com/blogger/v3/users/self
https://www.googleapis.com/blogger/v3/users/userId/blogs
https://www.googleapis.com/blogger/v3/users/self/blogs
https://www.googleapis.com/blogger/v3/blogs/blogId
https://www.googleapis.com/blogger/v3/blogs/byurl
https://www.googleapis.com/blogger/v3/blogs/blogId/posts
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/bypath
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/search
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments/commentId
https://www.googleapis.com/blogger/v3/blogs/blogId/pages
https://www.googleapis.com/blogger/v3/blogs/blogId/pages/pageId

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

ตัวอย่าง

แสดงรายการบล็อกที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์มีสิทธิ์เข้าถึง

GET https://www.googleapis.com/blogger/v3/users/self/blogs?key=YOUR-API-KEY

รับโพสต์ในบล็อก code.blogger.com ซึ่งมีรหัสบล็อก 3213900

GET https://www.googleapis.com/blogger/v3/blogs/3213900?key=YOUR-API-KEY

REST จาก JavaScript

คุณเรียกใช้ Blogger API จาก JavaScript ได้โดยใช้ callback พารามิเตอร์การค้นหาและระบุฟังก์ชันเรียกกลับ เมื่อเบราว์เซอร์โหลดสคริปต์ ระบบจะเรียกใช้ฟังก์ชัน Callback และส่งการตอบกลับไปยังฟังก์ชัน Callback แนวทางนี้ช่วยให้คุณ เขียนแอปพลิเคชันที่สมบูรณ์ซึ่งแสดงข้อมูล Blogger ได้โดยไม่ต้องใช้โค้ดฝั่งเซิร์ฟเวอร์

ตัวอย่างต่อไปนี้จะดึงข้อมูลโพสต์จากบล็อก code.blogger.com หลังจากที่คุณแทนที่ YOUR-API-KEY ด้วยคีย์ API ของคุณ

<html>
  <head>
    <title>Blogger API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function handleResponse(response) {
        document.getElementById("content").innerHTML += "<h1>" + response.title + "</h1>" + response.content;
      }
    </script>
    <script
    src="https://www.googleapis.com/blogger/v3/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script>
  </body>
</html>

รูปแบบข้อมูล

JSON

JSON (JavaScript Object Notation) เป็นรูปแบบข้อมูลทั่วไปที่ไม่ขึ้นกับภาษา ซึ่งแสดงโครงสร้างข้อมูลที่กำหนดเองในรูปแบบข้อความอย่างง่าย สำหรับข้อมูลเพิ่มเติม โปรดดู json.org