Khắc phục sự cố

Dưới đây là các sự cố thường gặp với phương thức Đăng nhập bằng Facebook dành cho Android và cách khắc phục.

Tôi thấy lỗi hộp thoại đăng nhập.

Tôi có quyền đối với hộp thoại đăng nhập gốc nhưng người dùng không được xác thực. Lỗi ngoại lệ logcat được trả về có dạng như sau:

...W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id không khớp với id đã lưu trữ 

hoặc

Tôi thấy một hộp thoại đăng nhập không phải gốc bao gồm lỗi có dạng như sau:

..Ứng dụng bị cấu hình sai cho phương thức đăng nhập bằng facebook... 

Nếu bạn gặp sự cố với hộp thoại đăng nhập, bạn có thể thử một số cách sau:

Hash khóa của tôi không hợp lệ.

Nếu bạn gặp sự cố với hash khóa, bạn có thể thử một số cách sau:

  • Khi bạn thêm hash khóa mới vào Bảng điều khiển ứng dụng, hãy nhớ Lưu thay đổi.
  • Mật khẩu bạn đã nhập không chính xác. Mật khẩu Kho khóa mặc định: "android".
  • Sao chép và dán hash khóa mà bạn đã gửi cho Facebook vào Bảng điều khiển ứng dụng rồi Lưu thay đổi, sau đó thực hiện thay đổi này cho onCreate() trong hoạt động chính của bạn:
    @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) {
                      
              }
               ...

Tôi thấy lỗi Công cụ tạo khóa.

  • Nếu bạn gặp lỗi Command not found, hãy thêm đường dẫn vào PATH chung hoặc chuyển đến thư mục để chạy lệnh sau:
    Trên Windows: C:\Program Files (x86)\Java\jdk1.6.0\bin
    Trên Mac: /usr/bin
  • Nếu Công cụ tạo khóa không tìm được vị trí debug.keystore của bạn. Hãy kiểm tra xem đường dẫn chính xác chưa. Công cụ tạo khóa luôn hỏi mật khẩu khi có vị trí chính xác.