คำแนะนำนี้จะอธิบายวิธีที่แอปพลิเคชันให้สิทธิ์คำขอไปยัง User Deletion API
การให้สิทธิ์คำขอ
ก่อนที่ผู้ใช้จะดูข้อมูลบัญชีของตนในเว็บไซต์ Google Analytics ได้ ผู้ใช้ต้องลงชื่อเข้าใช้บัญชี Google ของตนก่อน ในทำนองเดียวกัน เมื่อผู้ใช้เข้าถึงแอปพลิเคชันของคุณเป็นครั้งแรก ผู้ใช้จะต้องให้สิทธิ์แอปพลิเคชันในการเข้าถึงข้อมูลของตน
ทุกคำขอที่แอปพลิเคชันส่งไปยัง Analytics API จะต้องมีโทเค็นการให้สิทธิ์ โทเค็นดังกล่าวจะระบุตัวตนแอปพลิเคชันของคุณให้ Google ทราบด้วย
เกี่ยวกับโปรโตคอลการให้สิทธิ์
แอปพลิเคชันต้องใช้ OAuth 2.0 เพื่อให้สิทธิ์คำขอ ระบบไม่รองรับโปรโตคอลการให้สิทธิ์อื่นๆ หากแอปพลิเคชันใช้ลงชื่อเข้าใช้ด้วย Google ระบบจะจัดการการให้สิทธิ์บางส่วนแก่คุณ
การให้สิทธิ์คำขอด้วย OAuth 2.0
คำขอทั้งหมดที่ส่งไปยัง Analytics API ต้องได้รับอนุญาตจากผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
รายละเอียดของกระบวนการให้สิทธิ์หรือ "ขั้นตอน" ของ OAuth 2.0 จะแตกต่างกันไปโดยขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณเขียน แอปพลิเคชันทุกประเภทจะใช้กระบวนการทั่วไปต่อไปนี้
- เมื่อสร้างแอปพลิเคชัน คุณจะลงทะเบียนแอปได้โดยใช้คอนโซล Google API จากนั้น Google จะให้ข้อมูลที่คุณต้องใช้ในภายหลัง เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
- เปิดใช้งาน Analytics API ในคอนโซล Google API (หากไม่เห็น API ดังกล่าวในคอนโซล API ให้ข้ามขั้นตอนนี้ไป)
- เมื่อแอปพลิเคชันต้องการเข้าถึงข้อมูลผู้ใช้ แอปจะขอขอบเขตการเข้าถึงที่จำเป็นจาก Google
- Google จะแสดงหน้าจอขอคำยินยอมแก่ผู้ใช้เพื่อขอให้ผู้ใช้ให้สิทธิ์แอปพลิเคชันของคุณในการขอข้อมูลบางอย่างของผู้ใช้
- หากผู้ใช้อนุมัติ Google จะให้โทเค็นเพื่อการเข้าถึงที่มีอายุชั่วคราวแก่แอปพลิเคชันของคุณ
- แอปพลิเคชันขอข้อมูลผู้ใช้โดยแนบโทเค็นเพื่อการเข้าถึงไปกับคำขอ
- หาก 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 ดังกล่าว และสร้างข้อมูลเข้าสู่ระบบ
วิธีตั้งค่าบัญชีบริการใหม่มีดังนี้
- คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์บัญชีบริการ
- เลือกว่าจะดาวน์โหลดคีย์สาธารณะ/ส่วนตัวของบัญชีบริการเป็นไฟล์ P12 มาตรฐาน หรือเป็นไฟล์ JSON ที่โหลดโดยไลบรารีของไคลเอ็นต์ Google API ได้
จะมีการสร้างคู่คีย์สาธารณะ/ส่วนตัวใหม่และดาวน์โหลดลงในเครื่องของคุณ โดยจะเป็นสำเนาเพียงรายการเดียวของคีย์นี้ คุณมีหน้าที่เก็บรักษา ไว้อย่างปลอดภัย
การแก้ปัญหา
การให้สิทธิ์ของคุณไม่สำเร็จในสถานการณ์ต่อไปนี้
คุณจะได้รับรหัสสถานะ
401
หากaccess_token
หมดอายุแล้ว หรือหากคุณใช้ขอบเขตที่ไม่ถูกต้องสำหรับ APIคุณจะได้รับรหัสสถานะ
403
หากผู้ใช้ที่ได้รับอนุญาตไม่มีสิทธิ์เข้าถึงข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) โปรดตรวจสอบว่าคุณได้รับสิทธิ์จากผู้ใช้ที่ถูกต้องและผู้ใช้มีข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ที่คุณเลือกไว้จริงๆ
สนามเด็กเล่น OAuth 2.0
เครื่องมือนี้ช่วยให้คุณผ่านขั้นตอนการให้สิทธิ์ทั้งหมดผ่านอินเทอร์เฟซเว็บได้ นอกจากนี้เครื่องมือจะแสดงส่วนหัวของคำขอ HTTP ทั้งหมดที่จำเป็นสำหรับการสร้างการค้นหาที่ได้รับอนุญาต หากไม่ได้รับอนุญาตให้ทำงานในแอปพลิเคชันของคุณเอง คุณควรลองทำงานผ่านสนามเด็กเล่น OAuth 2.0 จากนั้นคุณสามารถเปรียบเทียบส่วนหัว HTTP และคำขอจากสนามเด็กเล่นกับข้อมูลที่แอปพลิเคชันส่งไปยัง Google Analytics ได้ การตรวจสอบนี้เป็นวิธีง่ายๆ เพื่อให้มั่นใจว่าคุณได้จัดรูปแบบคำขออย่างถูกต้อง
การให้สิทธิ์ไม่ถูกต้อง
เมื่อพยายามใช้โทเค็นการรีเฟรช ข้อผิดพลาดต่อไปนี้จะแสดงข้อผิดพลาด invalid_grant
- นาฬิกาของเซิร์ฟเวอร์ของคุณไม่ซิงค์กับ โปรโตคอลเวลาเครือข่าย - NTP
- โทเค็นการรีเฟรชเกินขีดจำกัด
แอปพลิเคชันสามารถขอโทเค็นการรีเฟรชได้หลายรายการเพื่อเข้าถึงบัญชี Google Analytics บัญชีเดียว
ตัวอย่างเช่น หากผู้ใช้ต้องการติดตั้งแอปพลิเคชันบนอุปกรณ์หลายเครื่องและเข้าถึงบัญชี Google Analytics บัญชีเดียวกัน ก็จะต้องใช้โทเค็นแยกกันสำหรับแต่ละเครื่อง เมื่อโทเค็นการรีเฟรชเกินขีดจำกัด โทเค็นเก่าจะใช้งานไม่ได้ หากแอปพลิเคชันพยายามใช้โทเค็นการรีเฟรชที่ใช้งานไม่ได้ ระบบจะแสดงผลข้อความแสดงข้อผิดพลาด invalid_grant
ขีดจำกัดสำหรับไคลเอ็นต์ OAuth 2.0 แต่ละคู่และบัญชี Google Analytics ที่ไม่ซ้ำกันคือ โทเค็นการรีเฟรช 25 รายการ หากแอปพลิเคชันยังคงขอโทเค็นการรีเฟรชสำหรับคู่ลูกค้า/บัญชีเดียวกัน เมื่อมีการออกโทเค็นรายการที่ 26 โทเค็นการรีเฟรชครั้งที่ 1 ที่ออกไปก่อนหน้านี้จะใช้งานไม่ได้ โทเค็นการรีเฟรชที่ขอครั้งที่ 27 จะทำให้โทเค็นที่ 2 ที่ออกก่อนหน้านี้แล้วใช้งานไม่ได้