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

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

ตัวอย่าง

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

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

ตัวอย่าง

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

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

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

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

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

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