Pc에서는 카카오톡 공유가 잘되는데 모바일에서만 요청 실패가 뜹니다. (4002)

앱 ID : 1217787
SDK 버전 : 2.7.6
UUID : d506f56e-c637-4692-9ec4-a43143e033d8
재현 url : https://grow-farm.com/visit 에 우측 상단 카카오톡 공유 버튼이 있습니다

기존 비슷한 경우의 글을 읽고 해결하려했으나 해결하지 못했습니다 ㅠㅠ 감사합니다…

메시지 파라메터가 규격에 맞지 않아 에러 발생했습니다.
설정은 이상 없어 보이는데요.
구현하신 코드블럭 공유 해주시겠어요?

10k가 넘을만한 내용이 있을지 파라메터 내용이 훼손될 만한 내용이 있을지 함께 찾아보도록 하겠습니다.

// 롤링페이퍼 공유하기 (피드 A형)
export const shareRollingPaper = async (
  userName: string,
  messageCount: number = 0
): Promise<boolean> => {
  const isInitialized = await initializeKakao();
  if (!isInitialized) {
    logger.error('카카오 SDK 초기화 실패');
    return false;
  }

  try {
    const shareUrl = `${window.location.origin}/rolling-paper/${encodeURIComponent(userName)}`;

    window.Kakao.Share.sendDefault({
      objectType: 'feed',
      content: {
        title: `${userName}님의 롤링페이퍼`,
        description: `${userName}님에게 따뜻한 메시지를 남겨보세요! 현재 ${messageCount}개의 메시지가 있어요.`,
        imageUrl: `${window.location.origin}/bigLog.png`,
        link: {
          mobileWebUrl: shareUrl,
          webUrl: shareUrl,
        },
      },
      buttons: [
        {
          title: '메시지 남기기',
          link: {
            mobileWebUrl: shareUrl,
            webUrl: shareUrl,
          },
        },
      ],
    });

    return true;
  } catch (error) {
    logger.error('카카오톡 공유 실패:', error);
    return false;
  }
};```

감사합니다! bigLog.png는 6.6kb 크기입니다!

아 아닙니다 5mb였네요

이미지는 별도 수집하므로 패킷 사이즈에 포함되지 않고 url string을 비롯한 전체 텍스트 크기만 체크합니다.

메시지를 구성하는 기본 구성요소 + sendDefault에 정의하신 text가 10k를 넘지 않으면 되는데요.
변수 처리부분에서 문제 요소가 있을 수는 있지만 코드자체는 문제 없어보이네요.

동일한 코드로 간단히 재현테스트 해봤지만 정상작동해서 오류 재현하지 못했습니다.


우선,
변수처리하신 부분을 하드코딩 하셔서 정상작동하는지 확인해보시겠어요?

추가로 확인해보니 사이트에 content-security-policy가 적용되어 있네요.
*.kakao.com 허용하시거나
아래 주소 허용해보시겠어요?
talk-apps.kakao.com
kapi.kakao.com

해결됐습니다! 감사합니다!!
제가 csp를 이미지에만 추가했었네요 ㅠㅠ 감사합니다!!

1개의 좋아요