본문 바로가기
Spring

Spring으로 네이버 비로그인 방식 오픈 API 사용해보기

by 흑시바 2023. 3. 26.

네이버에서는 비로그인 방식 오픈 API를 제공하고 있다. 🐱

 

네이버에서는 비로그인 방식 오픈 API는 HTTP 헤더에 클라이언트 아이디와 클라이언트 시크릿 값만 전송해서 사용할 수 있는 간단한 API이다. 별도의 토큰 인증이 필요 없는 만큼 간단한 인증 방식을 갖추고 있다.

 

해당 포스팅에서는 로컬에서 스프링으로 네이버 비로그인 방식 오픈 API를 사용하는 방법에 대해 공유하고자 한다.

1. 애플리케이션 등록

1. 사용할 애플리케이션과 사용할 API를 선택한다.

2. 환경은 WEB 설정을 선택하고 주소는 http://localhost:port/** 형식으로 작성한다.

(그냥 http://localhost:port 형식으로 등록해도 잘 된다.)

2. 애플리케이션 정보 확인하기

생성한 애플리케이션 정보를 확인한다.

Client ID와 Client Secret 정보는 나중에 헤더 정보에 담아서 요청을 보낼 예정이다.

3. 요청을 보내고 결과 확인하기

@Service
@Slf4j
public class ShibaCallService {

    @Value("${openapi.naver.client}")
    private String client;

    @Value("${openapi.naver.secret}")
    private String secret;

    public String getShiba() {

        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.add("X-Naver-Client-Id", client);
        httpHeaders.add("X-Naver-Client-Secret", secret);
        HttpEntity<Object> entity = new HttpEntity<>(httpHeaders);

        String url = UriComponentsBuilder.fromHttpUrl("https://openapi.naver.com/v1/search/blog.json")
                .queryParam("query", "흑시바")
                .queryParam("display", 20)
                .queryParam("start", 1)
                .queryParam("sort", "sim")
                .build()
                .toUriString();

        RestTemplate restTemplate = new RestTemplate();
        ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
        return response.getBody();
    }
}

 

  1. 2에서 확인한 client와 secret을 설정 파일(properties/yml)에 등록하고 @Value를 통해서 값을 가지고 온다.
  2. 네이버 오픈 API에서 요청하는 것과 동일하게 헤더 인증 정보를 설정한다.
  3. url과 필요한 queryParam을 합쳐서 요청할 url을 생성한다.
  4. 요청 후 결과를 확인한다. 

 

 

간단한 예시를 보여주기 위해 필자는 RestTemplate 인스턴스를 생성해서 사용하는 방법을 선택했다. 😐

 

하지만 실제로는 RestTemplate은 별도 설정(Timeout 등)을 하고 Bean으로 등록해서 싱글톤으로 활용하는 편이 훨씬 좋다는 걸 알아두자.

 

REFERENCE

 

https://developers.naver.com/docs/serviceapi/search/blog/blog.md#%EB%B8%94%EB%A1%9C%EA%B7%B8-%EA%B2%80%EC%83%89-%EA%B2%B0%EA%B3%BC-%EC%A1%B0%ED%9A%8C

 

검색 > 블로그 - Search API

검색 > 블로그 블로그 검색 개요 개요 검색 API와 블로그 검색 개요 검색 API는 네이버 검색 결과를 뉴스, 백과사전, 블로그, 쇼핑, 영화, 웹 문서, 전문정보, 지식iN, 책, 카페글 등 분야별로 볼 수

developers.naver.com

댓글