แก้ไขปัญหา

ปัญหาที่พบบ่อยและโซลูชั่นสำหรับการเข้าสู่ระบบด้วย Facebook สำหรับ Android มีดังต่อไปนี้

ฉันได้รับข้อผิดพลาดเกี่ยวกับกล่องโต้ตอบการเข้าสู่ระบบ

ฉันได้รับสิทธิ์การอนุญาตกล่องโต้ตอบการเข้าสู่ระบบแบบเนทีฟ แต่บุคคลนั้นจะไม่ได้รับการอนุญาต ข้อผิดพลาดเกี่ยวกับข้อยกเว้นของ Logcat ที่ส่งคืนมีลักษณะดังนี้:

...W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id ไม่ตรงกับ ID ที่จัดเก็บ 

หรือ

ฉันเห็นกล่องโต้ตอบการเข้าสู่ระบบที่ไม่ใช่แบบเนทีฟซึ่งมีข้อผิดพลาดดังนี้:

...แอพกำหนดค่าไม่ถูกต้องสำหรับการเข้าสู่ระบบด้วย Facebook... 

หากคุณมีปัญหากับกล่องโต้ตอบการเข้าสู่ระบบ ให้ลองดำเนินการดังต่อไปนี้:

แฮชคีย์ของฉันไม่ถูกต้อง

หากคุณมีปัญหากับแฮชคีย์ของคุณ ให้ลองดำเนินการดังต่อไปนี้:

  • เมื่อเพิ่มแฮชคีย์ใหม่ไปยังแดชบอร์ดของแอพ อย่าลืมบันทึกการเปลี่ยนแปลง
  • รหัสผ่านที่คุณป้อนไม่ถูกต้อง รหัสผ่าน Keystore ตามค่าเริ่มต้น: "android"
  • คัดลอกและวางแฮชคีย์ที่คุณส่งไปยัง Facebook ในแดชบอร์ดของแอพและบันทึกการเปลี่ยนแปลง รวมถึงทำการเปลี่ยนแปลงเป็น onCreate() ในกิจกรรมหลักของคุณ:
    @Override
    
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                    
         try {
             PackageInfo info = getPackageManager().getPackageInfo(
                               "{your-package-name}",                  //Insert your own package name.  
                                PackageManager.GET_SIGNATURES);
             for (Signature signature : info.signatures) {
                 MessageDigest md = MessageDigest.getInstance("SHA");
                 md.update(signature.toByteArray());
                 Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                 }
              } catch (NameNotFoundException e) {
                      
              } catch (NoSuchAlgorithmException e) {
                      
              }
               ...

ฉันได้รับข้อผิดพลาดเกี่ยวกับ Keytool

  • หากคุณได้รับข้อผิดพลาด Command not found ให้เพิ่มพาธไปยัง PATH ทั่วระบบหรือไปที่โฟลเดอร์เพื่อเรียกใช้คำสั่งดังต่อไปนี้:
    บน Windows: C:\Program Files (x86)\Java\jdk1.6.0\bin
    บน MAC: /usr/bin
  • หาก Keytool ไม่สามารถค้นหาตำแหน่งที่ตั้ง debug.keystore ของคุณ ให้ตรวจสอบพาธที่ถูกต้อง Keytool จะถามรหัสผ่านทุกครั้งเมื่อมีตำแหน่งที่ตั้งที่ถูกต้อง