User Deletion API - การให้สิทธิ์

คำแนะนำนี้จะอธิบายวิธีที่แอปพลิเคชันให้สิทธิ์คำขอไปยัง User Deletion API

การให้สิทธิ์คำขอ

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

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

เกี่ยวกับโปรโตคอลการให้สิทธิ์

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

การให้สิทธิ์คำขอด้วย OAuth 2.0

คำขอทั้งหมดที่ส่งไปยัง Analytics API ต้องได้รับอนุญาตจากผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

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

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

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

ข้อมูลขอบเขตของ OAuth 2.0 สำหรับ Analytics API มีดังนี้

ขอบเขต ความหมาย
https://www.googleapis.com/auth/analytics.user.deletion ลบข้อมูลโดยใช้ User Deletion API

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

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

ขั้นตอนทั่วไปของ OAuth 2.0

รายการต่อไปนี้แสดงกรณีการใช้งานทั่วไปสำหรับขั้นตอน OAuth 2.0 ที่เฉพาะเจาะจง

เว็บเซิร์ฟเวอร์

ขั้นตอนนี้จะเหมาะสำหรับการเข้าถึงข้อมูล Google Analytics ของผู้ใช้แบบอัตโนมัติ แบบออฟไลน์ หรือตามกำหนดการ

เช่น

  • การอัปเดตหน้าแดชบอร์ดผู้ใช้ด้วยข้อมูล Google Analytics ล่าสุดโดยอัตโนมัติ

ฝั่งไคลเอ็นต์

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

เช่น

  • เครื่องมือการรายงานที่ทำงานบนเบราว์เซอร์ เช่น Analytics Query Explorer

แอปพลิเคชันที่ติดตั้ง

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

ตัวอย่าง

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

บัญชีบริการ

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

หากต้องการเริ่มต้นใช้งาน Analytics API คุณต้องใช้เครื่องมือตั้งค่าก่อน ซึ่งจะแนะนำขั้นตอนการสร้างโปรเจ็กต์ในคอนโซล Google API, การเปิดใช้ API ดังกล่าว และสร้างข้อมูลเข้าสู่ระบบ

วิธีตั้งค่าบัญชีบริการใหม่มีดังนี้

  1. คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์บัญชีบริการ
  2. เลือกว่าจะดาวน์โหลดคีย์สาธารณะ/ส่วนตัวของบัญชีบริการเป็นไฟล์ P12 มาตรฐาน หรือเป็นไฟล์ JSON ที่โหลดโดยไลบรารีของไคลเอ็นต์ Google API ได้

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

การแก้ปัญหา

การให้สิทธิ์ของคุณไม่สำเร็จในสถานการณ์ต่อไปนี้

  • คุณจะได้รับรหัสสถานะ 401 หาก access_token หมดอายุแล้ว หรือหากคุณใช้ขอบเขตที่ไม่ถูกต้องสำหรับ API

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

สนามเด็กเล่น OAuth 2.0

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

การให้สิทธิ์ไม่ถูกต้อง

เมื่อพยายามใช้โทเค็นการรีเฟรช ข้อผิดพลาดต่อไปนี้จะแสดงข้อผิดพลาด invalid_grant

แอปพลิเคชันสามารถขอโทเค็นการรีเฟรชได้หลายรายการเพื่อเข้าถึงบัญชี Google Analytics บัญชีเดียว

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

ขีดจำกัดสำหรับไคลเอ็นต์ OAuth 2.0 แต่ละคู่และบัญชี Google Analytics ที่ไม่ซ้ำกันคือ โทเค็นการรีเฟรช 25 รายการ หากแอปพลิเคชันยังคงขอโทเค็นการรีเฟรชสำหรับคู่ลูกค้า/บัญชีเดียวกัน เมื่อมีการออกโทเค็นรายการที่ 26 โทเค็นการรีเฟรชครั้งที่ 1 ที่ออกไปก่อนหน้านี้จะใช้งานไม่ได้ โทเค็นการรีเฟรชที่ขอครั้งที่ 27 จะทำให้โทเค็นที่ 2 ที่ออกก่อนหน้านี้แล้วใช้งานไม่ได้