Folosirea API-ului pentru goo.gl


Ştiu că nu e un subiect tocmai proaspăt. La 11 ianuarie venea anunţul că Google URL Shortener gets an API. M-am jucat atunci cu acel API dar uite că nu am finalizat. Acum mi-am amintit de subiect văzându-l tratat cu profesionalism de David Walsh, aici, care a scris o minunată şi mică clasă pentru a opera cu goo.gl. Dar ce e al lui e al lui, eu pun mai jos codul meu. Al meu l-aş numi didactic, al lui numai bun de integrat în proiecte (mai ales dacă vă place să lucraţi cu obiecte şi clase).

Fără să o mai lungesc vă invit să vedeţi aici documentaţia, în continuare codul (care „face” şi „desface” ur-uri cu goo.gl), iar la final demonstraţia live.

[PHP]function ia_continutul($apiurl,$url,$scurt) {
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$apiurl.($scurt?’&shortUrl=http://’.$url:”));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
if(!$scurt){
curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(array(‘longUrl’=>$url)));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
if(isset($_POST["url"])){
$apiurl = "https://www.googleapis.com/urlshortener/v1/url?key=………..";
$url=str_replace(array("http://","https://"),"",$_POST["url"]);
$scurt=substr($url,0,6)=="goo.gl";
$continut = ia_continutul($apiurl,$url,$scurt);
if($scurt)
echo "<p>Am extins adresa <a href=’http://".$url."’ target=_blank>http://".$url."</a> la <a href=’".json_decode($continut)->longUrl."’ target=_blank>http://".json_decode($continut)->longUrl."</a>.</p>";
else

echo "<p>Am scurtat adresa <a href=’http://".$url."’ target=_blank>http://".$url."</a> la <a href=’".json_decode($continut)->id."’ target=_blank>".json_decode($continut)->id."</a>.</p>";
}
echo ‘<form method="post" action="goo-gl.php">’;
echo ‘http://<input type="text" name="url">’;
echo ‘<input type="submit" value="Da"></form>’;[/PHP]

Evident, în cod va trebui să folosiţi propria cheie pentru API, după domeniul unde folosiţi. Şi acum demonstraţia. Nu uitaţi că puteţi scrie adrese normale (caz în care le scurtează), dar şi adrese goo.gl (caz în care le extinde).


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (3 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *