การตรวจสอบสิทธิ์และการให้สิทธิ์ในโปรโตคอลข้อมูลของ Google

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

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

บริการตรวจสอบสิทธิ์ช่วยให้ผู้ใช้ลงชื่อเข้าใช้แอปพลิเคชันได้โดยใช้บัญชี Google

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

บริการการตรวจสอบสิทธิ์และการให้สิทธิ์มักจะเรียกรวมกันว่าการตรวจสอบสิทธิ์

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

  • Google Sign-In เป็นวิธีง่ายๆ ที่จะช่วยให้ผู้คนใช้ข้อมูลเข้าสู่ระบบ Google เพื่อลงชื่อเข้าใช้เว็บไซต์ของคุณ ซึ่งประกอบด้วยชุดเครื่องมือที่ผสานรวมได้อย่างง่ายดายในอุปกรณ์ต่างๆ
  • OAuth 2.0 เป็นโปรโตคอลการให้สิทธิ์สําหรับ Google API ทั้งหมด OAuth 2.0 อาศัย SSL เพื่อความปลอดภัยแทนที่จะกําหนดให้แอปพลิเคชันของคุณต้องมีการเข้ารหัสแบบเข้ารหัสโดยตรง โปรโตคอลนี้ช่วยให้แอปพลิเคชันของคุณขอเข้าถึงข้อมูลที่เชื่อมโยงกับบัญชี Google ของผู้ใช้ได้
  • เข้าสู่ระบบด้วย OAuth 2.0 (OpenID Connect) ตรวจสอบสิทธิ์ผู้ใช้โดยให้ผู้ใช้เข้าสู่ระบบด้วยบัญชี Google รหัสนี้จะแทนที่สําหรับ OpenID และผู้ใช้ OpenID ควรวางแผนที่จะย้ายข้อมูลไปยังการเข้าสู่ระบบด้วย OAuth 2.0

ถ้าแอปพลิเคชันของคุณเป็นแกดเจ็ต (สําหรับการใช้งานใน iGoogle หรือคอนเทนเนอร์ OpenSocial อื่นๆ) โปรดดูส่วนการตรวจสอบสิทธิ์สําหรับแกดเจ็ต

หมายเหตุ: เอกสารนี้มีวัตถุประสงค์เพื่อให้ภาพรวมของวิธีการตรวจสอบสิทธิ์แต่ละวิธี โปรดดูข้อมูลโดยละเอียดเกี่ยวกับวิธีต่างๆ ในเอกสารประกอบฉบับเต็มของ Google Account Authentication API

โปรดดูกลุ่ม Google Accounts API เพื่อพูดคุยเกี่ยวกับการใช้ Google Accounts API

OAuth - การให้สิทธิ์สําหรับเว็บและแอปพลิเคชันที่ติดตั้งไว้

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

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

OAuth 2.0 สําหรับเว็บและแอปพลิเคชันที่ติดตั้งไว้

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

OAuth 1.0 สําหรับเว็บแอปพลิเคชัน

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

OAuth 1.0 สําหรับแอปพลิเคชันที่ติดตั้งไว้

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

การใช้ OAuth กับเว็บแอปพลิเคชัน

Google Data API ทั้งหมดรองรับ OAuth ซึ่งเป็นมาตรฐานแบบเปิดสําหรับอนุญาตให้ใช้ข้อมูลในเว็บแอปพลิเคชัน เว็บแอปพลิเคชันทั้งหมดที่ส่งคําขอ OAuth ต้องอัปโหลดใบรับรองความปลอดภัยและลงทะเบียนกับ Google โปรดดูข้อมูลเพิ่มเติมที่การลงทะเบียนสําหรับแอปพลิเคชันบนเว็บ

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

ขั้นตอนการให้สิทธิ์ OAuth

ขั้นตอนการให้สิทธิ์ OAuth จะใช้ชุดการโต้ตอบระหว่างเว็บแอปพลิเคชัน, เซิร์ฟเวอร์การให้สิทธิ์ของ Google และผู้ใช้ปลายทาง

ในระดับพื้นฐาน ขั้นตอนมีดังนี้

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

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

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

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

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

เตรียมพร้อมสําหรับ OAuth

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

ตัดสินใจว่าจะลงทะเบียนเว็บแอปพลิเคชันของคุณหรือไม่

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

แอปพลิเคชันของคุณต้องลงนามคําขอ OAuth แต่ละรายการที่สร้างขึ้น หากคุณเลือกที่จะใช้ลายเซ็น RSA-SHA1 เพื่อลงนามคําขอ คุณต้องอัปโหลดใบรับรองความปลอดภัยในกระบวนการลงทะเบียนนี้

หรือจะใช้ลายเซ็น HMAC-SHA1 เพื่อลงนามคําขอก็ได้ โดยไม่จําเป็นต้องมีใบรับรองสําหรับลายเซ็น HMAC-SHA1 แต่ Google จะสร้างค่า consumer secret ของ OAuth และแสดงไว้ในหน้าการจดทะเบียนของโดเมนหลังจากที่คุณลงทะเบียนแล้ว

