카카오 공유하기 문의

안녕하세요.
카카오 JavaScript SDK를 이용하여 카카오톡 공유하기 기능을 구현하고 있으며, 테스트 중 간헐적으로 인증 실패가 발생하여 문의드립니다.

사용 SDK 버전: 2.8.2
**디벨로퍼스 앱 ID: 351307

페이지 진입 후 Kakao.init()을 통해 JavaScript 키가 정상적으로 적용되어 있는 것을 확인하였으며, Kakao.isInitialized() 역시 true로 확인됩니다. kakao.min.js 또한 정상적으로 HTTP 200 응답을 받아 로드되고 있습니다.

처음에는 SDK 로딩 또는 초기화 시점 문제를 의심했으나, 테스트 결과 페이지를 새로고침하지 않은 상태에서도 동일한 현상이 발생하고 있습니다.

동일 페이지에서 동일한 조건으로 카카오톡 공유하기 버튼을 반복해서 클릭하면 아래와 같이 동작합니다.

  • 정상 동작 시: accounts.kakao.com/login으로 이동하여 카카오계정 로그인 화면이 정상적으로 노출됩니다.
  • 실패 시: sharer.kakao.com/picker/link 요청에서 HTTP 401 Unauthorized가 발생하며, 카카오 공유 팝업에 아래 오류가 표시됩니다.
    • Error Code: 4011
    • 메시지: 잘못되었거나 삭제된 앱 키를 사용했습니다. 앱 키가 올바른지 확인해 주세요.

특히 페이지 새로고침 없이 정상적으로 열린 카카오 공유 팝업을 닫은 후 다시 공유하기 버튼을 클릭하는 것만으로도 정상/실패가 반복적으로 발생합니다.

예를 들어 동일 페이지에서 약 10회 반복 호출할 경우 3회 정도는 정상적으로 로그인 화면까지 이동하고, 나머지는 4011 인증 실패가 발생하는 식으로 재현되고 있습니다.

동일한 JavaScript 키와 동일한 페이지에서 요청하고 있기 때문에 앱 키 자체가 잘못되었거나 삭제된 상태라면 모든 요청에서 동일하게 실패할 것으로 예상되는데, 현재는 동일 조건에서 성공과 실패가 간헐적으로 발생하고 있어 원인 확인이 어려운 상황입니다.

  • 동일한 앱 키 및 동일한 호출 환경에서 4011 오류가 간헐적으로 발생할 수 있는 케이스가 있는지
  • sharer.kakao.com/picker/link 요청 처리 과정에서 서버 측 인증 검증이 간헐적으로 실패할 가능성이 있는지

위에 2가지 케이스에 대해서 지금 확인이 필요한 상황입니다.
확인 좀 부탁드리겠습니다.




안녕하세요.

카카오톡 공유 시,

카카오측으로 전달되어야할 앱키가 제대로 전달 안된 경우 해당 에러 발생합니다.

에러 화면의 UUID를 텍스트로 기재해주시고 재현가능한 URL도 기재 부탁드려요.

안녕하세요.
요청하신 오류 화면의 UUID 전달드립니다.

UUID: 4ca97312-6649-4121-b8d4-5c709f6b2526

추가로 재현 가능한 URL의 경우 현재 개발 환경이 사내 내부망에서만 접근 가능한 환경이라 외부에서는 접근이 불가능합니다. 따라서 재현 URL을 전달드리기 어려운 점 양해 부탁드립니다.

네, 예상대로 앱키가 전달되지 않았습니다.

관련 코드블럭 기재 부탁드려요.

관련 코드블럭을 전달드리기 전에 한 가지 추가로 확인하고 싶은 사항이 있어 문의드립니다.

현재 서비스에서는 GTM(Google Tag Manager)을 통해 아래 외부 스크립트가 함께 호출되고 있습니다.
https://trk.kakaodata.com/script/fp3.min.js

테스트 과정에서 카카오톡 공유하기가 정상 동작하는 경우와 4011 오류가 발생하는 경우가 간헐적으로 반복되고 있어, 혹시 해당 외부 스크립트가 카카오 JavaScript SDK의 앱 키 전달이나 공유 요청 처리에 영향을 줄 가능성이 있는지 궁금합니다.

