สำคัญ: เราจะหยุดรองรับ JSON API เวอร์ชัน 2.0 ในวันที่ 30 กันยายน 2024 โปรดอัปเดตแอปพลิเคชันที่ใช้ JSON API เวอร์ชัน 2.0 เป็น API เวอร์ชันล่าสุดเพื่อให้ทำงานอย่างต่อเนื่อง หากต้องการดูเวอร์ชันล่าสุด ให้ใช้ลิงก์ในแถบนำทางด้านซ้าย
เอกสารนี้อธิบายวิธีเริ่มต้นใช้งาน Blogger JSON API
เนื้อหา
เกริ่นนำ
เอกสารนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่ต้องการเขียนแอปพลิเคชันที่โต้ตอบกับ Blogger JSON API ได้
Blogger JSON API ขยายการใช้งาน Blogger Data API เวอร์ชัน 2.0 หากต้องการเรียกดูข้อมูลจาก Blogger ในรูปแบบ JSON แทน XML ให้ใช้ Blogger JSON API หากต้องการเรียกข้อมูลในรูปแบบ XML ให้ใช้ Blogger Data API
ขณะนี้ Blogger JSON API เวอร์ชันนี้เป็นแบบอ่านอย่างเดียว แต่เรามีแผนที่จะเพิ่มความสามารถในการอ่าน/เขียน รวมถึงความสามารถอื่นๆ คุณสามารถขอฟีเจอร์อื่นๆ ได้ใน ฟอรัมความช่วยเหลือของ Blogger
ก่อนจะเริ่ม
รับบัญชี Google
ตรวจสอบว่าคุณได้ตั้งค่าบัญชี Google แล้ว เราขอแนะนำให้คุณใช้บัญชี Google แยกต่างหากสำหรับจุดประสงค์ในการพัฒนาและทดสอบ เพื่อปกป้องตัวคุณเองจากการสูญหายของข้อมูลโดยไม่ตั้งใจ หากมีบัญชีทดสอบอยู่แล้ว คุณก็พร้อมแล้ว คุณสามารถไปที่อินเทอร์เฟซผู้ใช้ของ Blogger เพื่อตั้งค่า แก้ไข หรือดูข้อมูลการทดสอบได้
ทำความคุ้นเคยกับ Blogger
หากคุณไม่คุ้นเคยกับแนวคิดของ Blogger โปรดอ่านเอกสารนี้และทดลองใช้อินเทอร์เฟซผู้ใช้ก่อนเริ่มเขียนโค้ด เอกสารนี้จะถือว่าคุณคุ้นเคยกับ Blogger เกี่ยวกับแนวคิด การเขียนโปรแกรมบนเว็บ และรูปแบบข้อมูลเว็บ
ดูข้อมูลเกี่ยวกับการให้สิทธิ์คำขอและการระบุแอปพลิเคชัน
เมื่อแอปพลิเคชันขอข้อมูลส่วนตัว คำขอจะต้องได้รับสิทธิ์จากผู้ใช้ที่ตรวจสอบสิทธิ์แล้วซึ่งมีสิทธิ์เข้าถึงข้อมูลดังกล่าว
เมื่อแอปพลิเคชันขอข้อมูลสาธารณะ คำขอไม่จำเป็นต้องได้รับอนุญาต แต่ต้องมีตัวระบุร่วมด้วย เช่น คีย์ API
สำหรับข้อมูลเกี่ยวกับวิธีให้สิทธิ์คำขอและการใช้คีย์ API โปรดดูการให้สิทธิ์คำขอและการระบุแอปพลิเคชันในเอกสารการใช้ API
พื้นหลัง JSON API ของ Blogger
แนวคิดของ Blogger
Blogger สร้างขึ้นจากแนวคิดพื้นฐาน 5 ประการดังนี้
- บล็อก: แนวคิดหลักของ API บล็อกจะมีโพสต์และหน้าเว็บ นี่คือคอนเทนเนอร์สำหรับข้อมูลเมตาของบล็อก เช่น ชื่อบล็อกและคำอธิบาย
- โพสต์: บล็อกโพสต์คือรายการที่เผยแพร่ได้ซึ่งผู้เขียนบล็อกสร้างขึ้น ข้อมูลนี้มีวัตถุประสงค์เพื่อให้มีความทันท่วงที โดยสะท้อนให้เห็นถึงสิ่งที่ผู้แต่งต้องการเผยแพร่สู่สายตาชาวโลกในปัจจุบัน เป็นที่เข้าใจกันว่าเมื่อเวลาผ่านไป เนื้อหาในบล็อกโพสต์จะมีอายุมากขึ้นและมีความเกี่ยวข้องน้อยลง
- ความคิดเห็น: ความคิดเห็นคือที่ที่ผู้อื่นที่ไม่ใช่ผู้เขียนบล็อกโพสต์จะโต้ตอบกับสิ่งที่ผู้เขียนเขียน ทุกอย่างตั้งแต่อิฐไปจนถึงช่อดอกไม้
- หน้าเว็บ: หน้าเว็บคือที่ที่มีเนื้อหาแบบคงที่ เช่น ประวัติส่วนตัว หรือวิธีติดต่อผู้ใช้ ข้อมูลนี้เป็นข้อมูลที่คงอยู่ถาวรซึ่งมีการเปลี่ยนแปลงไม่บ่อยนัก
- ผู้ใช้: ผู้ใช้คือบุคคลที่โต้ตอบกับ Blogger ไม่ว่าจะเป็นผู้ที่ทำหน้าที่เป็นผู้เขียน ผู้ดูแลระบบ หรือเพียงแค่ผู้อ่าน สำหรับบล็อกสาธารณะ ระบบอาจระบุชื่อผู้อ่าน แต่ Blogger จะต้องระบุผู้อ่านในบล็อกส่วนตัว
โมเดลข้อมูล JSON API ของ Blogger
ทรัพยากรคือเอนทิตีข้อมูลแต่ละรายการที่มีตัวระบุที่ไม่ซ้ำกัน Blogger JSON API ทำงานโดยใช้ทรัพยากร 5 ประเภทดังนี้
- แหล่งข้อมูลของบล็อก: แสดงถึงบล็อก
- แหล่งข้อมูลของโพสต์: แสดงถึงโพสต์ ทรัพยากรของโพสต์แต่ละรายการคือทรัพยากรย่อยของทรัพยากรของบล็อก
- ทรัพยากรความคิดเห็น: หมายถึงความคิดเห็นในโพสต์ที่เฉพาะเจาะจง ทรัพยากรความคิดเห็นแต่ละรายการเป็นทรัพยากรย่อยของโพสต์
- แหล่งข้อมูลหน้าเว็บ: แสดงหน้าเว็บแบบคงที่ ทรัพยากรของหน้าเว็บแต่ละหน้าเป็นรายการย่อยของทรัพยากรของบล็อก
- แหล่งข้อมูลของผู้ใช้: แสดงถึงผู้ใช้ที่ระบุตัวบุคคล ค่านี้ใช้เพื่อระบุผู้เขียนของหน้าเว็บ โพสต์ หรือความคิดเห็น
โมเดลข้อมูล Blogger JSON API จะขึ้นอยู่กับกลุ่มทรัพยากรที่เรียกว่าคอลเล็กชัน ดังนี้
- คอลเล็กชันบล็อก
- <span="apicollection">คอลเล็กชันบล็อกประกอบด้วยบล็อกทั้งหมดที่ผู้ใช้มีสิทธิ์เข้าถึง คุณระบุบล็อกตามผู้ใช้หรือเรียกดูบล็อกเดียวตามรหัสได้</span="apicollection">
- คอลเล็กชันโพสต์
- คอลเล็กชันของโพสต์ประกอบด้วยแหล่งข้อมูลสำหรับโพสต์ทั้งหมดภายในแหล่งข้อมูลของบล็อกที่เฉพาะเจาะจง
- การรวบรวมความคิดเห็น
- คอลเล็กชันความคิดเห็นประกอบด้วยทรัพยากรความคิดเห็นทั้งหมดภายในทรัพยากรของโพสต์ที่เฉพาะเจาะจง
- การรวบรวมหน้าเว็บ
- คอลเล็กชันหน้าเว็บประกอบด้วยทรัพยากรของหน้าทั้งหมดภายในแหล่งข้อมูลของบล็อกที่เฉพาะเจาะจง
- คอลเล็กชันผู้ใช้
- คอลเล็กชันของผู้ใช้ประกอบด้วยทรัพยากรของผู้ใช้ทั้งหมดใน Blogger จึงแสดงรายการไม่ได้ ผู้ใช้สามารถเรียกดูทรัพยากรของผู้ใช้ของตนเองได้ (แต่ไม่ใช่ของผู้อื่น) ตามรหัสหรือใช้ตัวระบุ
self
การดำเนินการ Blogger JSON API
คุณจะเรียกใช้คอลเล็กชันและทรัพยากรใน Blogger JSON API ได้ 2 วิธีตามที่อธิบายไว้ในตารางต่อไปนี้
การดำเนินการ | คำอธิบาย | การแมป HTTP ของ REST |
---|---|---|
list | แสดงทรัพยากรทั้งหมดในคอลเล็กชัน | GET ใน URI ของคอลเล็กชัน |
รับ | รับทรัพยากรที่เฉพาะเจาะจง | GET บน URI ทรัพยากร |
ตารางด้านล่างแสดงวิธีที่ทรัพยากรแต่ละประเภทรองรับ การดำเนินการ list และ get ทั้งหมดในบล็อกส่วนตัวต้องมีการตรวจสอบสิทธิ์
ประเภททรัพยากร |
วิธีการที่รองรับ |
|
---|---|---|
รายการ | รับ | |
บล็อก | ใช่ | ใช่ |
โพสต์ | ใช่ | ใช่ |
ความคิดเห็น | ใช่ | ใช่ |
หน้า | ใช่ | ใช่ |
ผู้ใช้ | ไม่ | ใช่ |
รูปแบบการโทร
การเรียกใช้ API มีหลายวิธีดังนี้
- การใช้ REST โดยตรงหรือจาก JavaScript (ไม่ต้องใช้โค้ดฝั่งเซิร์ฟเวอร์)
- การใช้ไลบรารีของไคลเอ็นต์
REST
REST คือสถาปัตยกรรมซอฟต์แวร์รูปแบบหนึ่งที่ให้แนวทางที่สะดวกและสอดคล้องกันในการส่งคำขอและแก้ไขข้อมูล
คำว่า REST ย่อมาจาก "การโอนสถานะตัวแทน" ในบริบทของ Google APIs คำว่า 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 JSON API
การดำเนินการของ Blogger ที่รองรับจะแมปกับคำกริยา HTTP ของ REST โดยตรง ตามที่อธิบายไว้ในการดำเนินการของ Blogger JSON API
รูปแบบเฉพาะสำหรับ URI ของ Blogger JSON API มีดังนี้
https://www.googleapis.com/blogger/v2/users/userId https://www.googleapis.com/blogger/v2/users/self https://www.googleapis.com/blogger/v2/users/userId/blogs https://www.googleapis.com/blogger/v2/users/self/blogs https://www.googleapis.com/blogger/v2/blogs/blogId/posts https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId https://www.googleapis.com/blogger/v2/blogs/blogId/pages https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId
คำอธิบายทั้งหมดของ URI ที่ใช้และผลลัพธ์ของการดำเนินการที่รองรับแต่ละรายการใน API จะสรุปไว้ในเอกสารข้อมูลอ้างอิง JSON API ของ Blogger
ต่อไปนี้เป็นตัวอย่างบางส่วนของวิธีการทำงานใน Blogger JSON API
แสดงรายชื่อบล็อกที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์มีสิทธิ์การเข้าถึง
GET https://www.googleapis.com/blogger/v2/users/self/blogs?key=YOUR-API-KEY
รับโพสต์ในบล็อก code.blogger.com (ซึ่งมีรหัสบล็อก 3213900) ดังนี้
GET https://www.googleapis.com/blogger/v2/blogs/3213900?key=YOUR-API-KEY
REST จาก JavaScript
คุณเรียกใช้ Blogger JSON API ได้โดยใช้ REST จาก JavaScript โดยใช้พารามิเตอร์การค้นหา callback
และฟังก์ชันเรียกกลับ วิธีนี้ช่วยให้คุณเขียนแอปพลิเคชันแบบสมบูรณ์ที่แสดงข้อมูล Blogger โดยไม่ต้องเขียนโค้ดฝั่งเซิร์ฟเวอร์ได้
ตัวอย่างต่อไปนี้ดึงโพสต์จากบล็อก code.blogger.com (หลังจากแทนที่ YOUR-API-KEY ด้วยคีย์ API ของคุณ)
<html> <head> <title>Blogger JSON 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/v2/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script> </body> </html>
รูปแบบข้อมูล
JSON
JSON (JavaScript Object Notation) เป็นรูปแบบข้อมูลทั่วไปที่ไม่อิงตามภาษา ซึ่งให้การนำเสนอข้อความแบบง่ายของโครงสร้างข้อมูลที่กำหนดเอง สำหรับข้อมูลเพิ่มเติม โปรดดู json.org