ดูข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการลงทะเบียนได้ที่การลงทะเบียนสําหรับเว็บแอปพลิเคชัน

การกําหนดขอบเขตข้อมูลที่แอปพลิเคชันจะเข้าถึง

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

โดยทั่วไป คุณควรขอโทเค็นสําหรับขอบเขตที่แคบที่สุดที่มีข้อมูลที่คุณต้องการ เช่น หากแอปพลิเคชันของคุณต้องการเข้าถึงฟีด "ปฏิทินทั้งหมด" ของผู้ใช้ คุณควรขอโทเค็นสําหรับขอบเขต http://www.google.com/calendar/feeds/default/allcalendars/full

การตั้งค่ากลไกในการจัดการโทเค็น OAuth

เมื่อได้รับโทเค็นเพื่อการเข้าถึง OAuth สําหรับข้อมูลของผู้ใช้ คุณต้องใช้โทเค็นเพื่อการเข้าถึงนั้นสําหรับการโต้ตอบในอนาคตทั้งหมดกับบริการ Google ที่ระบุในนามของผู้ใช้

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

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

การตั้งค่ากลไกเพื่อส่งคําขอเข้าถึงบริการของ Google

คําขอแต่ละรายการที่ส่งไปยังบริการของ Google ต้องมีลายเซ็นและต้องมีโทเค็นเพื่อการเข้าถึง OAuth ที่ถูกต้อง โดยทั่วไปแล้ว คําขอแต่ละรายการสร้างขึ้นในรูปแบบคําขอ HTTP GET โดยมีโทเค็นเพื่อการเข้าถึงและลายเซ็นอยู่ในส่วนหัว คําขอที่เขียนข้อมูลใหม่ควรใช้ HTTP POST

ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบคําขอที่ถูกต้องสําหรับ Google Data API แต่ละรายการได้ในเอกสารประกอบของ API นั้นๆ

การใช้ OpenID (ไม่บังคับ)

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

การทํางานกับโทเค็น OAuth

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

  1. รับโทเค็นคําขอที่ไม่ได้รับอนุญาต (OAuthGetRequestToken)
  2. ให้สิทธิ์โทเค็นคําขอ (OAuthAuthorizeToken)
  3. แลกเปลี่ยนโทเค็นคําขอที่ได้รับอนุญาตสําหรับโทเค็นเพื่อการเข้าถึง (OAuthGetAccessToken)

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

คุณทดสอบเพื่อขอและขอโทเค็นการให้สิทธิ์ได้ใน OAuth Playground

ดูเอกสารประกอบโดยละเอียดได้ที่เอกสารอ้างอิง OAuth API

การตั้งค่า URL เรียกกลับ

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

เช่น เมื่อรองรับหลายภาษา คุณใส่พารามิเตอร์การค้นหาที่ระบุเวอร์ชันของแอปพลิเคชันที่ผู้ใช้กําลังดูได้ ค่า oauth_callback เป็น "http://www.yoursite.com/Fetchtoken?Lang=de จะส่งผลให้มีการเปลี่ยนเส้นทาง "http://www.yoursite.com/Fetchtoken?Lang=de&oauth_token=DQAADKEDE" การแยกวิเคราะห์โทเค็นและพารามิเตอร์ภาษาจะช่วยให้ระบบเปลี่ยนเส้นทางผู้ใช้กลับไปยังเวอร์ชันที่ถูกต้องของเว็บไซต์

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

การระบุแอปพลิเคชันของคุณแก่ผู้ใช้

โดยทั่วไป Google จะแสดงชื่อแอปพลิเคชันเมื่อขอความยินยอมจากผู้ใช้ (ดูตัวอย่าง)

หากไม่มีการลงทะเบียนแอปพลิเคชัน ให้ใช้พารามิเตอร์ xoauth_displayname ในคําขอ OAuthGetRequestToken เพื่อระบุชื่อแอปพลิเคชัน หากไม่ได้ระบุพารามิเตอร์นั้น Google จะแสดงชื่อโดเมนของ URL ที่พารามิเตอร์ oauth_callback ระบุไว้ หากไม่ได้ระบุ URL เรียกกลับ Google จะแสดงสตริงว่า "ไม่ระบุชื่อ"

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

หมายเหตุ: หากต้องการตั้งค่าพารามิเตอร์ xoauth_displayname ใน PlayPlayground ให้เลือกช่อง "ขั้นสูง" ก่อนดึงข้อมูลโทเค็นคําขอ

การทํางานกับโดเมน Google Apps

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

ข้อมูลเพิ่มเติมเกี่ยวกับ OAuth

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

กลับไปด้านบน

การใช้ OAuth กับแอปพลิเคชันที่ติดตั้งไว้

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

ขั้นตอนการให้สิทธิ์ OAuth

ขั้นตอนการให้สิทธิ์ OAuth จะใช้ชุดการโต้ตอบระหว่างแอปพลิเคชันของคุณ เซิร์ฟเวอร์การให้สิทธิ์ของ Google และผู้ใช้ปลายทาง

ในระดับพื้นฐาน ขั้นตอนมีดังนี้

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

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

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

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

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

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

