[사용자 관리][사용자 정보 요청] 카카오톡에서 프로필 변경을 해도 사용자 정보 요청시 변경이 반영되지 않습니다

카카오 로그인 시, 사용자 정보를 업데이트하는 방법을 안내합니다.

사용자 정보 요청하기로부터 얻는 프로필 정보를 요약하자면 아래와 같습니다.

  1. 사용자 가입시, 설정 > 사용자 관리 > 앱 연동 설정 > 카카오계정 연동 메뉴에 따라 카카오톡 또는 카카오스토리로부터 가입 당시의 프로필 정보를 얻을 수 있습니다. 설정을 모두 끈 경우는 프로필 정보가 비어 있는 상태가 됩니다.
  2. 사용자 가입후, 앱의 필요에 의해 가입시 저장된 프로필 정보를 별도로 업데이트 할 수 있습니다. 이는 사용자 정보 저장 API를 이용합니다. 사용자 정보 저장은 해당 앱만의 사용자 부가정보 뿐 아니라 기본 부가 정보 (nickname, profile_image, thumbnail_image)도 업데이트할 수 있습니다. 따라서 카카오톡의 프로필 동기화를 원한다면, 원하는 시점에 카카오톡 프로필 가져오기 API를 이용하여 프로필을 가지고 온 후 사용자 정보 저장 API를 이용하시면 됩니다.

다음은 위의 과정에 대한 간단한 pseudo code 예입니다.

KakaoTalkService.requestProfile(new KakaoTalkHttpResponseHandler<KakaoTalkProfile>() { 
       @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(…); 
             ... 
       } 
  ... 
}

사용자가 앱에 가입한 후 획득한 사용자 프로필 URL 주소의 사진이 사용자에 의해 프로필 사진이 업데이트 되었다 하더라도 갱신되지 않는다는 말씀 이신가요?
그렇다면 requestProfile 을 통해 새로이 프로필 정보를 요청하면 바뀐 프로필URL이 제공되고 이 주소의 사진은 업데이트된 프로필 사진이 되는 건가요?

@octchristmas 맞습니다. requestProfile의 경우 직접 카카오톡의 프로필 요청을 하는 것이기에 최신 프로필 정보가 반환되구요, requestMe의 경우 프로필 저장 공간에 저장된 값을 반환하므로 이후는 직접 관리를 하셔야 합니다. 보통 앱을 만들때 별도의 프로필 공간을 만들고, 이를 관리할텐데 이런 저장 공간 서비스를 제공하는 것이며, 빈 공간으로 첫 서비스를 하기 보다 톡이나 스토리의 프로필로 가입시에 기본 값을 채워서 서비스를 할 수 있도록 하는 개념입니다. 다만 카카오톡의 자원을 사용하는 requestProfile의 경우 일 쿼터가 존재합니다. requestMe의 경우 별도의 쿼터는 없습니다.

따라서 보통은 자체의 프로필 화면에서 동기화 버튼 등을 노출하고, 사용자가 이 동기화 버튼을 누를때 카카오톡 자원을 활용하는 API를 호출하여 업데이트 할 수 있습니다.

추가 공지를 참조하세요

보통 앱 로그인, 실행시 사용자 정보 요청 API를 인증도 하고, 사용자의 정보를 받아 갈 수 있습니다.

기능이 좀 바뀌었는데요, 카카오계정에 저장되는 프로필 실시간 정보를 제공하고 있습니다.

https://developers.kakao.com/docs/latest/ko/kakaologin/common#user-info

  • 플랫폼별 가이드

https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#req-user-info

https://developers.kakao.com/docs/latest/ko/kakaologin/android#req-user-info

https://developers.kakao.com/docs/latest/ko/kakaologin/ios#req-user-info

https://developers.kakao.com/docs/latest/ko/kakaologin/js#req-user-info

kakaoAccount 하위 프로필의 경우 카카오계정의 실시간 정보입니다.

사용자가 카카오톡 등에서 프로필을 변경하였을 경우, 서비스의 톡/계정 설정에서 카카오계정 프로필과 동기화 설정을 하였을 경우, 자동 반영됩니다.

만약에 사용자가 동기화 설정을 하지 않았을 경우는, 카카오계정의 프로필도 바꾸어 주어야 톡/스토리의 프로필이 서빙됩니다.