ภาพรวมคู่มือสําหรับนักพัฒนาซอฟต์แวร์

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

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

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

ผู้ชม

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

หากคุณกําลังมองหาคู่มือนักพัฒนาสําหรับ API หนึ่งๆ ให้ไปที่ไดเรกทอรี API ของ Google Data Protocol

หากต้องการเข้าถึง API ในภาษาโปรแกรมที่คุณชื่นชอบ ให้ไปที่หน้าดาวน์โหลดไลบรารีของไคลเอ็นต์

ที่มา

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

หมายเหตุ: บางครั้งผลิตภัณฑ์ของ Google ที่มี API จะเรียกว่าบริการในเอกสารเหล่านี้และเอกสารอื่นๆ ที่เกี่ยวข้อง

หากคุณเขียนโค้ดที่ใช้ Google Data Protocol โดยตรง โค้ดดังกล่าวจะเข้าถึง API โดยใช้คําขอ HTTP เช่น GET หรือ POST สําหรับคําขอเหล่านี้ ข้อมูลที่จัดเก็บโดยผลิตภัณฑ์ของ Google จะรับส่งข้อมูลผ่านสายในรูปแบบฟีดข้อมูล ฟีดข้อมูลคือรายการที่มีโครงสร้างที่มีข้อมูลเท่านั้น ที่ผ่านมา รูปแบบฟีดหลักคือ AtomPub XML แต่ตอนนี้อยู่ในรูปแบบ JSON หรือ JavaScript Object Notation ในรูปแบบทางเลือกด้วย

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

โปรดดูเอกสารประกอบเฉพาะผลิตภัณฑ์เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับภาษาที่เฉพาะเจาะจงที่พร้อมใช้งานสําหรับ API หรือเวอร์ชัน API ที่คุณใช้

เวอร์ชันของโปรโตคอล

โปรโตคอลเวอร์ชัน 2.0 เทียบกับโปรโตคอลเวอร์ชัน 1.0

โปรโตคอล Google Data เวอร์ชันแรกได้รับการพัฒนาก่อนสรุปโปรโตคอลการเผยแพร่ข้อมูล โปรโตคอลข้อมูลเวอร์ชัน 2 เป็นไปตามมาตรฐาน AtomPub RFC 5023 อย่างเต็มรูปแบบ

Google Data Protocol เวอร์ชัน 2.0 ยังสนับสนุนสิ่งต่อไปนี้

  • HTTP ETag มาตรฐานเว็บที่ช่วยให้แอปพลิเคชันไคลเอ็นต์ใช้ประโยชน์จากการแคช HTTP ได้ดีขึ้น บริการที่รวมอยู่ในไลบรารีของไคลเอ็นต์ที่รองรับโปรโตคอล v2.0 จะจัดการ ETag โดยอัตโนมัติ
  • การตอบกลับบางส่วนและการอัปเดตบางส่วน (ทดลอง) ฟีเจอร์ที่ให้คุณส่งคําขอที่โอนข้อมูลน้อยลง เมื่อส่งคําขอเฉพาะข้อมูลที่คุณต้องการจริงๆ หรือส่งการอัปเดตที่มีข้อมูลที่คุณต้องการเปลี่ยนแปลงเท่านั้น แอปพลิเคชันไคลเอ็นต์จะมีประสิทธิภาพมากขึ้นด้วยการใช้ทรัพยากรเครือข่าย, CPU และหน่วยความจํา ปัจจุบัน คําตอบบางส่วนและการอัปเดตบางส่วนพร้อมใช้งานสําหรับบางผลิตภัณฑ์เท่านั้น โปรดดูเอกสารประกอบเฉพาะผลิตภัณฑ์เพื่อดูว่า API ของคุณรองรับหรือไม่

กําลังอัปเดตแอปพลิเคชัน

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

การอัปเดตไคลเอ็นต์ที่ใช้ไลบรารีของไคลเอ็นต์