เตรียมพร้อมสําหรับ OAuth

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

การกําหนดขอบเขตข้อมูลที่แอปพลิเคชันจะเข้าถึง

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

โดยทั่วไป คุณควรขอโทเค็นสําหรับขอบเขตที่แคบที่สุดที่มีข้อมูลที่คุณต้องการ เช่น หากแอปพลิเคชันของคุณต้องการเข้าถึงฟีด "ปฏิทินทั้งหมด" ของผู้ใช้ คุณควรขอโทเค็นสําหรับขอบเขต http://www.google.com/calendar/feeds/default/allcalendars/full

การตั้งค่ากลไกในการจัดการโทเค็น OAuth

เมื่อได้รับโทเค็นเพื่อการเข้าถึง OAuth สําหรับข้อมูลของผู้ใช้ คุณต้องใช้โทเค็นเพื่อการเข้าถึงนั้นสําหรับการโต้ตอบในอนาคตทั้งหมดกับบริการ Google ที่ระบุในนามของผู้ใช้

แอปพลิเคชันของคุณควรจัดการพื้นที่เก็บข้อมูลโทเค็นอย่างปลอดภัย รวมถึงการติดตามบริการของ Google ที่โทเค็นแต่ละรายการใช้ได้

หากแอปพลิเคชันของคุณรองรับบัญชีผู้ใช้หลายบัญชี คุณต้องติดตามว่าโทเค็นแต่ละรายการเชื่อมโยงกับบัญชีใด

การตั้งค่ากลไกเพื่อส่งคําขอเข้าถึงบริการของ Google

คําขอแต่ละรายการที่ส่งไปยังบริการของ Google ต้องมีลายเซ็นและต้องมีโทเค็นเพื่อการเข้าถึง OAuth ที่ถูกต้อง โดยทั่วไปแล้ว คําขอแต่ละรายการสร้างขึ้นในรูปแบบคําขอ HTTP GET โดยมีโทเค็นเพื่อการเข้าถึงและลายเซ็นอยู่ในส่วนหัว คําขอที่เขียนข้อมูลใหม่ควรใช้ HTTP POST

ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบคําขอที่ถูกต้องสําหรับ Google Data API แต่ละรายการได้ในเอกสารประกอบของ API นั้นๆ

การทํางานกับโทเค็น OAuth

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

  1. รับโทเค็นคําขอที่ไม่ได้รับอนุญาต (OAuthGetRequestToken)
  2. ให้สิทธิ์โทเค็นคําขอ (OAuthAuthorizeToken)
  3. แลกเปลี่ยนโทเค็นคําขอที่ได้รับอนุญาตสําหรับโทเค็นเพื่อการเข้าถึง (OAuthGetAccessToken)

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

คุณทดสอบเพื่อขอและขอโทเค็นการให้สิทธิ์ได้ใน OAuth Playground

ดูเอกสารประกอบโดยละเอียดได้ที่เอกสารอ้างอิง OAuth API

การระบุแอปพลิเคชันของคุณแก่ผู้ใช้

โดยทั่วไป Google จะแสดงชื่อแอปพลิเคชันเมื่อขอความยินยอมจากผู้ใช้ (ดูตัวอย่าง)

ใช้พารามิเตอร์ xoauth_displayname ในคําขอ OAuthGetRequestToken เพื่อระบุชื่อแอปพลิเคชัน หากไม่ได้ระบุพารามิเตอร์นั้น Google จะแสดงชื่อโดเมนของ URL ที่พารามิเตอร์ oauth_callback ระบุไว้ หากไม่ได้ระบุ URL เรียกกลับ Google จะแสดงสตริงว่า "ไม่ระบุชื่อ"

หมายเหตุ: หากต้องการตั้งค่าพารามิเตอร์ xoauth_displayname ใน PlayPlayground ให้เลือกช่อง "ขั้นสูง" ก่อนดึงข้อมูลโทเค็นคําขอ

การเปิดตัวเว็บเบราว์เซอร์

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

  • ควรใช้โหมด AutoDetect สําหรับแอปพลิเคชันส่วนใหญ่
  • ควรใช้โหมดอุปกรณ์สําหรับแอปพลิเคชันที่เปิดเว็บเบราว์เซอร์เต็มรูปแบบไม่ได้
  • ควรใช้โหมดการพัฒนาระหว่างการพัฒนาก่อนเปิดตัวเท่านั้น

โหมด AutoDetect

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

โหมดนี้กําหนดให้คุณต้องระบุ URL เรียกกลับที่ผู้ใช้จะเปลี่ยนเส้นทางหลังจากที่ผู้ใช้ให้สิทธิ์การเข้าถึงของคุณ ต้องระบุ URL นี้เป็นพารามิเตอร์ oauth_callback ของคําขอ OAuthGetRequestToken และแสดงเป็นพารามิเตอร์ verifier ของคําขอ OAuthGetAccessToken

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

สําหรับข้อมูลเพิ่มเติมและแนวทางปฏิบัติแนะนํา โปรดดูที่การตรวจหาการอนุมัติโดยอัตโนมัติ

