본문 바로가기

GPT Action Schema에서 네이버 API 직접 연결 실패기

직장인 도구함 2024. 12. 20.

GPT Action Schema에서 네이버 API를 연동하려고 했던 이유는 단순했습니다. 대부분의 사례를 보면 SERP API라는 유료 서비스를 활용하더라고요.

하지만 저는 이렇게 생각했죠.

“네이버에서 무료로 제공하는 API가 있는데, 굳이 돈을 쓸 필요가 있을까?”

 

 

그렇게 2일 동안 삽질을 했습니다. 결과는... 처참했어요.😓

실패 기록을 남기며, 저와 비슷한 시도를 하려는 분들에게 작은 도움이 되었으면 합니다.

 

1. ActionGPT를 활용한 Schema 제작

 

 

처음에는 ActionGPT를 활용해 Schema를 제작했어요.

ActionGPT는 OpenAI에서 제공하는 gpts 제작을 위한 gpts입니다.

아래는 gpts의 링크입니다.

 

 

ChatGPT - ActionsGPT

Helps you create OpenAPI specifications from documentation, code examples, cURL commands, or just a description of how to use an API.

chatgpt.com

 

기본적으로 ActionGPT를 활용해 Schema를 제작하는법이 비교적 간단해서 “이 정도면 내가 해낼 수 있겠다!” 싶었습니다.

또, OpenAI가 직접 제작한 GPT인 만큼 OpenAPI 문서를 학습했다고 믿고(!) 네이버 API도 자연스럽게 연동 가능할 거라 생각했죠.

 

문제는?

 

 

네이버 API는 Client ID 와 Client Secret 을 헤더에 포함해서 인증하는 구조인데, ActionGPT는 단일 API Key를 입력받도록 설계되어 있더라고요.

이 차이점 때문에 발목이 잡히기 시작했습니다.

 

2. 네이버 API 적용 시도: 삽질 기록

인증 방식을 해결하기 위해 세 가지 방법을 시도했습니다.

(1) ID:PW 방식으로 인증키 삽입하기

“네이버 API의 Client ID 와 Client Secret 을 합쳐서 키처럼 만들어보자.”

  • 시도: ActionGPT의 API Key 입력란에 ID:Secret 형식으로 삽입.
  • 결과: 인증 오류. ActionGPT는 이 형식을 전혀 이해하지 못했습니다.

 

(2) 맞춤형 인증 창 설계

“헤더에 Client ID와 Secret을 넣는 방식으로 인증을 따로 구현해보자.”

  • 시도: ActionGPT 스키마에 커스텀 인증 옵션을 추가하려 했지만, ActionGPT는 이와 같은 복잡한 인증 과정을 수정할 수 있는 인터페이스를 제공하지 않았습니다.
  • 결과: 실패. 직접 수정할 방법이 없었고, 우회하려면 별도의 코딩 작업이 필요했는데 제가 가진 역량으로는 어려웠어요.

 

 

(3) Schema에 ID, Secret 하드코딩

“인증 정보를 스키마에 직접 박아 넣어버리면 되지 않을까?”

  • 시도: GPT Schema에서 헤더 값을 하드코딩으로 작성.
  • 결과: 작동하지 않음. 게다가 보안상 매우 위험한 방법이라는 것도 깨달았습니다.

 

3. 결론: 실패의 이유

제 삽질의 실패 원인은 명확했습니다.

  • ActionGPT의 한계: 단일 API Key 인증 방식만 지원.
  • 네이버 API의 헤더 인증 방식: Client ID와 Secret을 헤더로 보내야 하는 방식과 충돌.
  • 비전공자의 기술적 한계: 인증 방식을 우회하려면 추가적인 개발 작업이 필요했지만, 비전공자인 제가 이를 해결하기에는 역부족이었어요.

 

왜 사람들이 SERP API를 사용할까?

이 삽질 끝에 저는 깨달았습니다. 왜 능력 있는 프로그래머들이 굳이 유료 서비스를 사용할까요?

답은 간단합니다. 시간과 노력을 아끼기 위해서죠.

  • SERP API 장점: 이미 대부분의 검색 엔진을 쉽게 연동할 수 있도록 설계되어 있고, 인증 절차도 간단합니다.
  • 무료 API의 현실: 인증 방식, 데이터 제한, 호환성 등 여러 제약이 있는 경우가 많아요.

 

이 삽질에서 배운 것

이틀 동안 좌절도 많았지만, 얻은 교훈도 있었습니다.

  1. 시간은 돈이다. 무료 API를 활용하면 비용을 아낄 수 있을 것 같지만, 복잡한 인증 과정이나 추가 작업 때문에 더 많은 시간을 소모하게 될 수도 있어요.
  2. 남들이 쓰는 이유가 있다. 검증된 방법은 다 이유가 있는 법. 괜히 혼자 독창적인 길을 가겠다고 삽질하지 말고, 유료 서비스라도 필요한 경우에는 사용하는 게 낫겠다는 걸 깨달았어요.

 

앞으로의 계획

  • 다시 SERP API로 돌아가기: 무료 네이버 API 활용을 포기하진 않았지만, 지금 당장은 검증된 방법을 따라 SERP API를 사용할 예정입니다.
  • 기술 학습 꾸준히 하기: 인증 방식이나 API 설계에 대한 이해를 더 쌓아야겠다는 동기부여가 됐습니다.

 

마무리하며

이번 시도는 실패로 끝났지만, 도전 자체는 의미가 있었다고 생각해요.

삽질도 결국 배움이니까요.

혹시 저와 비슷한 경험을 하신 분이나 네이버 API 연동에 성공하신 능력자분들이 있다면, 꿀팁을 공유해 주시면 정말 감사하겠습니다!🙏

댓글