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

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

· 3년 전 · 2686 · 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년 전
오늘 좋은 것 많이 줍줍 합니다. 감사합니다. ^^
감사합니다.

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168