네이버 단축 URL API를 이용하면 간단하게 단축 URL을 만들 수 있습니다. API KEY 가 없다면 https://developers.naver.com/products/datalab/ 에 접속해서 API KEY 를 신청해 주세요.

Naver_Shortener() 함수에 들어갈 첫 번째는 API Key 를 입력하고, 두 번째는 Secret 를 입력합니다. 세 번째는 짧게 할 실제 URL를 입력합니다.

$return = Naver_Shortener($client_id, $secret, $short_url);

반환 값은 성공시 배열, 아니면 에러 코드를 반환하며 배열은 original_url 과 short_url 인 배열입니다. original_url 은 단축하기 전의 URL 값이며, short_url 은 단축한 URL 값이 됩니다.

<?php
function Naver_Shortener( $client_id, $secret, $short_url )
{
	$headers = array(
		'X-Naver-Client-Id:' . $client_id,
		'X-Naver-Client-Secret: ' . $secret
	);


	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, 
		"https://openapi.naver.com/v1/util/shorturl?url=" . urlencode($short_url)
	);
	curl_setopt($ch, CURLOPT_TIMEOUT, 30);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	$data = curl_exec($ch);
	curl_close($ch);

	$data = json_decode($data, true);
	if($data['code'] === "200")
	{
		return array(
			// 원본 URL 
			// ex. https://developers.naver.com/docs/utils/shortenurl
			'original_url' => $data['result']['orgUrl'],
			// 짧은 URL 
			// ex. http://me2.do/GqtgOZX9
			'shout_url' => $data['result']['url']
		);
	}
	return $data['code'];
}

$url = Naver_Shortener('abcdef', 'frgtyh', 'https://developers.naver.com/docs/utils/shortenurl');
print_r($url);
/*
  결과:
  Array
  (
    [original_url] => https://developers.naver.com/docs/utils/shortenurl
    [shout_url] => http://me2.do/GqtgOZX9
  )
*/
?>

0 댓글