การเข้าถึงแบบไม่ใช้กุญแจไม่ทำงาน (ERROR_NOT_AUTHORIZED)
เมื่อการสื่อสารกับเซิร์ฟเวอร์ ARCore API ทำให้เกิด ERROR_NOT_AUTHORIZED ให้ตรวจสอบว่าแอปพลิเคชันมีไลบรารี com.google.android.gms:play-services-auth ดังนี้
- สร้างแอปและตรวจสอบอาร์ติแฟกต์ที่ได้ด้วยตัววิเคราะห์ APK ตรวจสอบ
ว่าไบนารีของแอปพลิเคชันที่สร้างขึ้นมีแพ็กเกจ
com.google.android.gms.authและไม่ได้เปลี่ยนชื่อหรือลดขนาดเนื้อหา- หากไม่มี ให้ทำตามรวมไลบรารีที่จำเป็น และตรวจสอบว่าได้รวมไลบรารีแล้ว และการตั้งค่าการลดขนาด ถูกต้อง
แสดงข้อมูลความปลอดภัยที่มีอยู่ในอาร์ติแฟกต์เป้าหมายที่ไม่สำเร็จโดยใช้ ยูทิลิตี
keytoolอาร์ติแฟกต์ AAB
keytool -printcert -jarfile artifact.aab
อาร์ติแฟกต์ APK
keytool -printcert -jarfile artifact.apk
ตรวจสอบว่าลายนิ้วมือของใบรับรอง SHA-1 ตรงกับข้อมูลเข้าสู่ระบบที่ใช้ในรหัสไคลเอ็นต์ OAuth 2.0 ของโปรเจ็กต์
ตรวจสอบว่าคุณได้เปิดใช้ ARCore API สำหรับโปรเจ็กต์ที่ถูกต้องใน Google Cloud แล้ว
การให้สิทธิ์แบบไม่ต้องใช้คีย์สำเร็จในบิลด์บางประเภท (เช่น การแก้ไขข้อบกพร่อง) แต่ไม่สำเร็จในบิลด์ประเภทอื่นๆ
หากการให้สิทธิ์แบบไม่มีคีย์สำเร็จในบางบิลด์แต่ไม่สำเร็จในบิลด์อื่นๆ ให้ตรวจสอบว่าลายนิ้วมือที่อยู่ในอาร์ติแฟกต์ที่ไม่สำเร็จตรงกับลายนิ้วมือที่แสดงในคอนโซล Google Cloud หรือไม่ ดูการให้สิทธิ์แบบไม่มีคีย์ใช้ไม่ได้ และทำตามขั้นตอนเพื่อยืนยันว่าลายนิ้วมือของคีย์การลงนามสำหรับอาร์ติแฟกต์นั้นตรงกับลายนิ้วมือที่แสดงใน Google Cloud
การให้สิทธิ์แบบไม่ต้องใช้คีย์จะใช้ไม่ได้เมื่อใช้ Play App Signing
หากการให้สิทธิ์แบบไม่มีคีย์ใช้งานได้ในการสร้างในเครื่อง แต่ใช้ไม่ได้หลังจากอัปโหลดไปยัง Google Play Store เมื่อเปิดใช้ Play App Signing แล้ว ให้ตรวจสอบว่าลายนิ้วมือของใบรับรอง SHA-1ที่ลงทะเบียนไว้ในข้อมูลเข้าสู่ระบบของโปรเจ็กต์ตรงกับ ลายนิ้วมือที่ Google ใช้ในการลงนามแอปของคุณหรือไม่
- ในหน้า App Signing ใน Google Play ให้เลื่อนไปที่ใบรับรองคีย์ App Signing จดลายนิ้วมือของใบรับรอง SHA-1
- สร้างรหัสไคลเอ็นต์ OAuth 2.0 ใหม่โดยใช้ ลายนิ้วมือของใบรับรอง SHA-1 จากขั้นตอนก่อนหน้า
ดูข้อมูลเพิ่มเติมได้ที่การลงนามในแอปของ Play
การตรวจสอบสิทธิ์คีย์ API ไม่ทำงาน
หากการให้สิทธิ์คีย์ API ไม่ทำงาน ให้ทำตามขั้นตอนต่อไปนี้
- ตรวจสอบว่าคุณได้เปิดใช้ ARCore API สำหรับโปรเจ็กต์ที่ถูกต้องใน Google Cloud แล้ว
- หากเปิดใช้ข้อจำกัดของคีย์ API ให้ปิดใช้ชั่วคราว
- ตรวจสอบว่าคีย์ API ที่แสดงในข้อมูลเข้าสู่ระบบ ของโปรเจ็กต์ตรงกับคีย์ API ที่แอปใช้ทุกประการ โดยไม่มีช่องว่างหรืออักขระอื่นๆ