หากแอปพลิเคชันตรวจไม่พบโดยอัตโนมัติเมื่อมีการเปลี่ยนเส้นทางผู้ใช้ไปยัง URL เรียกกลับหรือนําตัวเองไปที่เบื้องหน้า URL เรียกกลับควรแสดงหน้าเว็บอธิบายวิธีนําแอปพลิเคชันไปยังเบื้องหน้า และวิธีเริ่มต้นคําขอ OAuthGetAccessToken จากในแอปพลิเคชัน

โหมดอุปกรณ์

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

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

โหมดนักพัฒนาซอฟต์แวร์

โหมดนี้แนะนําให้ใช้ในช่วงการพัฒนาแอปพลิเคชันช่วงแรกเท่านั้น

เช่นเดียวกับในโหมด AutoDetect แอปพลิเคชันของคุณต้องเปิดเบราว์เซอร์ และผู้ใช้ต้องให้สิทธิ์ตามคําขอของคุณ อย่างไรก็ตาม คุณตั้งค่าพารามิเตอร์ oauth_callback เป็น "oob" (นอกย่านความถี่) แทนการสร้างหน้าเว็บสําหรับ URL เรียกกลับได้

ในกรณีดังกล่าว หลังจากที่ผู้ใช้อนุมัติคําขอแล้ว Google จะนําผู้ใช้ไปยังหน้าบัญชี Google ที่แสดงหมายเลขยืนยัน (ดูตัวอย่าง)

ผู้ใช้ต้องกลับไปที่แอปพลิเคชันและป้อนหมายเลขการยืนยันก่อนที่คุณจะส่งคําขอ OAuthGetAccessToken ได้

ข้อมูลเพิ่มเติมเกี่ยวกับ OAuth

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

กลับไปด้านบน

การใช้ AuthSub สําหรับการให้สิทธิ์

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

ขั้นตอนการให้สิทธิ์ AuthSub

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

ขั้นตอนการให้สิทธิ์

  1. เมื่อเว็บแอปพลิเคชันต้องการเข้าถึงบริการของ Google ของผู้ใช้ ก็จะเรียกใช้ AuthSub ไปยังบริการพร็อกซีการให้สิทธิ์ของ Google
  2. บริการให้สิทธิ์จะตอบสนองด้วยการแสดงหน้าคําขอเข้าถึง หน้าที่จัดการโดย Google นี้จะแจ้งให้ผู้ใช้ให้สิทธิ์/ปฏิเสธการเข้าถึงบริการของ Google ระบบอาจขอให้ผู้ใช้ลงชื่อเข้าใช้บัญชีก่อน
  3. ผู้ใช้เลือกได้ว่าจะให้สิทธิ์หรือปฏิเสธการเข้าถึงเว็บแอปพลิเคชัน หากผู้ใช้ปฏิเสธการเข้าถึง ระบบจะนําผู้ใช้ไปยังหน้า Google แทนกลับไปยังเว็บแอปพลิเคชัน
  4. หากผู้ใช้ให้สิทธิ์เข้าถึง บริการการให้สิทธิ์จะเปลี่ยนเส้นทางผู้ใช้กลับไปยังเว็บแอปพลิเคชัน การเปลี่ยนเส้นทางมีโทเค็นการให้สิทธิ์ที่เหมาะสําหรับการใช้งาน 1 อย่าง โดยสามารถแลกเปลี่ยนกับโทเค็นที่มีอายุการใช้งานยาวนาน
  5. เว็บแอปพลิเคชันจะติดต่อบริการของ Google ด้วยคําขอโดยใช้โทเค็นการให้สิทธิ์เพื่อทําหน้าที่เป็นตัวแทนของผู้ใช้
  6. หากบริการของ Google รู้จักโทเค็น ก็จะให้ข้อมูลที่ขอ

การทํางานกับ AuthSub

