안녕하세요
18년도에 남겨진 글에 비슷한 글이 있는데 지금도 혹시 답변과 비슷한 상황인가 싶어 문의드립니다.
https://kapi.kakao.com/v2/user/me 로 API를 요청하면 properties 오는 유저가 간헐적으로 발생되는데요.
어떤 케이스에서 발생되는지 문의드립니다.
안녕하세요
18년도에 남겨진 글에 비슷한 글이 있는데 지금도 혹시 답변과 비슷한 상황인가 싶어 문의드립니다.
https://kapi.kakao.com/v2/user/me 로 API를 요청하면 properties 오는 유저가 간헐적으로 발생되는데요.
어떤 케이스에서 발생되는지 문의드립니다.
안녕하세요.
카카오 로그인 시 properties에 일부 값이 없는 경우는 사용자가 해당 값에 해당하는 정보를 등록하지 않은 상태일때 그렇게됩니다~
그래서 해당하는 정보를 유저가 카카오톡에서 어떻게 세팅해야하나요?
일반적으로 properties에서는 유저 닉네임, 썸네일 이미지와 프로필 이미지가 등록되어있는데.
그정보들을 하나도 입력안해서 발생되는거라는건가요?
account에서는 nickname이 있는 경우라면 properties에서도 있어야하는 것 아닌가요?
네, 계정정보에 있는데 properties에 없는 경우를 말씀하신거군요.
계정정보에 일부정보가 없는 경우
케이스로 보자면 이렇게 썸네일 이미지가 없는경우는 당연히 properties에도 존재할 수 없습니다.
"{"id":1615828740,"connected_at":"2021-04-21T07:36:56Z","synched_at":"2021-04-21T07:36:56Z","properties":{"nickname":"tim.l"},"kakao_account":{"profile_needs_agreement":false,"profile":{"nickname":"tim.l"},"has_email":true,"email_needs_agreement":false,"is_email_valid":true,"is_email_verified":true,"email":"tim.l@kakaocorp.com","has_phone_number":false,"phone_number_needs_agreement":false,"has_age_range":true,"age_range_needs_agreement":false,"age_range":"40~49"}}"
연결된 앱에 Unlink 후
썸네일 이미지를 등록하고 로그인해보면 썸네일이 잘 표시되며,
"{"id":1615828740,"connected_at":"2021-04-23T03:44:58Z","synched_at":"2021-04-23T03:44:58Z","properties":{"nickname":"tim.l","profile_image":"http://k.kakaocdn.net/dn/EXJ3p/btq3hnFEPZq/EtB1l1Z7TZ37QQP5sTMwWk/img_640x640.jpg","thumbnail_image":"http://k.kakaocdn.net/dn/EXJ3p/btq3hnFEPZq/EtB1l1Z7TZ37QQP5sTMwWk/img_110x110.jpg"},"kakao_account":{"profile_needs_agreement":false,"profile":{"nickname":"tim.l","thumbnail_image_url":"http://k.kakaocdn.net/dn/EXJ3p/btq3hnFEPZq/EtB1l1Z7TZ37QQP5sTMwWk/img_110x110.jpg","profile_image_url":"http://k.kakaocdn.net/dn/EXJ3p/btq3hnFEPZq/EtB1l1Z7TZ37QQP5sTMwWk/img_640x640.jpg"},"has_email":true,"email_needs_agreement":false,"is_email_valid":true,"is_email_verified":true,"email":"tim.l@kakaocorp.com","has_phone_number":false,"phone_number_needs_agreement":false,"has_age_range":true,"age_range_needs_agreement":false,"age_range":"40~49"}}"
동기화 시간이 “synched_at”:"2021-04-23T03:44:58Z"로 나오는 것을 확인할 수 있습니다.
계정정보에 있는데 properties에 없다는 것은 동기화된 상태가 아니라는 의미 입니다.
가입을 하는 순간(보통 자동가입 옵션이 디폴트로 true이므로 첫 로그인 하는 순간) 해당 계정과 연결된 카카오톡, 카카오스토리의 닉네임/프로필을 가지고 와서 덤프를 뜹니다.
이후에 카카오톡에 들어가서 닉네임, 프로필을 바꾸었다고 해도 반영이 되지 않고 가입시의 상태의 정보가 그대로 유지됩니다.
개념이 톡이나 스토리의 프로필 정보를 me요청시 주는 것이 아닌, 내 사용자 공간의 정보를 주는것이고, 가입시 기본 값을 덤프떠서 저장해 놓는 개념이라, 추후 해당 저장 공간을 관리를 해 주어야 합니다. 보통 앱마다 자신의 프로필 저장 공간을 갖는 경우 이를 편리하게 해 주는 개념이에요.
즉, 소유하신 앱에 가입 당시 프로필이고 이는 카톡에서 수정해도 함부로 변경하면 안되는 경우가 있기때문에 공간을 제공하는 것입니다.
동기화를 위해 실시간 데이터는 프로필 가져오기로 조회 가능합니다.
https://developers.kakao.com/docs/latest/ko/kakaotalk-social/rest-api#get-profile
/v2/user/me 의 kakao_account를 사용하셔도됩니다.
사용자 정보 저장하기로 저장 가능하고 조회 가능합니다.
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#properties
넵 상세한 설명 감사합니다!