inflearn logo
강의

講義

知識共有

ゼロベースから学ぶウェブ開発の概念とバイブコーディング

카카오톡 공유 API 연동 중 SDK 오류에 대한 질문

解決済みの質問

166

CHOI

投稿した質問数 6

0

카카오톡 공유 API 연동 중 SDK 오류에 대한 질문

 

선생님, 안녕하세요.

Next.js 프로젝트에 카카오톡 공유 API를 연동하는 과정에서 지속적으로 'SDK error'가 발생하여 질문드립니다. 제가 이해하고 적용한 방식이 올바른지 검토가 가능하시다면 답변 부탁드립니다.!


 

1. JavaScript 키 관리 방식 (.env.local)

 

민감한 정보인 카카오 JavaScript 키를 안전하게 관리하기 위해 .env.local 파일을 사용하고 있습니다.

Next.js 환경의 특성상, 클라이언트 사이드(브라우저)에서 해당 키를 사용해야 하므로 환경 변수 이름에 아래와 같이 저장하는 것이 올바른 방법인지 궁금합니다.

.env.local

NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY="여기에_발급받은_자바스크립트_키"

 

2. SDK 연동 및 초기화 과정

 

카카오 개발자 가이드를 참고하여 아래와 같은 순서로 SDK 연동 및 초기화를 진행했습니다.

이 과정이 올바른지 확인하고 싶습니다.

 

1단계: SDK 불러오기

 

웹 페이지에 아래 스크립트 태그를 추가하여 JavaScript SDK를 불러왔습니다. ${VERSION}${INTEGRITY_VALUE}는 카카오 개발자 사이트에서 제공하는 최신 값으로 적용했습니다.

HTML

<script src="https://t1.kakaocdn.net/kakao_js_sdk/${VERSION}/kakao.min.js"
  integrity="${INTEGRITY_VALUE}" crossorigin="anonymous"></script>

 

2단계: SDK 초기화

 

불러온 SDK를 초기화하기 위해 Kakao.init() 함수를 호출했습니다. 이때, 인자 값으로 .env.local에 저장한 process.env.NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY를 사용했습니다.

JavaScript

// SDK를 초기화합니다.
Kakao.init(process.env.NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY);

// SDK 초기화 여부를 콘솔에 출력하여 확인합니다.
console.log(Kakao.isInitialized());

 

전체 코드 예시

 

최종적으로 아래와 같은 구조로 코드를 작성하여 초기화를 시도하고 있습니다.

HTML

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>Kakao JavaScript SDK</title>
  
  <script src="https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js"
    integrity="sha384-..." crossorigin="anonymous"></script>
    
  <script>
    // 2. SDK 초기화
    // 실제로는 Next.js 환경 변수를 사용합니다.
    Kakao.init('YOUR_JAVASCRIPT_KEY'); 

    // 초기화 여부 확인
    console.log(Kakao.isInitialized());
  </script>
</head>
<body>
  ...
</body>
</html>

 

요약 질문하자면..

  1. Next.js 프로젝트에서 카카오 JavaScript 키를 .env.local 파일에서 관리하는 방식이 올바른가요?

  2. script 태그로 SDK를 로드한 후, Kakao.init() 함수에 환경 변수 값을 넣어 초기화하는 현재의 구현 방식이 정확한가요?

  3. 만약 위 과정에 문제가 없다면, 'SDK error'가 발생할 수 있는 다른 일반적인 원인(예: 카카오 개발자 사이트의 플랫폼 도메인 설정 오류, 앱 키 오타 등)은 무엇이 있을까요?

바쁘시겠지만 시간 나실 때 확인 부탁드립니다. 감사합니다!

react 웹앱 next.js cursor 인공지능(ai)

回答 1

1

jeyong

안녕하세요? 답변드립니다!

우선, .env.local 파일을 이용해서 관리해주시는 것은 올바른 방법입니다. 물론 배포하실때는 환경변수로 해당 키를 추가해 주시는 것만 잊지 않으시면 됩니다.

그런데, Next.js를 사용하고 있기 때문에 카카오에서 제공하는 pure Javascript 예제와는 초기화를 구현하는 방식이 조금 달라져야 합니다.

Next.js 14 버전에서 어떻게 하면 좋은지 예시를 찾아 공유해 드립니다. 이 블로그를 참고하셔서 리액트 컴포넌트 형식으로 구현해 보시면 좋을 것 같습니다!

https://velog.io/@ckdgus5189/NextJS-14%EC%97%90%EC%84%9C-kakao-API-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

0

CHOI

선생님 감사드립니다. 덕분에 구현이 잘 되요!

깃 실습할때 MyCoolApp관련 내용 직접 적어야 하나요?

0

63

1

토스페이먼츠 개발자 화면이 강의와 많이 달라졌는데 확인 부탁드립니다.

0

97

1

Git Graph가 강사님처럼 나타나지 않는데요.

0

262

2

구글에드센스 velcel 상업적이용

0

352

1

토스페이먼츠 연동하여 결제하기 오류

0

280

1

커서 유료버전 써야하나요?

0

1252

2

저도 api로 들어왔는데 상단 메뉴에 대쉬보드가 안보입니다 ㅜ

0

145

2

블로그 애드센스 인증 실패문제

0

152

2

클로드 3.5 or 4.0 유료 구매를 해야 하나요^^

0

245

1

Kakao AdFit, Stripe 내용

0

73

2

커서 룰 추가 시, Agent Requested 가 보이지 않아요

0

181

2

ai가 제대로 작동하지 않는 것 같아요

0

104

2

런 커맨드 버튼이 보이지 않아요

0

130

2

커서 설치 후, 리뷰 셋팅 화면에서 언어를 한국어로 설정 후, 터미널이 인스톨되지 않습니다

0

235

3

openai.com 로그인했는데 데시보드가 안보여요. 어디서 봐야하나요?

0

288

2

Versel 대신...Cloudflare Workers 어떨까요?

0

216

1

사업자 등록

0

86

2

강사님 open ai api key 결제하는 게 나을까요?

0

312

2

강사님 Git 실습 화면에서 M 처리

0

89

2

CSS 적용이 안되는 문제

0

130

2

커서 한국어 설정이 안됩니다.

0

511

1

git허브 커밋에서

0

58

2

승인된 리디렉션 URI등록 이유

0

225

2

Supabase를 사용하여 서비스에 사용자 인증 기능을 구현

0

350

2