네이버 API에서 제공하는 단축 URL을 생성하는 간단한 Nodejs 소스입니다.
단축 링크로 변경할 URL Parameter를 전송하면 "me2.do/abcdefg" 형태로 단축 링크가 생성되어 반환됩니다.
쉽게 테스트 할 수 있도록 웹페이지에 텍스트 입력창을 사용하여 URL 전송 및 결과를 확인합니다.
다양한 예제 및 튜토리얼은 아래 네이버 개발자 페이지에서 확인할 수 있습니다.
developers.naver.com/docs/utils/shortenurl/
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
var express = require('express');
var app = express();
const bodyParser = require('body-parser');
var client_id = 'CLIENT_ID';//개발자센터에서 발급받은 Client ID
var client_secret = 'CLIENT_SECRET'; //개발자센터에서 발급받은 Client Secret
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/url', function (req, res) {
let contents = '';
contents += '<html><body>';
contents += ' <form action="/" method="POST" >';
contents += ' URL : <input type="text" name="shorturl" />';
contents += ' <input type="submit" />';
contents += ' </form>';
contents += '</body></html>';
res.send(contents);
});
app.post('/', (req, res, next) => {
var shorturl = req.body.shorturl;
console.log("shorturl : " + shorturl);
var query = encodeURI(shorturl);
var api_url = 'https://openapi.naver.com/v1/util/shorturl';
var request = require('request');
var options = {
url: api_url,
form: {'url':query},
headers: {'X-Naver-Client-Id':client_id, 'X-Naver-Client-Secret': client_secret}
};
request.post(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
res.writeHead(200, {'Content-Type': 'text/json;charset=utf-8'});
res.end(body);
} else {
res.status(response.statusCode).end();
console.log('error = ' + response.statusCode);
}
});
});
app.listen(3000, function () {
console.log('http://localhost:3000/url app listening on port 3000!');
});