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