인프런 커뮤니티 질문&답변

diogenes님의 프로필 이미지

작성한 질문수

하울의 안드로이드 인스타그램 클론 만들기

하울스타그램 페이스북 로그인

registerCallback에서 onError로만 넘어가네요

작성

·

258

0

몇시간째 헤메고 있네요;;

하라는 대로 다 했는데 여기서 onSuccess로 넘어가질 않아서 진행이 안됩니다 ㅜ

LoginManager.getInstance()
.registerCallback(callBackManager, object : FacebookCallback<LoginResult> {
override fun onSuccess(result: LoginResult) {
Log.i("facebook_callback", "success")
handleFacebookAccessToken(result.accessToken)
}

override fun onCancel() {
Log.i("facebook_callback", "cancel")
}

override fun onError(error: FacebookException?) {
Log.i("facebook_callback", "error")
}
})

답변 3

0

같은 부분에서 헤매다가 stckoverflow 에서 답을 찾았습니다.

https://stackoverflow.com/questions/41861564/server-error-code-1675030-message-error-performing-query

작성하신 코드 바로 윗부분에 있는 loginWithReadPermission 에서 Arrays.asList 매개변수를 변경했더니 정상 작동합니다.

    fun facebookLogin() {
LoginManager.getInstance()
.logInWithReadPermissions(this, Arrays.asList("email", "public_profile", "user_friends"))
// .logInWithReadPermissions(this, Arrays.asList("public_profile","email"))

LoginManager.getInstance()
.registerCallback(callbackManager, object : FacebookCallback<LoginResult> {
override fun onSuccess(result: LoginResult?) {
// second step
handleFacebookAccessToken(result?.accessToken)
Log.d("fecebook 로그인", "성공")
}

override fun onCancel() {
Log.d("fecebook 로그인", "취소")

}

override fun onError(error: FacebookException?) {
Log.d("fecebook 로그인", "에러 발생 $error")
}

})
}

0

하울님의 프로필 이미지
하울
지식공유자

 혹시 onError에서 아무런 메세지도 나오지 않나요?

0

diogenes님의 프로필 이미지
diogenes
질문자

해결방법

1.페이스북은 자체적으로 loginbutton을 가지고 있습니다 xml에서 그냥 button을 페이스북의 loginbutton으로 바꾸면 됩니다

2.페이스북 loginbutton은 클릭이벤트 리스너를 달지 않아도 동작하게 만들어 놨습니다. 이벤트리스너 등록 안하고 바로 registercallback달아서 사용하시면 됩니다

facebook_sign_in_button.registerCallback(callBackManager, object : FacebookCallback<LoginResult> {
override fun onSuccess(result: LoginResult) {
Log.i("facebook_callback", "success")
handleFacebookAccessToken(result.accessToken)
}

override fun onCancel() {
Log.i("facebook_callback", "cancel")
}

override fun onError(error: FacebookException?) {
Log.i("facebook_callback", "error")
}
})
diogenes님의 프로필 이미지

작성한 질문수

질문하기