การรวม AuthSub เข้ากับเว็บแอปพลิเคชันต้องใช้งานต่อไปนี้

  1. เลือกว่าจะลงทะเบียนเว็บแอปพลิเคชันของคุณหรือไม่

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

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

  2. เลือกประเภทโทเค็นที่จะใช้และวิธีจัดการโทเค็น

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

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

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

  3. กําหนดขอบเขตที่บริการของ Google ที่ต้องการเข้าถึง

    บริการแต่ละอย่างของ Google จะกําหนดประเภทและสิทธิ์เข้าถึงที่อนุญาต การเข้าถึงนี้เป็นค่าขอบเขต ขอบเขตของบริการอาจเป็น URL แบบง่ายที่ระบุบริการทั้งหมดหรืออาจระบุการเข้าถึงที่จํากัดมากกว่า บริการบางอย่างจํากัดการเข้าถึงอย่างเข้มงวด เช่น การอนุญาตให้เข้าถึงข้อมูลแบบจํากัดในระดับอ่านอย่างเดียว หากต้องการทราบขอบเขตที่อนุญาตสําหรับบริการ Google ที่ต้องการเข้าถึง โปรดดูเอกสารประกอบของบริการนั้น คุณควรขอโทเค็นที่มีขอบเขตจํากัดที่สุด ตัวอย่างเช่น หากคุณพยายามเข้าถึงฟีเจอร์ฟีด Atom ของ Gmail ให้ใช้ขอบเขต "http://www.google.com/calendar/feeds/" ไม่ใช่ "http://www.google.com/calendar/" บริการของ Google จะเข้มงวดมากขึ้นเมื่อส่งคําขอขอบเขตขนาดใหญ่

  4. ตั้งค่ากลไกเพื่อขอและรับโทเค็นการให้สิทธิ์

    กลไกต้องสร้างการเรียก AuthSubRequest ที่มีรูปแบบถูกต้อง รวมถึงการระบุค่า URL ถัดไปและขอบเขตที่เหมาะสม (กําหนดในขั้นตอนที่ 3) หากคุณใช้โทเค็นที่ปลอดภัยและ/หรือจัดการโทเค็นเซสชัน คําขอต้องใส่ค่าสําหรับตัวแปรเหล่านี้ด้วย

    URL ถัดไปอาจมีพารามิเตอร์การค้นหา เช่น เมื่อรองรับหลายภาษา ให้ใส่พารามิเตอร์การค้นหาที่ระบุเวอร์ชันของเว็บแอปพลิเคชันที่ผู้ใช้กําลังดูอยู่ ค่า next ของ http://www.yoursite.com/Retrievetoken?Lang=de จะส่งผลให้เกิดการเปลี่ยนเส้นทาง http://www.yoursite.com/Retrievetoken?Lang=de&token=DQAADKEDE การแยกวิเคราะห์โทเค็นและพารามิเตอร์ Lang ช่วยให้มั่นใจว่าระบบจะเปลี่ยนเส้นทางผู้ใช้กลับไปยังเว็บไซต์เวอร์ชันที่ถูกต้อง

    ในบางกรณี การใช้พารามิเตอร์ hd จะช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีขึ้นเมื่อขอสิทธิ์เข้าถึงเว็บไซต์บัญชี Google ในกรณีส่วนใหญ่ กระบวนการดังกล่าวถือเป็นวิธีง่ายๆ ในการเข้าสู่ระบบบัญชีและเลือกได้ว่าจะให้สิทธิ์การเข้าถึงหรือไม่ แต่ผู้ใช้ที่มีบัญชี Google มากกว่า 1 บัญชี (บัญชี Gmail ปกติและ/หรือบัญชีที่โฮสต์ของ Google Apps อย่างน้อย 1 บัญชี) อาจต้องทําตามขั้นตอน "การเข้าสู่ระบบแบบสากล" เพิ่มเติมเพื่อระบุบัญชีที่ต้องการเข้าถึง หากแอปพลิเคชันของคุณออกแบบมาสําหรับโดเมนที่มีการจัดการแห่งใดโดเมนหนึ่ง คุณสามารถกําจัดขั้นตอนเพิ่มเติมเหล่านี้ได้โดยใช้พารามิเตอร์นี้เพื่อระบุโดเมนดังกล่าว นอกจากนี้ คุณยังใช้พารามิเตอร์ hd ได้ หากแอปพลิเคชันเข้าถึงบริการที่ไม่มีในบัญชีที่โฮสต์ การตั้งค่าเป็น "ค่าเริ่มต้น" จะจํากัดการให้สิทธิ์เฉพาะบัญชีปกติเท่านั้น เมื่อกําหนดค่า hd แล้ว Google จะเลือกบัญชีที่ถูกต้องสําหรับการให้สิทธิ์โดยอัตโนมัติ

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

  5. ตั้งค่ากลไกเพื่อขอโทเค็นเซสชัน รวมถึงจัดเก็บหรือเพิกถอนโทเค็น (หากเกี่ยวข้อง)

    คุณอาจต้องสร้างกลไกเพื่อรับและเพิกถอนโทเค็นเซสชัน (AuthSubSessionToken และ AuthSubDebugToken) ทั้งนี้ขึ้นอยู่กับการตัดสินใจจัดการโทเค็นในขั้นตอนที่ 2 ในการทดสอบกลไกของเซสชันและการเพิกถอน ให้ใช้ AuthSubTokenInfo ซึ่งระบุว่าโทเค็นที่ระบุถูกต้องหรือไม่ หากจัดเก็บโทเค็น แอปพลิเคชันจะต้องติดตามทั้ง User ID และบริการ (ขอบเขต) ที่อยู่ภายใต้โทเค็น

  6. ตั้งค่ากลไกเพื่อขอสิทธิ์เข้าถึงบริการของ Google

    โปรดดูข้อมูลรูปแบบคําขอที่เหมาะสมในเอกสารประกอบของบริการของ Google คําขอที่ส่งไปยังบริการของ Google ทั้งหมดต้องมีโทเค็นการให้สิทธิ์ที่ถูกต้อง โดยทั่วไป คําขอไปยังบริการของ Google จะอยู่ในรูปแบบ HTTP GET (หรือ POST หากเขียนข้อมูลใหม่) พร้อมด้วยโทเค็นที่อ้างอิงในส่วนหัวของคําขอ

    ส่วนหัวของคําขอควรมีรูปแบบต่อไปนี้

    Authorization: AuthSub token="token"

    โดยที่ token คือโทเค็นการให้สิทธิ์ ใช้ครั้งเดียว หรือเซสชันที่ได้รับจาก Google ตามคําขอ AuthSub หากโทเค็นปลอดภัย ต้องมีลายเซ็นดิจิทัลด้วย ดูวิธีการและตัวอย่างได้ที่ "คําขอลงนาม"

    ตัวอย่างด้านล่างแสดงส่วนหัวของคําขอที่ส่งไปยังบริการฟีดของ Google ปฏิทิน คําขอนี้มีโทเค็นที่ไม่ปลอดภัย:

    GET /calendar/feeds/default/private/full HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    Authorization: AuthSub token="GD32CMCL25aZ-v____8B"
    User-Agent: Java/1.5.0_06
    Host: www.google.com
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Connection: keep-alive

