친구목록이 왜안뜨는지 모르겠어

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
___ ID 940389

@GetMapping(“/friends”)
public String friends(Model model, HttpSession session){
String accessToken = (String) session.getAttribute(“accessToken”);

	System.out.println(accessToken);
	if (accessToken != null) {
        // 카카오톡 친구 목록을 가져오는 API 엔드포인트 URL
        String friendsUrl = "https://kapi.kakao.com/v1/api/talk/friends";

        // 카카오톡 API 요청에 필요한 헤더 설정
        HttpHeaders headers = new HttpHeaders();
        headers.set("Authorization", "Bearer " + accessToken);

        // GET 요청으로 친구 목록 가져오기
        HttpEntity<String> requestEntity = new HttpEntity<String>(headers);
        RestTemplate restTemplate = new RestTemplate();
        try {
            ResponseEntity<String> response = restTemplate.exchange(friendsUrl, HttpMethod.GET, requestEntity, String.class);

            // 응답 처리
            if (response.getStatusCode().is2xxSuccessful()) {
                // 응답이 성공적으로 도착한 경우
                String responseBody = response.getBody();
                System.out.println("친구 목록 조회 응답: " + responseBody);

                // JSON 파싱을 위해 ObjectMapper 사용
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(responseBody);
                JsonNode friendsNode = jsonNode.get("elements");
                if (friendsNode != null && friendsNode.isArray()) {
                    List<String> friendsList = new ArrayList<String>();
                    for (JsonNode friend : friendsNode) {
                        String friendId = friend.get("id").asText();
                        friendsList.add(friendId);
                        System.out.println("친구 목록: " + friend);
                    }
                    System.out.println("친구 목록: " + friendsList);
                    model.addAttribute("friendsList", friendsList);
                }
            } else {
                // 응답이 실패한 경우
                System.out.println("친구 목록 조회 실패. 상태 코드: " + response.getStatusCodeValue());
            }
        } catch (HttpClientErrorException e) {
            // HttpClientErrorException 발생 시, 에러 메시지 출력
            System.out.println("카카오톡 API 호출 오류: " + e.getMessage());
            System.out.println("상태 코드: " + e.getStatusCode());
            System.out.println("에러 응답 바디: " + e.getResponseBodyAsString());
        } catch (Exception e) {
            // 그 외 다른 예외 발생 시, 에러 메시지 출력
            e.printStackTrace();
        }
     } else {
         // 세션에 accessToken이 없는 경우 또는 값이 비어있는 경우
         System.out.println("토큰이 없습니다.");
         // 예외 처리 필요
     }
     return "home"; // 화면으로 이동하거나, 결과를 출력하는 방식에 맞게 수정
 }

결과에는 계속 오류 없이 잘오는데
친구 목록 조회 응답: {“elements”:[],“total_count”:0,“after_url”:null,“favorite_count”:0}
친구 목록: []

친구목록이 계속 비어있다구하는데요…왜죠,?

안녕하세요.

친구/메시지 API는 아래 조건을 만족하는 사용자를 대상으로 조회 및 메시지 발송 가능합니다.

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

"redirect:" + "https://kauth.kakao.com/oauth/authorize?client_id=82d9687e86be21468425992a15fb40bb&response_type=code&redirect_uri=http://localhost:8080/kakao/callback&scope=talk_message,friends"

이렇게 동의항목해서 동의도했는데 왜 안되죠…

비즈니스 앱으로 등록을 안하고는 친구목록을 불러올수없는건가여?

해당 기능은 비즈앱과는 관련이 없는데요
원인은 조회 대상이 되는 사용자가 friends 동의 항목에 동의 하지 않았기 때문입니다.