테스트 사이트 - 개발 중인 베타 버전입니다

네이버 짧은 주소 ( me2.do ) (2022-11-14 01:03 수정)

 

[주] 이후 강좌수정내용의 업데이트가 안될수 있습니다.

본 강좌의 최신업데이트는 https://www.happyjung.com/lecture/3123 에서 확인가능합니다.

가급적 동일한 내용을 유지하려고 노력하지만, 우선 작업은 위 링크입니다.

 

 

네이버 단축URL Open API ( me2.do 짧은주소) 서비스를 사용하는 방법입니다
그누보드 본문에 적용했고, 그것을 정리하였습니다
다른 플러그인의 함수와 충돌하지 않도록 수정했습니다


1. 그누보드 최상단에 naver_shorturl.php 파일을 생성하고 아래 내용을 저장
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 네이버 단축URL Open API ( me2.do )
$NaverShorUrl_client_id = "1ZzKX0pdAC7bKr_yi2rq"; // 네이버 개발자센터에서 발급받은 CLIENT ID
$NaverShorUrl_client_secret = "qDey4LRftB";// 네이버 개발자센터에서 발급받은 CLIENT SECRET

//$encText = $_GET['query'];
//$encText = G5_BBS_URL."/board.php?bo_table={$bo_table}&wr_id={$wr_id}"; // 그누보드 긴주소 사용시
$NaverShorUrl_encText = G5_URL."/{$bo_table}/{$wr_id}"; // 그누보드 짧은주소 사용시

$NaverShorUrl_url = "https://openapi.naver.com/v1/util/shorturl.xml?url=".$NaverShorUrl_encText ;
$NaverShorUrl_headers = array();
$NaverShorUrl_headers[] = "X-Naver-Client-Id: ".$NaverShorUrl_client_id;
$NaverShorUrl_headers[] = "X-Naver-Client-Secret: ".$NaverShorUrl_client_secret;

$NaverShorUrl_ch = curl_init();
curl_setopt($NaverShorUrl_ch, CURLOPT_URL, $NaverShorUrl_url);
curl_setopt($NaverShorUrl_ch, CURLOPT_RETURNTRANSFER, true);        
curl_setopt($NaverShorUrl_ch, CURLOPT_HTTPHEADER, $NaverShorUrl_headers);

$NaverShorUrl_response = curl_exec ($NaverShorUrl_ch);
$NaverShorUrl_httpCode = curl_getinfo($NaverShorUrl_ch, CURLINFO_HTTP_CODE);
$NaverShorUrl_xml = simplexml_load_string($NaverShorUrl_response, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($NaverShorUrl_httpCode == 200) {
    $NaverShorUrl_transUrl = $NaverShorUrl_xml->result->url;
    $NaverShorUrl_orgUrl = $NaverShorUrl_xml->result->orgUrl;
    $NaverShorUrl_qr = $NaverShorUrl_xml->result->url.".qr";

    //echo "<img src=\"{$NaverShorUrl_qr}\" />";
    //echo "원주소 : {$NaverShorUrl_orgUrl}<br>";
    //echo "짧은주소 : <a href=\"{$NaverShorUrl_transUrl}\" target=\"_blank\">{$NaverShorUrl_transUrl}</a><br>";

} else {
    $errorFormat = "단축 URL 생성에 문제가 있습니다. errorCode:%d, errorMessage:%s";
    $message = sprintf($errorFormat, $xml->errorCode, $xml->errorMessage);
}


2. 그누보드 상단에 naver_shorturl_qr.php 파일을 생성하고 아래 내용을 저장
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 네이버 단축URL Open API ( me2.do )
$is_file_exist = file_exists(G5_PATH."/naver_shorturl.php");
if ($is_file_exist && $NaverShorUrl_httpCode == 200) {
    echo "<img src=\"{$NaverShorUrl_qr}\" />";
}


3. 그누보드 최상단에 naver_shorturl_url.php 파일을 생성하고 아래 내용을 저장
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 네이버 단축URL Open API ( me2.do )
$is_file_exist = file_exists(G5_PATH."/naver_shorturl.php");
if ($is_file_exist && $NaverShorUrl_httpCode == 200) {
    //echo "<a href=\"{$NaverShorUrl_transUrl}\" target=\"_blank\">{$NaverShorUrl_transUrl}</a>";
    echo $NaverShorUrl_transUrl;
}


4. 그누보드 최상단에 naver_shorturl_orgurl.php 파일을 생성하고 아래 내용을 저장
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 네이버 단축URL Open API ( me2.do )
$is_file_exist = file_exists(G5_PATH."/naver_shorturl.php");
if ($is_file_exist && $NaverShorUrl_httpCode == 200) {
    echo $NaverShorUrl_orgUrl;
}


5. skin / board / basic / view.skin.php  상단에 아래 내용 추가
// 네이버 단축URL Open API ( me2.do ) - 공통
$is_file_exist = file_exists(G5_PATH."/naver_shorturl.php");
if ($is_file_exist) {
    include_once(G5_PATH."/naver_shorturl.php");
}


6. skin / board / basic / view.skin.php  적당한 위치에 짧은주소 노출 하고자 하는 내용 추가

6-1. QR 이미지 노출시
<?php include(G5_PATH."/naver_shorturl_qr.php"); // 네이버 단축URL Open API ( me2.do ) - QR ?>


6-2. me2.do 주소 노출시
<?php include(G5_PATH."/naver_shorturl_url.php"); // 네이버 단축URL Open API ( me2.do ) - me2.do 주소 ?>


6-3. 원래 주소 노출시
<?php include(G5_PATH."/naver_shorturl_orgurl.php"); // 네이버 단축URL Open API ( me2.do ) - 원래 주소 ?>


참고자료
https://developers.naver.com/docs/utils/shortenurl/

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

좋은 팁 감사 합니다.
오늘 좋은 것 많이 줍줍 합니다. 감사합니다. ^^

게시글 목록

번호 제목
23798
23797
23792
23791
23785
23781
23770
23766
23764
23761
23747
23732
23724
23718
23706
23700
23697
23686
23682
23681
23680
23678
23665
23644
23643
23639
23637
23630
23626
23616