ข้อมูลเพิ่มเติมเกี่ยวกับ AuthSub

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

กลับไปด้านบน

การใช้ ClientLogin สําหรับการให้สิทธิ์

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

การตรวจสอบสิทธิ์สําหรับแอปพลิเคชันที่ติดตั้งไว้: ClientLogin

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

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

ขั้นตอนการให้สิทธิ์ ClientLogin

การให้สิทธิ์ด้วย ClientLogin เกี่ยวข้องกับลําดับการโต้ตอบระหว่างเอนทิตี 3 ส่วน ได้แก่ แอปพลิเคชันที่ติดตั้งไว้ บริการของ Google และผู้ใช้ แผนภาพนี้แสดงลําดับต่อไปนี้

ขั้นตอนการให้สิทธิ์

  1. เมื่อแอปพลิเคชันของบุคคลที่สามต้องการเข้าถึงบริการของ Google ของผู้ใช้ ระบบจะเรียกชื่อสําหรับการเข้าสู่ระบบและรหัสผ่านของผู้ใช้
  2. จากนั้นแอปพลิเคชันของบุคคลที่สามจะเรียกใช้ ClientLogin ไปยังบริการการให้สิทธิ์ของ Google
  3. หากบริการการให้สิทธิ์ของ Google ตัดสินว่าต้องมีการตรวจสอบเพิ่มเติม บริการดังกล่าวจะตอบกลับคําขอด้วยโทเค็น CAPTCHA ไม่สําเร็จพร้อมด้วยรูปแบบ URL สําหรับรูปภาพ CAPTCHA
  4. หากได้รับคําถามจาก CAPTCHA แอปพลิเคชันของบุคคลที่สามจะแสดงรูปภาพ CAPTCHA สําหรับผู้ใช้และขอคําตอบจากผู้ใช้
  5. หากผู้ใช้ส่งคําตอบสําหรับคําถาม CAPTCHA
  6. แอปพลิเคชันของบุคคลที่สามจะเรียกใช้ ClientLogin ใหม่ ซึ่งครั้งนี้จะรวมถึงการตอบกลับและโทเค็น CAPTCHA (ได้รับพร้อมกับการตอบกลับที่ล้มเหลว)
  7. เมื่อเข้าสู่ระบบสําเร็จ (โดยมีหรือไม่มี CAPTCHA) บริการการให้สิทธิ์ของ Google จะแสดงโทเค็นไปยังแอปพลิเคชัน
  8. แอปพลิเคชันจะติดต่อบริการของ Google ด้วยคําขอเข้าถึงข้อมูล โดยอ้างอิงโทเค็นที่ได้รับจากบริการการให้สิทธิ์ของ Google
  9. หากบริการของ Google รู้จักโทเค็น ก็แสดงว่ามีการเข้าถึงข้อมูลที่ขอ

การใช้ ClientLogin

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

