Kakao login profile image 질문드립니다

안녕하세요.

카카오 로그인할시 userProfile.getProfileImagePath() 이런식으로 이미지를가져오려고 합니다.

제가처음에 이미지가없어서 안나오고, 프로필사진을 업로드하여 재로그인을 하였는데 이럴경우에는 이미지업로드된게 제 정보에 다시업로드가안되는건가요?

원래 카카오톡 로그인버튼을 사용하지않고
Session.getCurrentSession().open(AuthType.KAKAO_LOGIN_ALL, activity);
위와같이 코드를 사용하였습니다.

네 UserProfile에 있는 이미지는 가입시에만 업데이트 되는게 맞아요 ㅠ.ㅠ KakaoTalkService에 있는 requestProfile을 통해 KakaoTalkProfile을 가져오시면 실시간 톡 프로필을 가져오실 수 있을거에요~

@anon81369599
답변감사합니다.

제가KakaoTalkService를 찾아보려고해도…메소드가 나오질않는데 따로 import를 시켜야하는건가요??

KakaoTalkService.requestProfile(new KakaoTalkHttpResponseHandler() {
@Override
protected void onHttpSuccess(final KakaoTalkProfile talkProfile) {
final Map<String, String> properties = new HashMap<String, String>();
properties.put(“profile_image”, talkProfile.getProfileImageURL());
properties.put(“thumbnail_image”, talkProfile.getThumbnailURL());
UserManagement.requestUpdateProfile(…);

}

}

위와같이 비슷한질문에 답변달아주신게 있는데 저는 KakaoTalkService가 나오질않아서요.

네, 그래들 빌드 파일에

compile 'com.kakao.sdk:kakaotalk:1.2.1'

위와 같이 추가해주셔야 사용하실 수 있어요 :slight_smile:

@anon81369599
답변감사합니다:)

추가후 다시테스트해봐야겠네요!

즐거운 하루되세요~~ :blush:

@anon81369599

        KakaoTalkService.requestProfile(new TalkResponseCallback<KakaoTalkProfile>() {
            @Override
            public void onNotKakaoTalkUser() {
            }

            @Override
            public void onSessionClosed(ErrorResult errorResult) {
            }

            @Override
            public void onNotSignedUp() {
            }

            @Override
            public void onSuccess(KakaoTalkProfile result) {

                final Map<String, String> properties = new HashMap<String, String>();
                properties.put("profile_image", result.getProfileImageUrl());
                properties.put("thumbnail_image", result.getThumbnailUrl());
                properties.put("nickname", result.getNickName());
                Glide.with(activity).load(result.getThumbnailUrl()).diskCacheStrategy(DiskCacheStrategy.ALL).into(iv_main_image);
                UserManagement.requestUpdateProfile(new ApiResponseCallback<Long>() {
                    @Override
                    public void onSessionClosed(ErrorResult errorResult) {

                    }

                    @Override
                    public void onNotSignedUp() {

                    }

                    @Override
                    public void onSuccess(Long result) {

                    }
                }, properties);
            }
        }); 

위와같이 사용해서 받아오니 잘됩니다~~!!

항상 답변달아주셔서 감사합니다!

1개의 좋아요