PHP/고도몰

고도몰5Pro 카카오톡 공유(kakao) 오류 ErrorCode(4002)

개발폐인 2022. 8. 2. 04:30

고도몰 메인의 위젯은 사용자 추적관리를 위한 mtn 이라는 파라메타를 url 에 추가함

(예시. http://godomaill.com.com/goods/goods_view.php?goodsNo=100&mtn=12월정기^세일) 

 

mtn 파라메타가 위젯에 대한 제목이라서 특수문자가 들어갈수 있음.

 

카카오톡 공유시 mtn 파라메타의 특수문자로 인해 카카오톡 공유 오류 발생

 

ErrorCode(4002) 이 오류는 도메인 불일치 오류로 카카오 개발자 센터에서 설정한 값이 틀린경우 보통 발생함.

 

도메인 불일치 뿐만 아니라 공유 url에 특수문자가 들어가는 경우에도 발생할수 있는것임. (설명좀 적어두지..-_-)

 

ps)

OrderViewController 를 오버라이딩해서 mtn 파라메타를 정규식으로 제거해서 해결함.

고도몰5에서 sns 공유는 SocialShare.php  컴포넌트에서 처리를 하지만, 해당 컴포턴트를 수정하는것보다, 컨트롤러에서 변경하는게 편함

 

 //카카오톡 공유하기 오류 수정
//url 에서 mtn 파라메타에 특수문자가 포함될수 있어, 해당 파라메타를 정규식으로 제거함
$snsShareButton =$this->getData('snsShareButton');
if($snsShareButton['kakaolink']) {
    $snsShareButton['kakaolink'] = preg_replace('/(&mtn=.*)(\\")/i', '$2', $snsShareButton['kakaolink']);
    $this->setData('snsShareButton', $snsShareButton);
}