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

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

ก่อนจะเริ่ม

รับบัญชี Google

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

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

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

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

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

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

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

พื้นหลังของ Blogger API

แนวคิดของ Blogger

Blogger สร้างขึ้นจากแนวคิดพื้นฐาน 5 ข้อ ได้แก่

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

รูปแบบข้อมูล API ของ Blogger

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

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

รูปแบบข้อมูล API ของ Blogger จะอิงตามกลุ่มทรัพยากร ซึ่งเรียกว่าคอลเล็กชัน ดังนี้

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

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

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

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

ตารางด้านล่างแสดงวิธีที่ทรัพยากรแต่ละประเภทรองรับ การดําเนินการลิสต์และรับทั้งหมดในบล็อกส่วนตัวต้องมีการตรวจสอบสิทธิ์

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

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

การเรียกใช้ API ทําได้หลายวิธี

REST

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

คําว่า REST นั้นเรียกสั้นๆ ว่า "การรับรองสถานะตัวแทน." ในบริบทของ Google APIs การอ้างถึงคํากริยา HTTP จะดึงข้อมูลและแก้ไขการนําเสนอที่ Google จัดเก็บไว้

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

ใน API ของ RESTful ของ 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 API ของ Blogger คือ

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 ได้สรุปไว้ในเอกสารเอกสารอ้างอิง API ของ Blogger

ตัวอย่าง

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

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