카카오톡 간편로그인 api 호출관련 오류

ionic 으로 앱 개발 중인데
전 버전으로는 카카오톡 정보들을 전부 가지고 오는데
최근 업데이트한 버전으로는 카카오톡 정보들을 가져오지 못하는 것 같습니다.

현재 오류는 로그인 시 로그인 이 되지 않고
회원가입을 안한 계정으로 로그인 시도시 카카오톡 계정 동의 페이지는 나오지만 동의 버튼을 누르면 다시 홈으로 넘어갑니다.
또한 카카오톡 공유 버튼을 누르면 아무 작동을 하지 않는데
chrome 에서 콘솔을 확인하면 넘어가야할 정보들은 console.log을 통해 확인이 됩니다.

카카오톡.java 관련 코드는

    if (action.equals("login")) {
        this.login();
        //requestMe(callbackContext);
        return true;
    } else if (action.equals("logout")) {
        this.logout(callbackContext);
        return true;
} else if (action.equals("getAccessToken")) {
    this.getAccessToken(callbackContext);
    return true;
    } else if (action.equals("share")) {

        try {
            this.share(options, callbackContext);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    return false;
}

페이지 로그인 관련 코드는 이렇습니다.

goLogin() {
   this.stopMenuSlide();
   this.menuCtrl.close();
   this.kakaoProvider.login().then((res:any) => {
    this.serverLogin(res);
});
}
serverLogin(userprofile) {
    let userProfile:any = {};
    userProfile.kakaoid = userprofile.id;
    userProfile.email = userprofile.email;
    userProfile.nickname = userprofile.nickname;
    this.userApi.login("auth/login", userProfile).subscribe((res:any) => {
        console.log("LOGIN RES", res);
        this.storage.set("isLogin", true);
        this.storage.set("userProfile", userProfile);
        this.userApi.token = res.token;
        this.userApi.user = userProfile;
        this.showToastWithCloseButton(userProfile.nickname + "님이 로그인 하였습니다.");
    },
    (err:any) => { console.log("LOGIN ERROR", err); });
}

카카오톡 provider

login(){
return new Promise((resolve,reject)=>{
this.kakaologin(this).then((res:any)=>{
resolve(res);
}, (err)=>{
reject(err);
});
});
}

kakaologin(kakaoProvider){
return new Promise((resolve,reject)=>{
if(this.platform.is(“android”) || this.platform.is(‘ios’)) {
KakaoTalk.login(
(userProfile)=>{
console.log(“userProfile:”+JSON.stringify(userProfile));
var id;
if(typeof userProfile === “string”){
id=userProfile;
}else{ // humm… userProfile data type changes. Why?
id=userProfile.id;
}
console.log(‘Successful kakaotalk login with’+id);
resolve(userProfile);
},
(err)=> {
console.log(‘Error logging in’);
console.log(JSON.stringify(err));
let reason={stage:“login_err”,msg:err};
reject(reason);
}

            ); 
        }
  });

}

지금 문제가 생기는 앱의 앱키를 메시지로 보내주시겠어요? 개발자님이 소유하고 계신 앱이 많아서 특정 앱의 로그를 보려면 위 정보가 필요할 것 같습니다.

메일로 보내드렸습니다.

여러가지를 확인하고 있는데
result값이 불러오지 않는 것 같아보이는데
그것을 확인할 수 있는 방법은 없나요 ?

그리고 result값을 불러올 수 있는 방법은 없을까요 ?

혹시 앱키로는 확인이 불가능한가요 ?

서버 로그 쪽에서는 유저 정보를 잘 불러가고 계신데, 이 부분 아직도 문제가 되고 있나요?

안드로이드 아이오닉 버전을 올리면서 카카오톡에서 API를 제대로 가져오지 못하고 있는데
해결하신 분 계신가요 ?

이전버전에서 apk빌드한 것은 정상작동 하는데
새로 페이지 편집 후 apk빌드하면 카카오톡만 정상작동을 하지 않네요 ㅠ

카카오톡 계정 동의 페이지가 나오는 것 보면 아예 연결이 되지 않는 건 아닌데
동의 / 로그인 버튼 / 공유하기 버튼을 누르면 아무 작동을 하지 않고 현재 페이지 또는 메인페이지로 이동이 되네요.

에러는 아래 질문에서 확인가능합니다.

카카오톡 간편로그인 api 호출관련 오류에서 토론을 계속:

onActivityResult()함수 콜백이 등록되지 않을거같은데 플러그인 java 파일에서 execute 함수에 다음과같은 부분이 포함되어있는지 확인해 보세요.

    // onActivityResult()함수 콜백 등록
    cordova.setActivityResultCallback(this);

    //cordova 콜백을 카카오 세션콜백에 등록
    callback = new SessionCallback(callbackContext);
    Session.getCurrentSession().addCallback(callback);

잘안되시면 최신 SDK로 플러그인 만들어놨는데 한번 사용해보세요.
https://github.com/raccoondev85/cordova-plugin-kakao-sdk

1개의 좋아요