2013-04-18 1 views
1

튜토리얼 "Use Facebook Login"을 사용하여 데모했습니다.[해결 된] Android LogginButton : 오류가 발생했습니다. 나중에 다시 시도하십시오. (잘못된 응용 프로그램 ID : 제공된 응용 프로그램 ID가 잘못되었습니다.)

나는 MainFragment에이 코드를 잘 살고있다 : 두 번째 계정으로 로그인 할 때

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton); 
authButton.setFragment(this); 
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO); 
authButton.setReadPermissions(Arrays.asList("user_likes", "user_status")); 

나는 오류가 발생했습니다. 나는 이전에 다른 계정으로 성공적으로 로그인했음을 의미합니다. 그런 다음 로그 아웃하고 두 번째 계정으로 로그인하려했습니다.

"오류가 발생했습니다. 나중에 다시 시도하십시오."라는 제목의 오류 대화 상자에 "Error"라는 제목과 오른쪽에 "Okay"버튼이 있습니다.

나는 아래의 코드를 추가하는 오류를 보려고 노력했다. 나는 그것을 얻었지만, 여전히 어떻게 해야할지 아직 이해하지 못했다.

authButton.setOnErrorListener(new OnErrorListener() { 
     @Override 
     public void onError(FacebookException error) { 
      Log.e("test", "error: "+error.getMessage()); 
     } 
    }); 

그것은 쇼 :

error: kError 1349040: Invalid Application ID: The provided Application ID is invalid. 

내가 전에 계정으로 로그인하려고 할 때, 그것은 다시 성공했다.

이 오류 전에, 나는이 오류가 발생했습니다 :

remote_app_id does not match stored id 

나는 추천 " Getting Started with the Facebook SDK for Android"로 설정하는 키 해시를 변경했습니다. 코드를 추가하십시오 :

// Add code to print out the key hash 
    try { 
     PackageInfo info = getPackageManager().getPackageInfo(
       "com.facebook.samples.hellofacebook", 
       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) { 

    } 

성공적으로 로그인하십시오.

또한 릴리스 키를 사용하고 내 apk에 서명하려고했습니다. 결과는 동일합니다. 한 계정은 할 수 있습니다. 다른 사람은 할 수 없습니다.

이제, 나는 다시 시도했습니다. 오류가 사라졌습니다. 왼쪽 상단에있는 삭제 버튼 만 있으면 흰색 대화 상자 만 표시됩니다.

참고 : Android V3.01 용 Facebook SDK를 사용합니다.

두 가지 요인이 문제가되었다 [문제 해결]. 내가

두 번째로 사용 페이스 북 로그인에서 권장하는 문서에서 다운로드 wrong.Then

첫째, 내 OpenSSL이 유틸리티는가요 안톤 로이에서 말했듯이, 샌드 박스는 default.I에 의해 확인되고 대시 보드에서 샌드 박스 모드를 선택 취소 대답.

+1

코드가 있습니까? logcat? – thepoosh

+0

오류 : kError 1349040 : 잘못된 응용 프로그램 ID : 제공된 응용 프로그램 ID가 잘못되었습니다. 다른 계정으로 로그인하려고했을 때만 나타납니다. –

+0

appId는 해시가 아닙니다. – thepoosh

답변

4

facebook 응용 프로그램에서 sandbox mod의 선택을 취소하셨습니까?

기본적으로 사용하도록 설정되어 있습니다. 동일한 문제가있어 문제가 해결되었습니다.

+0

도움을 주셔서 감사합니다. 말씀하신대로 해결되었습니다. –