안녕하세요, 친구목록 API 연동 과정 중 이상한 점이 발견되어 연락드립니다.
친구 정보 제공 조건
- 친구가 앱과 연결된 상태일 것
- 친구가 앱 연결 시 [카카오 서비스 내 친구 목록 제공] 동의 항목에 동의한 상태일 것
- 친구가 숨김 또는 차단 친구가 아닐 것
- 친구의 프로필 공개 설정이 공개 상태일 것
- (친구 API 사용 권한이 없는 경우) 앱의 팀원일 것
말씀해주신 친구 정보 제공 조건에 따라 진행한 후, 연결된 친구 목록을 조회했을 때, 친구 목록에 추가되지 않았습니다.
s = requests.get(
"https://kapi.kakao.com/v1/api/talk/friends",
headers={
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": f"Bearer {access_token}"
},
)
s.json()
하지만, 이상태에서 봇 계정에 대해 authorization을 새롭게 진행하니, 친구 목록이 갱신되어 내려왔습니다.
혹시 친구 목록 API에서 갱신 조건이 별도로 있을까요? 그리고 친구 목록을 강제로 갱신시킬 수 있는 방법이 있을까요?
tim.l
2
안녕하세요.
친구목록은 조회하는 계정과 조회대상 계정 모두 카카오톡 친구이며
소유하신 디벨로퍼스앱에 카카오 로그인으로 연결되었을때 표시됩니다.
말씀하신 내용이 정상 동작이며,
기본적으로 모든 친구를 표시하지 않습니다.
아래 내용도 참고 부탁드려요.
친구 api와 피커, 메시지 api 사용을 위한 체크 리스트
@tim.l 답변달아주셔서 감사합니다.
저희가 진행하려던 프로세스는 다음과 같습니다.
(1) 신규 유저에게 카카오톡에서 우리가 배포한 앱과 계정을 추가하도록 유도
(2) 추가한 직후, 우리 계정을 통해, 신규 유저에게 개인 메시지 발송
을 수행하려고 했습니다.
이 때, (2)번 단계에서 신규 유저가 추가한 직후에, 친구 목록 API를 조회하더라도 새롭게 업데이트가 되어 있지 않아서, 개인 메시지를 발송 할 수 없다는 문제에 봉착했습니다.
그래서 친구 목록 API가 갱신되는 조건이 별도로 있나 싶어서 질문드립니다.
tim.l
4
(1) 신규 유저에게 카카오톡에서 우리가 배포한 앱과 계정을 추가하도록 유도
카카오 로그인 및 카카오톡 친구추가를 말씀하신 것으로 이해했습니다.
즉, 쌍방 동의 및 친구관계 등 조회 조건이 충족되었다고 전제할때
(2) 추가한 직후, 우리 계정을 통해, 신규 유저에게 개인 메시지 발송
디벨로퍼스에서 제공하는 메시지 API 는 서비스 관리자가 아닌
서비스내 이용자간 간단한 소셜활동을 위해 제공되는 기능이라
친구 목록 가져오기 API 응답 캐시 10분 설정이 있습니다.
더불어, 위에 제공드린 체크리스트와 같이 한사람이 발송할 수 있는 메시지 수의 제약사항도 있으니 운영하시는 서비스에 적합한지 확인해보시면 좋을 것 같습니다.
카카오톡은 실명성이 강한 개인간 메시지이므로 이용자의 피로도를 최소화하고 개인정보보호를 위해 메시지 API 사용에 제한을 두고 있습니다. ( 친구 api와 피커, 메시지 api 사용을 위한 체크 리스트)
기업의 정보성 메시지 발송은 비즈메시지 알림톡을 검토해보시는 것도 좋을 것 같습니다.
감사합니다.