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