ข้อความ "Error Validating Access Token" เกิดขึ้นขณะใช้ Facebook/Messenger โดยหลักๆ จากสองกลุ่มผู้ใช้ คือ ผู้ใช้ทั่วไปที่เข้าถึง Messenger และนักพัฒนาที่เปิดใช้งาน Facebook login ผ่าน API
ข้อความผิดพลาดนี้เกี่ยวข้องกับกระบวนการความปลอดภัยที่ Facebook นำมาใช้เมื่อเข้าถึงแพลตฟอร์ม หากขั้นตอนใดขั้นตอนหนึ่งไม่สมบูรณ์ ไม่ถูกต้อง หรือหมดอายุ จะได้รับข้อความผิดพลาดนี้ เนื่องจากมีสองกรณีที่ผู้ใช้อาจเจอข้อผิดพลาดนี้ เราจึงมีวิธีแก้ไขสองวิธี
สาเหตุของ Error Validating Access Token บน Facebook
เหมือนที่กล่าวไว้ ข้อความผิดพลาด 'error validating access token' ไม่ใช่ข้อผิดพลาดทั่วไปที่ผู้ใช้ปลายทางเจอ สาเหตุของข้อผิดพลาดนี้มีดังนี้:
- เซสชันใน Messenger ต่อบัญชีของคุณเป็น ไม่ถูกต้อง หรือ หมดอายุ
- Access token ของ Facebook ที่คุณใช้กับ API หมดอายุ เกิดขึ้นบ่อยในสภาพแวดล้อมการพัฒนาแอปพลิเคชัน เนื่องจาก access token ถูกต้องเพียงช่วงเวลาจำกัดก่อนที่จะต้องขอใหม่ (สำหรับนักพัฒนา)
- ผู้ใช้ เปลี่ยนรหัสผ่าน หรือออกจากระบบจากอุปกรณ์ที่เชื่อมต่อทั้งหมดเนื่องจากปัญหาด้านความปลอดภัย
- Facebook ได้ บังคับให้ออกจากระบบ Messenger เพื่อเหตุผลด้านความปลอดภัย
อ้างอิงจากวิธีแก้ไขสำหรับนักพัฒนาที่ระบุด้านล่าง เราสมมติว่าคุณรู้พื้นฐานของ API call ที่ทำโดยใช้ access tokens หากคุณเป็นมือใหม่ในสภาพแวดล้อมการพัฒนา เราแนะนำให้อ่านเอกสารการเขียนโค้ดโดยละเอียดเพื่อเข้าใจ access tokens
วิธีแก้ไข 1: รีเฟรชข้อมูลท้องถิ่นของ Messenger (สำหรับข้อผิดพลาดใน Messenger)
ผู้ใช้ทั่วไปอาจเจอข้อความผิดพลาดนี้เมื่อพยายามล็อกอินเข้าสู่ Messenger หรือขณะสลับบัญชีต่างๆ นี่ไม่ใช่บั๊กในอุปกรณ์ Android ของคุณ โทรศัพท์ของคุณติดตาม access tokens ทั้งหมดที่เกี่ยวข้องกับ Messenger หากมีตัวใดตัวหนึ่งกลายเป็นไม่ถูกต้องหรือไม่ได้รับการอัปเดตอัตโนมัติ คุณอาจได้รับข้อความผิดพลาด
ที่นี่เราจะรีเฟรชข้อมูลของแอปพลิเคชัน Messenger ตรวจสอบให้แน่ใจว่าคุณมีชื่อผู้ใช้และรหัสผ่านพร้อมไว้ เนื่องจากอาจถูกขอให้กรอก
- บนอุปกรณ์ Android เปิด Settings และไปที่ Applications Manager
- ค้นหา Messenger และเปิด
- ในการตั้งค่าแอปพลิเคชัน เลือก Clear data และล้างทั้งข้อมูลแอปพลิเคชันและแคช
- ปิดแอป Settings และรีสตาร์ท Messenger หลังจากปิดแอปก่อน ลองล็อกอินใหม่และดูว่าข้อความผิดพลาดแก้ไขได้หรือไม่
วิธีแก้ไข 2: ตรวจสอบ access token ที่หมดอายุ (สำหรับนักพัฒนา)
Access tokens เป็นรายการที่ใช้โดยแอปพลิเคชันเพื่อทำ API requests ในนามของผู้ใช้ โดยหลัก access token แสดงถึงการอนุญาตของแอปพลิเคชันเฉพาะ เพื่อให้สามารถอนุญาตการล็อกอินหรือเข้าถึงข้อมูลบางส่วนของผู้ใช้ได้
หากคุณใช้ Facebook API และ access tokens สำหรับเหตุผลง่ายๆ (เช่น ใช้ Facebook สำหรับตรวจสอบกระบวนการสมัครสมาชิกในแอปของคุณ) ตรวจสอบให้แน่ใจว่าไม่ได้หมดอายุ ปกติ Facebook tokens จะหมดอายุภายใน 2 ชั่วโมงหลังจากที่ขอจากเซิร์ฟเวอร์ Facebook คุณสามารถตรวจสอบเอกสารอย่างเป็นทางการเกี่ยวกับ How-To: Handle expired access tokens โดย Facebook เอง
หมายเหตุ: ในบางกรณีในสภาพแวดล้อมการพัฒนา ผู้ใช้มีการเปิดใช้งานสิทธิ์ Remove offline_access ในบางกรณีสิทธิ์นี้ทำให้ token หมดอายุแม้จะยังไม่หมดอายุ ตรวจสอบให้แน่ใจว่าคุณปิดตัวเลือกเหล่านี้
คุณยังสามารถพยายามขอสิทธิ์ offline_access เพื่อให้ได้ token ที่จะไม่หมดอายุและก่อให้เกิดปัญหา