การติดตั้งใช้งาน ClientLogin ในแอปพลิเคชันต้องใช้งานต่อไปนี้

  1. สร้างองค์ประกอบ UI เพื่อบันทึกข้อมูลการเข้าสู่ระบบจากผู้ใช้

    UI จําเป็นต้องขอชื่อผู้ใช้ (อีเมลที่มีโดเมน) และรหัสผ่าน UI ยังควรแสดงรูปภาพ CAPTCHA โดยใช้ URL ที่ได้รับจาก Google ได้หากจําเป็น และรวบรวมคําตอบที่ถูกต้องจากผู้ใช้ ตามหลักการแล้ว UI จะมีลิงก์ไปยังหน้าการเข้าสู่ระบบของบัญชี Google ("https://www.google.com/accounts/Login") ในกรณีที่ผู้ใช้ต้องลงชื่อสมัครใช้บัญชีใหม่หรือบํารุงรักษาบัญชีอื่นๆ

  2. เขียนโค้ดเพื่อสร้างคําขอ HTTPS POST ClientLogin ที่มีรูปแบบถูกต้อง แล้วส่ง

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

  3. จัดการคําตอบจาก Google

    คําขอเข้าสู่ระบบมีคําตอบที่เป็นไปได้ 4 รูปแบบ ได้แก่

    • เสร็จสมบูรณ์ (HTTP 200)
    • ข้อผิดพลาด (HTTP 403) ที่มีรหัสข้อผิดพลาดเกี่ยวกับคําอธิบาย
    • คําขอไม่ถูกต้อง ซึ่งโดยทั่วไปแล้วเกิดจากคําขอที่ผิดรูปแบบ
    • แสดงคําถาม CAPTCHA ไม่สําเร็จ

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

    การตอบกลับที่ล้มเหลวประกอบด้วยรหัสข้อผิดพลาดอย่างน้อย 1 รายการและ URL ที่มีข้อความแสดงข้อผิดพลาดที่แสดงให้ผู้ใช้ได้ โปรดทราบว่า ClientLogin ไม่แยกความแตกต่างระหว่างการทํางานไม่สําเร็จเนื่องจากรหัสผ่านไม่ถูกต้องหรือรหัสผ่านที่ไม่ถูกต้องเนื่องจากชื่อผู้ใช้ที่ไม่รู้จัก (เช่น หากผู้ใช้ยังไม่ได้ลงชื่อสมัครใช้บัญชี) แอปพลิเคชันของคุณจําเป็นต้องจัดการกับข้อความแสดงข้อผิดพลาดที่เป็นไปได้ทั้งหมดตามความเหมาะสม

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

  4. จัดการคําถาม CAPTCHA จาก Google

    แอปพลิเคชันต้องแสดงรูปภาพ CAPTCHA และชักชวนคําตอบจากผู้ใช้เพื่อจัดการความท้าทาย หากต้องการแสดงรูปภาพ CAPTCHA ให้ใช้ค่าของ CaptchaUrl ที่ส่งคืนมาโดยมีการตอบสนองล้มเหลว ขึ้นต้นด้วย URL ของบัญชี Google ดังนี้ "http://www.google.com/accounts/" เมื่อผู้ใช้ให้คําตอบ แอปพลิเคชันควรส่งคําขอเข้าสู่ระบบอีกครั้งในครั้งนี้ ซึ่งรวมถึงโทเค็น CAPTCHA (logintoken) และคําตอบของผู้ใช้ (logincaptcha) Google จะตรวจสอบคําตอบของผู้ใช้ก่อนที่จะให้สิทธิ์เข้าถึงบัญชี

    มีอีกทางเลือกหนึ่งสําหรับนักพัฒนาแอปที่ไม่ต้องการจัดการกระบวนการรับและส่งการตอบกลับ CAPTCHA ของผู้ใช้ ด้วยการตอบกลับ CAPTCHA แอปพลิเคชันจะนําผู้ใช้ไปยังหน้าที่โฮสต์โดย Google ได้ที่ "https://www.google.com/accounts/Display UnlockCaptcha" เมื่อผู้ใช้ตอบคําถามสําเร็จแล้ว เซิร์ฟเวอร์ Google จะเชื่อถือคอมพิวเตอร์ที่ใช้งานอยู่ แอปพลิเคชันจะส่งคําขอการเข้าสู่ระบบเดิมอีกครั้งเพื่อรับโทเค็นการให้สิทธิ์ได้

  5. หมายเหตุ: Google ไม่ตรวจสอบความพยายามในการเข้าสู่ระบบก่อนที่จะออกคําถาม CAPTCHA ซึ่งหมายความว่าการพยายามเข้าสู่ระบบอาจไม่สําเร็จ แม้จะทํา CAPTCHA ไม่สําเร็จ

* CAPTCHA เป็นเครื่องหมายการค้าของมหาวิทยาลัยคาร์เนกีเมลลอน

กลับไปด้านบน

การตรวจสอบสิทธิ์สําหรับแกดเจ็ต

พร็อกซี OAuth

หากคุณกําลังสร้างแกดเจ็ตโดยใช้ Gadgets API แบบมาตรฐาน คุณสามารถใช้ประโยชน์จากแพลตฟอร์มแพลตฟอร์มที่เรียกว่าพร็อกซี OAuth เพื่อเข้าถึง Google Data API ได้ OAuth (อธิบายไว้ข้างต้น) คือมาตรฐานการตรวจสอบสิทธิ์ที่อนุญาตให้ผู้ใช้เข้าถึงข้อมูลส่วนตัวในบริการโฮสติ้งของแกดเจ็ต เช่น iGoogle, MySpace หรือ orkut หรือแชร์ข้อมูลของตนกับเว็บไซต์หรือแกดเจ็ตอื่น พร็อกซี OAuth ได้รับการออกแบบมาเพื่อช่วยให้การพัฒนาสําหรับนักพัฒนาซอฟต์แวร์ง่ายขึ้น โดยซ่อนรายละเอียดการตรวจสอบสิทธิ์ของ OAuth จํานวนมาก พร็อกซีจะอิงตามโปรเจ็กต์โอเพนซอร์สชื่อ Shindig ซึ่งเป็นการใช้งานข้อกําหนดแกดเจ็ต

