안드로이드 앱에 Facebook AccountKit을 사용하려고합니다. 나는 SMS를 통해 확인 코드를 얻고 난 그 코드를 입력 MainActivity
열됩니다 때왜 Facebook 계정을 가져오고 있습니까? AccountKitError : 400 : 내부 일관성 오류가 발생했습니다. 406 : 액세스 토큰이 없습니다. 계정을 검색 할 수 없습니다.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
if (requestCode == APP_REQUEST_CODE) { // confirm that this response matches your request
AccountKitLoginResult loginResult = data.getParcelableExtra(AccountKitLoginResult.RESULT_KEY);
String toastMessage;
if (loginResult.getError() != null) {
toastMessage = loginResult.getError().getErrorType().getMessage();
} else if (loginResult.wasCancelled()) {
toastMessage = "Login Cancelled";
} else {
if (loginResult.getAccessToken() != null) {
toastMessage = "Success:" + loginResult.getAccessToken().getAccountId();
} else {
toastMessage = String.format(
"Success: ",
loginResult.getAuthorizationCode());
}
// If you have an authorization code, retrieve it from
// loginResult.getAuthorizationCode()
// and pass it to your server and exchange it for an access token.
// Success! Start your next activity...
Intent intent = new Intent(SignUpActivity.this, MainActivity.class);
startActivity(intent);
}
// Surface the result to your user in an appropriate way.
Toast.makeText(
this,
toastMessage,
Toast.LENGTH_LONG)
.show();
}
}
모든이 시점에 잘 일어나고 :
loginPhoneNumber.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
phoneLogin(view);
}
});
public void phoneLogin(final View view) {
final Intent intent = new Intent(getBaseContext(), AccountKitActivity.class);
AccountKitConfiguration.AccountKitConfigurationBuilder configurationBuilder =
new AccountKitConfiguration.AccountKitConfigurationBuilder(
LoginType.PHONE,
AccountKitActivity.ResponseType.CODE); // or .ResponseType.TOKEN
// ... perform additional configuration ...
intent.putExtra(
AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION,
configurationBuilder.build());
startActivityForResult(intent, APP_REQUEST_CODE);
}
여기 onActivityResult()
입니다 : 여기
accessToken
가 null로, 그 날이 오류주는 무슨 일이 일어나고 있는지 경우
com.facebook.accountkit.AccessToken accessToken = AccountKit.getCurrentAccessToken();
if (accessToken != null) {
//Handle Returning User
Toast.makeText(getBaseContext(), "Hello", Toast.LENGTH_SHORT).show();
} else {
//Handle new or logged out user
Intent intent = new Intent(MainActivity.this, SignUpActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
Toast.makeText(getBaseContext(), "sent from 1", Toast.LENGTH_SHORT).show();
}
가입 화면으로 다시 탐색 : com.facebook.accountkit.internal.LoginManager: No access token: cannot retrieve account
를이 또한 인쇄지고
하지만 내 MainActivity
에서
AccountKitError: 400: An internal consistency error has occurred: 406: No access token: cannot retrieve account
여기에 무슨 문제가 있습니까? 여기에 accessToken
을 가져올 수없는 이유는 무엇입니까?