특히 동일 페이지에서 새로고침 없이 공유 팝업을 닫고 다시 호출하는 것만으로도 정상/실패가 반복되고 있어, GTM을 통해 동적으로 삽입되는 외부 스크립트와의 충돌 가능성도 함께 확인하고 있습니다.

해당 fp3.min.js 스크립트가 카카오 JavaScript SDK 또는 Kakao.Share.sendDefault() 호출 과정에 영향을 줄 수 있는 스크립트인지 확인 부탁드립니다.

아 참고로 저 외부 스크립트는 성공 케이스, 실패 케이스에서도 동일하게 호출되고 있습니다.

스크립트가 전역 변수에 영향 받는 경우는 충분히 있을 수 있으나 재현테스트 해보기 전에는 알 수 없습니다.

운영하시는 사이트에서 빈페이지 하나 만들어 정상작동하는지 테스트 해보시며 오류나는 원인을 비교 해보셔도 좋을 것 같습니다.

  • Kakao JavaScript SDK 버전: 2.5.0, ‘2.8.2’
  • Kakao.Share.sendDefault()` 정상 호출 확인
  • JavaScript 앱키가 정상적으로 설정되어 있는 것 확인
  • 공유 호출 직전 Kakao.isInitialized()true 확인
  • Kakao.Share.sendDefault 함수가 정상적으로 존재하는 것 확인

공유 호출 직전에 아래와 같이 cleanup() 후에 다시 init SDK를 재초기화하는 방법도 테스트했습니다.

Kakao.cleanup();
// Kakao.isInitialized() → false

Kakao.init(JAVASCRIPT_KEY);
// Kakao.isInitialized() → true

Kakao.Share.sendDefault(...);

cleanup() 및 재초기화가 정상적으로 수행되는 것은 확인했으나, 이후에도 동일한 인증 실패가 간헐적으로 발생합니다.

추가 테스트 과정에서 브라우저 및 DevTools 설정에 따른 재현율 차이 를 확인했습니다.

  • Chrome: 동일한 공유 기능이 정상적으로 동작하며 해당 오류가 거의 발생하지 않음
  • Microsoft Edge: 동일한 코드 및 앱키를 사용하고 있음에도 인증 실패 발생률이 상당히 높음
  • Edge에서 Auto-open DevTools for popups OFF: 인증 실패가 높은 빈도로 발생
  • Edge에서 Auto-open DevTools for popups ON: 기존에 높은 빈도로 발생하던 인증 실패가 거의 발생하지 않고 정상적으로 공유됨

실패하는 경우에도 Kakao.Share.sendDefault() 호출 및 카카오 공유 팝업 생성 자체는 정상적으로 이루어지고 있으며, 이후 sharer.kakao.com/picker/link 페이지에서

“요청 실패 - 잘못된 요청으로 인증에 실패하였습니다.”

메시지가 노출됩니다.

특히 동일한 Edge 브라우저에서도 Auto-open DevTools for popups 설정 여부에 따라 재현율에 큰 차이가 발생하고 있어, 공유 팝업 생성 이후 인증 처리 과정에서 브라우저의 팝업 처리 또는 실행 타이밍에 영향을 받는 부분이 있는지 확인 부탁드립니다.

또한 실제 일반 사용자 환경에서는 Auto-open DevTools for popups 를 활성화하여 사용하는 것이 현실적으로 불가능하기 때문에, 현재 현상의 정확한 원인을 확인하기 위해 클라이언트 측에서 추가로 확인할 수 있는 방법이나 로그가 있다면 안내 부탁드립니다.

클라이언트 측에서 확인이 어려운 부분이라면 카카오 측에서 해당 인증 실패 원인을 확인해주실 수 있는 방법이 있는지도 함께 안내해주시면 감사하겠습니다.

Kakao.init(JAVASCRIPT_KEY); 를 헤더에 한번 세팅하고 cleanup(); 없이 사용해보시겠어요?

웹페이지 스크립트에서 Kakao.init 이 제대로 안된 케이스로 카카오에서 대응 해드릴 방법이 없어보입니다.