필수 정보에 오류가 있다는데

카카오톡 공유 버튼을 웹사이트에 추가하고 있는데 에러가 발생하고 있습니다.
카카오톡이 뜨면서, “전달하려는 메세지의 필수 정보에 오류가 있습니다” 라는 에러 창이 나오는데요.
레퍼런스 문서를 봐도 원인을 못 찾겠습니다.
참고로 앱설정 세팅은 정확하게 되어 있고 제 코드는 아래와 같습니다.

Kakao.init(‘APP KEY’);

Kakao.Link.createTalkLinkButton({
      container: ‘#kakao-link-btn’,
      label: ‘경이로운 능력의 시작[미사용리퍼상품]삼성전자 NP-470R5EK02/ 인텔3세대 I7-3537U’,
      image: {
        src: ‘http://m.pabnida.com/files/66/65178.jpg’,
        width: ‘300’,
        height: ‘200’
      },
      webButton: {
        text: ‘팝니다닷컴’,
        url: ‘http://m.pabnida.com/product/?prdno=5071
      }
    });

올려주신 코드에는 문제가 없습니다.

webButton의 경우에는 웹 플랫폼에 링크하는 URL의 도메인을 등록해 주어야 하는데, 이 부분은 잘 등록하신 것으로 보입니다.
혹시 실제로 적용하신 코드에 appLink또는 appButton요소를 추가로 사용하신 것은 아닌지요? appLink또는 appButton을 사용하는 경우에는 아이폰/안드로이드 플랫폼을 설정해 주어야 합니다.

위 부분 확인해 주시고, 잘 안되실 경우 재현해 볼 수 있는 페이지의 주소를 전달해 주시면 확인해 보겠습니다.

http://mdev.pabnida.com/product/?prdno=4381

카카오링크가 삽입된 개발/테스트용 웹사이트 URL 주소입니다.
무엇이 문제인지 한번 더 살펴봐주세요.

링크해주신 팝니다닷컴 소스를 열심히 살펴보았는데요.

카카오톡에 링크를 전달할 때 내부적으로 JSON.stringify를 이용하는 부분이 있는데요.
팝니다닷컴에서 사용하고 있는 Prototype 라이브러리는 브라우저에 내장된 JSON의 stringify동작을 변경하도록 되어 있습니다.
JSON.stringify는 Object에 toJSON이 정의되어 있으면 이를 이용하도록 되어 있는데, Prototype 라이브러리에서는 Object, Array등에 toJSON을 추가하기 때문입니다.

Prototype에서 추가한 toJSON함수를 따로 사용하시는 부분이 없으시다면, 아래와 같이 Prototype의 toJSON함수들을 삭제해 주시면 됩니다.

if (window.Prototype) {
    delete Object.prototype.toJSON;
    delete Array.prototype.toJSON;
    delete Hash.prototype.toJSON;
    delete String.prototype.toJSON;
}

감사합니다. 덕분에 해결되었습니다…

1개의 좋아요