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

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

· 3년 전 · 2685 · 3

 

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

본 강좌의 최신업데이트는 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개

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

게시글 목록

번호 제목
19430
19420
19398
19387
19379
19371
19358
19354
19345
19343
19330
19322
19303
19296
19283
19274
19256
19244
19238
19230
19229
19219
19201
19184
19183
19177
19153
19133
19132
19090