หากแอปพลิเคชันไคลเอ็นต์ของคุณใช้ไลบรารีของไคลเอ็นต์ เช่น ไลบรารีของไคลเอ็นต์ Java หรือไลบรารีของไคลเอ็นต์ .NET อาจมี API เวอร์ชันที่รองรับฟีเจอร์โปรโตคอล v2.0 หากต้องการทราบข้อมูล โปรดดูเอกสารประกอบ API สําหรับผลิตภัณฑ์ของ Google ที่คุณใช้เพื่อพิจารณาว่าข้อมูลทั้ง 2 อย่างนี้เป็นจริงหรือไม่

  • มี API เวอร์ชันที่รองรับฟีเจอร์ Google Data Protocol v2.0
  • ไลบรารีของไคลเอ็นต์ที่คุณใช้ยังรองรับ API เวอร์ชันดังกล่าวด้วย

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

กําลังอัปเดตไคลเอ็นต์ HTTP ดิบ

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

  • คําขอเวอร์ชันที่ไม่ใช่ค่าเริ่มต้น เพิ่มส่วนหัวเวอร์ชัน HTTP (GData-Version: X.0) ลงในคําขอ HTTP ทั้งหมดที่คุณส่ง โดย X คือ API เวอร์ชันที่รองรับฟีเจอร์ Google Data Protocol v2.0 หรือเพิ่มพารามิเตอร์การค้นหา (v=X.0) ลงใน URL ของทุกคําขอ โดยที่ X เป็น API เวอร์ชันที่ถูกต้องอีกครั้ง หากคุณไม่ระบุเวอร์ชันที่ใหม่กว่า ระบบจะส่งคําขอไปยัง API เวอร์ชันแรกสุดที่รองรับโดยค่าเริ่มต้น
  • การเกิดขึ้นพร้อมกันในแง่ดี หากใช้ API เวอร์ชันที่รองรับการเกิดขึ้นพร้อมกันอย่างเหมาะสม คุณอาจต้องเปลี่ยนการอัปเดตและลบโค้ดเพื่อใช้ ETag โปรดอ่านข้อมูลเพิ่มเติมที่ส่วน ETag ของเอกสารประกอบข้อมูลอ้างอิงของโปรโตคอลข้อมูลของ Google และอ่านส่วน "อัปเดตและลบ" ในคู่มือสําหรับนักพัฒนาซอฟต์แวร์เกี่ยวกับโปรโตคอลที่แอปพลิเคชันไคลเอ็นต์ของคุณใช้
  • แก้ไข URI ด้วยตนเอง หากไคลเอ็นต์ติดตามการแก้ไขด้วยตนเองหรือ URI สําหรับฟีดหรือรายการ โปรดทราบว่า URI เหล่านั้นอาจเปลี่ยนแปลง หากต้องการ URI ใหม่ ให้ขอรายการอีกครั้งโดยใช้ URI เก่า แต่ทําเครื่องหมายคําขอเป็นคําขอเวอร์ชัน X.0 โดยที่ X คือ API เวอร์ชันที่รองรับฟีเจอร์ Google Data Protocol v2.0 เซิร์ฟเวอร์จะส่งคืนรายการใหม่ รวมถึง URI ใหม่ ซึ่งคุณสามารถจัดเก็บแทนที่รายการเก่าได้
  • URI เนมสเปซ หากไคลเอ็นต์จัดเก็บ URI เนมสเปซของ Google Data Protocol API ไว้ในเครื่องของคุณเอง หรือฮาร์ดโค้ดไว้ คุณจะต้องอัปเดตสิ่งต่อไปนี้
    • เนมสเปซเนมสเปซ AtomPub (คํานําหน้า app) เปลี่ยนจาก http://purl.org/atom/app เป็น http://www.w3.org/2007/app
    • เนมสเปซใน SearchSearch (คํานําหน้า openSearch) เปลี่ยนจาก http://a9.com/-/spec/opensearchrss/1.0/ เป็น http://a9.com/-/spec/opensearch/1.1/