<?php $key = '이곳에 부여받은 key를 넣어주세요.'; class GoogleUrlApi { // key는 사용자요청에 따라 바꿀 수 있지만 apiURL은 google이 서비스를 중단하기 전까지는 고정 url이 됩니다. function GoogleURLAPI($key,$apiURL = 'https://www.googleapis.com/urlshortener/v1/url') { $this----->apiURL = $apiURL.'?key='.$key; } // url 줄이는 함수. function shorten($url) { $response = $this->send($url); return isset($response['id']) ? $response['id'] : "false"; } // Send information to Google function send($url,$shorten = true) { // cURL 생성 $ch = curl_init(); if($shorten) { curl_setopt($ch,CURLOPT_URL,$this->apiURL); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type : application/json")); curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(array("longUrl"=>$url))); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); } curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $result = curl_exec($ch); // curl 종료 curl_close($ch); // 결과 리턴. return json_decode($result,true); } } ?>php를 배워가며 쓰다보니 꽤 어려웠습니다.
위 소스는 하나의 php파일입니다.
key는 google shortener api 서비스를 이용하기 위해서
https://code.google.com/apis/console/?pli=1
에서 로그인 후에 보이는 화면에서 좌측 API Access 카테고리를 선택하시고
생성된 API key를 입력해주시면 됩니다.
상세하게 배운 내용들을 정리해 올리고싶지만 사실 curl에 대한 개념도 명확하게 서있지 않고;;
this 내장변수라고 해야할까요? 이것을 이용한 여러 사용법도 정확히 이해하고 있는 것이 아니라
상세한 내용은 하지 않겠습니다.
짧은 url을 생성하여 리턴해주는 위 소스코드를 사용하실 분은 위에서 알려드린대로
api key만 받아서 입력해주시고,
위 php파일을 require_once 하셔서 api key를 인자로하여 객체를 생성해주신 후
줄이기 원하시는 url을 생성된 객체의 shorten 메소드 인자로 넣어주시면 되겠습니다.
return되는 값은 줄어진 url 입니다.
리턴받는 모든 data들을 보시고 싶다면 $response 객체를
<pre><?php print_r($response); ?></pre>
이용하여 출력해보시면 됩니다.
위 클래스는 짧은 url을 이용한 웹어플리케이션을 만들 때 유용하겠습니다.
(특히나 sns 등의 서비스에 연동할 때 말이죠.)
'Programming > etc' 카테고리의 다른 글
programming : 사용하지 않는 변수를 계속 살려두지 마세요.. 동정심 따윈... (0) | 2011.06.15 |
---|---|
programming : 함수 (method) 의 4대요소. (0) | 2011.06.08 |
J2EE Development without EJB (토비님 블로그 링크) (0) | 2011.05.02 |
http protocol 정리 (0) | 2011.04.12 |
TP monitor (0) | 2011.02.14 |