문의 시, 사용하시는 개발환경과 디벨로퍼스 앱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}
친구 목록: []
친구목록이 계속 비어있다구하는데요…왜죠,?