หมายเหตุ: ระบบจะรองรับพร็อกซี OAuth สําหรับแกดเจ็ตที่ใช้ gadgets.* API และเรียกใช้ในคอนเทนเนอร์ OpenSocial เท่านั้น ไม่รองรับ API ของแกดเจ็ตแบบเดิม

ขั้นตอนการตรวจสอบสิทธิ์

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

  1. แกดเจ็ตของคุณโหลดเป็นครั้งแรกและพยายามเข้าถึงข้อมูลของผู้ใช้โดยใช้ Google Data API
  2. คําขอล้มเหลวเพราะผู้ใช้ไม่ได้ให้สิทธิ์เข้าถึง ออบเจ็กต์การตอบกลับมี URL (ใน response.oauthApprovalUrl) สําหรับหน้าการอนุมัติ OAuth แกดเจ็ตของคุณควรมีวิธีเปิดหน้าต่างใหม่โดยใช้ URL นั้น
  3. ในหน้าการอนุมัติ ผู้ใช้จะเลือกให้สิทธิ์หรือไม่มีสิทธิ์เข้าถึงแกดเจ็ตของคุณ หากสําเร็จ ระบบจะนําผู้ใช้ไปยังหน้า oauth_callback ที่คุณระบุ โปรดใช้ http://oauth.gmodules.com/gadgets/oauthcallback เพื่อประสบการณ์ของผู้ใช้ที่ดีที่สุด
  4. ถัดไป ผู้ใช้ปิดหน้าต่างป๊อปอัป หากต้องการแจ้งแกดเจ็ตว่าผู้ใช้อนุมัติ คุณจะใช้เครื่องจัดการป๊อปอัปเพื่อตรวจจับการปิดหน้าต่างการอนุมัติได้ หรือแกดเจ็ตอาจแสดงลิงก์ (เช่น "ฉันอนุมัติการเข้าถึง") เพื่อให้ผู้ใช้คลิกหลังจากที่หน้าต่างนี้ปิดแล้ว
  5. แกดเจ็ตของคุณพยายามเข้าถึง Google Data API เป็นครั้งที่ 2 ด้วยการขอข้อมูลของผู้ใช้อีกครั้ง การดําเนินการนี้สําเร็จ
  6. แกดเจ็ตของคุณได้รับการตรวจสอบสิทธิ์และเริ่มทํางานตามปกติแล้ว

การตั้งค่าแกดเจ็ต

หากต้องการเข้าถึง Google Data API อย่างน้อย 1 รายการ คุณต้องแจ้งให้แกดเจ็ตใช้ OAuth เป็นวิธีการตรวจสอบสิทธิ์ก่อน เพิ่มองค์ประกอบ <OAuth> ในส่วน <ModulePrefs> ของ XML ของแกดเจ็ต

<ModulePrefs>
...
<OAuth>
  <Service name="google">
    <Access url="https://www.google.com/accounts/OAuthGetAccessToken" method="GET" />
    <Request url="https://www.google.com/accounts/OAuthGetRequestToken?
                  scope=http://www.blogger.com/feeds/%20http://www.google.com/calendar/feeds/" method="GET" />
    <Authorization url="https://www.google.com/accounts/OAuthAuthorizeToken?
                        oauth_callback=http://oauth.gmodules.com/gadgets/oauthcallback" />
  </Service>
</OAuth>
...
</ModulePrefs>

ในส่วนนี้ ให้เปลี่ยนเฉพาะพารามิเตอร์การค้นหาต่อไปนี้

scope
พารามิเตอร์ที่จําเป็นใน URL คําขอ แกดเจ็ตของคุณสามารถเข้าถึงข้อมูลจาก scope ที่ใช้ในพารามิเตอร์นี้ ในตัวอย่างนี้ แกดเจ็ตสามารถเข้าถึงข้อมูล Blogger และปฏิทิน แกดเจ็ตสามารถขอข้อมูลสําหรับขอบเขตเดียวหรือหลายขอบเขตได้ ดังตัวอย่างนี้
oauth_callback
พารามิเตอร์ที่ไม่บังคับใน URL การให้สิทธิ์ หน้าการอนุมัติ OAuth จะเปลี่ยนเส้นทางไปยัง URL นี้หลังจากที่ผู้ใช้อนุมัติการเข้าถึงข้อมูล คุณควรตั้งค่าพารามิเตอร์นี้เป็น http://oauth.gmodules.com/gadgets/oauthcallback เพื่อมอบประสบการณ์การใช้งานที่ดีที่สุดเมื่อผู้ใช้ติดตั้งแกดเจ็ตของคุณ หน้าดังกล่าวมีข้อมูลโค้ด JavaScript ที่ปิดหน้าต่างป๊อปอัปโดยอัตโนมัติ หรือคุณจะตั้งค่าพารามิเตอร์ให้ชี้ไปที่หน้า "อนุมัติ" ของคุณเองหรือปล่อยพารามิเตอร์ว่างไว้ก็ได้

การเข้าถึงฟีด Google Data API ที่ตรวจสอบสิทธิ์แล้ว

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

ข้อมูลเพิ่มเติมเกี่ยวกับแกดเจ็ต

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

กลับไปด้านบน