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