การให้สิทธิ์

คู่มือนี้อธิบายวิธีที่แอปพลิเคชันให้สิทธิ์คำขอไปยัง 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 ทั่วไป

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

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

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

ตัวอย่าง

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

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

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

ตัวอย่าง

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

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

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

ตัวอย่าง

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

บัญชีบริการ

บัญชีบริการมีประโยชน์สำหรับการเข้าถึงข้อมูล 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 Playground จากนั้นคุณจะเปรียบเทียบส่วนหัว HTTP และคำขอจาก Playground กับสิ่งที่แอปพลิเคชันส่งไปยัง Google Analytics ได้ การตรวจสอบนี้เป็นวิธีง่ายๆ ในการ ตรวจสอบว่าคุณจัดรูปแบบคำขออย่างถูกต้อง

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

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

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

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

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