카카오 친구목록 조회 API 관련 문의드립니다

환경 : JAVA (Spring) / REST API 사용중
ID : 857983

안녕하세요,

https://developers.kakao.com/tool/rest-api/open/get/v1-api-talk-friends
이 가이드 페이지에선 정상적으로 친구 목록이 조회가 되는 상황입니다.

REST API를 사용중이고, https://kapi.kakao.com/v1/api/talk/friends 주소로
다른 파라미터 없이 GET 요청을 보냈습니다.
헤더에는 friends값이 포함 된 액세스 토큰을 사용하였구요…

하지만 반환 된 데이터를 확인 해 보면 항상
total count가 0으로, 어떤 친구도 보이질 않고 있습니다.

어째서인지 계속 찾아봐도 모르겠어서 이렇게 문의 드립니다…

  • 최종적으론 특정 친구에게 메시지를 보내려 합니다.
    받는 대상은 현재 동일한 앱의 관리자로 등록되어있고, 해당 UUID로 메시지를 보냈을 때
    "cannot send feed message to an unregistered receiver. “,“code”:-101”
    결과를 얻는데, 혹시 더 확인해야 하는게 있는지 궁금합니다…

안녕하세요.

친구/메시지 API는 서비스 내 사용자간(1:1) 소셜활동을 위해 제공됩니다.
따라서 사용자간 아래 조건들을 만족해야만 친구 목록에 표시되고 메시지 발송도 가능합니다.

친구 정보 제공 조건
1. 친구가 앱과 연결된 상태일 것
2. 친구가 앱 연결 시 [카카오 서비스 내 친구 목록 제공] 동의 항목에 동의한 상태일 것
3. 친구가 숨김 또는 차단 친구가 아닐 것
4. 친구의 프로필 공개 설정이 공개 상태일 것
5. (친구 API 사용 권한이 없는 경우) 앱의 팀원일 것
메시지 발송자는 아래 조건 추가 필요
1. 발송자는 [카카오톡 메시지 전송] 동의 항목 동의한 상태일 것

UUID는 서비스별 채번됩니다. 다른 서비스에서 확인된 UUID는 유효하지 않으며 사용할 수 없습니다.

  1. 앱의 Editor 권한으로 등록되어 있습니다.
  2. REST API 테스트 탭에서 토큰을 만들며 동의했습니다. (1번 포함)
  3. 정상 상태입니다.
  4. 공개 상태입니다.
  5. 앱의 Editor 권한으로 등록되어 있습니다.

talk_message 메시지 권한을 토큰에도 부여 해 두었습니다…

https://developers.kakao.com/tool/rest-api/open/get/v1-api-talk-friends
REST API 도구에서 친구 목록을 불러올 수 있는 테스트 페이지에선 정상적으로 읽을 수 있는 상태라는게
잘 이해가 되지 않습니다.
String friendsApiUrl = “https://kapi.kakao.com/v1/api/talk/friends”;
URL friendsUrl = new URL(friendsApiUrl);
HttpURLConnection friendsConn = (HttpURLConnection) friendsUrl.openConnection();
friendsConn.setRequestMethod(“GET”);
friendsConn.setRequestProperty(“Authorization”, "Bearer " + accessToken);

위와 같이 HttpURLConnection을 통해 GET 요청을 보내고 있습니다.

해당 앱의 멤버는 2명이고 동의 항목에 문제 없습니다.
때문에, 해당 멤버들이 각각 호출한 친구목록에서는 1명씩 정상 응답되었습니다.
(16:45 이후 부터)

친구 목록API은 10분 정도의 캐시 시간이 있습니다.
카카오 로그인 이전에 API를 호출하셨다면 10분 뒤 해당 내역이 반영되므로 참고 부탁드립니다.

메시지 전송해 실패 한 이유는 사용된 uuid 가 친구 목록 가져오기에서 전달된 uuid 가 아니기 때문입니다.
전달한 파라미터를 확인 부탁드립니다.

네! 30분전부터 확인했었는데 답변이 늦었었네요,
지금은 해결 됐습니다! 감사합니다 :smiley: