/oauth/token API를 통해서 access token을 발급 받은 후에 [YOUR_ACCESS_TOKEN] 부분을 발급받은 access token으로 변경하고 나면 포스팅이 됩니다.
- 테스트 하기 전에 앱 설정을 들어가서 사이트 도메인 목록에 도메인(혹은 아이피주소)을 등록해야 합니다.
<?php
header("Content-Type: text/html; charset=UTF-8");
/**
* 스크랩 정보 요청 및 포스팅하기 샘플
*/
$API_HOST = 'https://kapi.kakao.com';
$LINK_INFO_URL = '/v1/api/story/linkinfo';
$POST_LINK_URL = '/v1/api/story/post/link';
// header 정보
$headers = array(
'Authorization: Bearer [YOUR_ACCESS_TOKEN]',
'Content-type: application/x-www-form-urlencoded;charset=utf-8'
);
// 1. 링크정보 요청
$params = array('url'=> 'https://developers.kakao.com');
$linkInfoContent = request($API_HOST.$LINK_INFO_URL, $headers, $params);
echo 'LinkInfo Result > '.$linkInfoContent;
// 2. 링크 포스팅
$params = array(
// required
'link_info' => $linkInfoContent,
// optional
'content' => '더 나은 세상을 꿈꾸고 그것을 현실로 만드는 카카오디벨로퍼스',
'permission' => 'A',
'enable_share' => 'false',
'android_exec_param' => '',
'ios_exec_param' => '',
'android_market_param' => '',
'ios_market_param' => ''
);
$linkPostResult = request($API_HOST.$POST_LINK_URL, $headers, $params, true);
echo '<br>Post Link Result > '.$linkPostResult;
// request helper
function request($url, $headers, $params, $isPostMethod=false) {
$opts = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSLVERSION => 1 // TLS
);
if ($isPostMethod) {
$opts[CURLOPT_URL] = $url;
$opts[CURLOPT_POST] = true;
if (!empty($params)) {
$opts[CURLOPT_POSTFIELDS] = http_build_query($params);
}
} else {
$url .= '?';
if (!empty($params)) {
$url .= http_build_query($params);
}
$opts[CURLOPT_URL] = $url;
}
$curlSession = curl_init();
curl_setopt_array($curlSession, $opts);
$result = curl_exec($curlSession);
if ($result === false) {
$error = curl_error($curlSession);
curl_close($curlSession);
return $error;
}
// for debug
//print_r(curl_getinfo($curlSession));
curl_close($curlSession);
return $result;
}
?>