카카오 스토리 웹사이트 공유 api를 사용할때 스크랩할 이미지를 지정할 수 있나요?

코드는 PC 웹사이트에서 카카오 스토리에 전송하는 예제를 편집한 것입니다. 잘 동작하는데요.

"이대로 전송하면 페이지에서 스크랩된 임의의 이미지가 타임라인에 붙게 되더군요.
따로 이미지 파일만 첨부 업로드하는 방식은 테스트 해보았고 잘 올라가는것 확인했습니다만, 제가 원하는 방식은 아닙니다."

게시판과 쇼핑아이템에 붙여 쓸 것이어서 해당 레코드에 관련된 이미지를 함께 전송하려고 합니다.
방법이 있다면 조언 부탁드리겠습니다.

// Kakao.API.request함수는 Promise를 반환합니다.
// Promise를 이용하여 간결한 코드를 작성할 수 있습니다.
Kakao.init("<?php echo $config['cf_kakao_js_apikey']; ?>");
function loginWithKakao() {
    Kakao.Auth.login({
        persistRefreshToken : true,
        success: function(authObj) {
            Kakao.API.request( {
                url : '/v1/api/story/linkinfo',
                data : {
                    url : '<?php echo "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI]; ?>',
                }
            }).then(function (res) {
                res.url="<?php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>";
                res.title="<?php echo stripslashes($it['it_name']); ?>";
                res.description="<?php echo $it['it_basic']; ?>";
                return Kakao.API.request( {
                    url : '/v1/api/story/post/link',
                    data : {
                        link_info : res
                    }
                });
            }).then(function (res) {
                return Kakao.API.request( {
                    url : '/v1/api/story/mystory',
                    data : { id : res.id }
                });
            }).then(function (res) {
                // document.getElementById('post-result').innerHTML = JSON.stringify(res);
                alert('카카오 스토리에 등록 되었습니다!');   
            }, function (err) {
                alert(JSON.stringify(err));
            })
        }
    });
}  

안녕하세요, 스크랩은 Open Graph 프로토콜에 따라 이루어지게 됩니다.
아래와 같이 헤더에서 og:image태그를 사용하여 페이지를 스크랩할 때 선정될 대표 이미지를 지정할 수 있습니다.

<head>
  <title>Kakao Developers</title>
  <meta property="og:url" content="https://developers.kakao.com/">
  <meta property="og:title" content="Kakao Developers_">
  <meta property="og:type" content="website">
  <meta property="og:image" content="http://dn.api1.kage.kakao.co.kr/14/dn/btqaWlTUTtD/Jtsl6FoQWSZG1rb2wAEEy1/o.jpg">
...
</head>
2개의 좋아요

답변 고맙습니다.
관련 이미지가 따로따로 스크랩 되도록 별도 파일로 만들어서 헤더에 인크루드 하는 방식으로 해결 하였습니다.
잘 동작됩니다.

참고)YoungCart5 에 적용한 예제

// Open Graph protocol에 따른 공유 스크랩이미지 아이템별 개별 처리
// 쿼리 없이 약간의 트릭으로 처리
if($it_id) { 
    $og_img_path = G5_DATA_URL."/item/".$it[it_id];
    $og_img_file = $it[it_img1];
    list($og_img_dir,$og_img_name) = explode("/",$og_img_file);
    $og_img = preg_replace("/\.[^\.]+$/i", "", $og_img_name);
    $og_img = $og_img_path.'/thumb-'.$og_img.'_245x245.jpg';
}
1개의 좋아요

@anon20148473 버튼 A 를 누를 때마다 jquery로 메타태그 og:image 를 변경하고, 그 상태에서 버튼 B 를 클릭하면 카스로 웹페이지 공유 전송을 하도록 구현했는데요.
Kakao.API .request({ url : ‘/v1/api/story/linkinfo’,
data : {
url : ‘내 도메인’
}
})

이 쿼리 후에
.then(function(res) {}) 을 통해서 res 를 콘솔에 찍어봤는데,
메타태그 og:image 에 넣어준 이미지가 없고, 콘솔에 찍힌 image 객체도 아예 빈 배열인데요?
스크랩할 때 og:image 로 하는거 맞나요?

심지어 오늘부터는 image 프로퍼티가 나오지도 않네요…

임의로 이미지를 추가하는건 code:-2 에러만 나오고…

수정중이라서 그런건가요???

@sksmsvlxk
스크랩 서버는 캐시 기간이 있기 때문에, 동적으로 이미지를 변경하여 스크랩하는 방식으로 사용하기는 어려울 것 같습니다.

https://devtalk.kakao.com/t/topic/2138/2?u=vincent