Encurtando URL com o Google.

Com ja postei sobre como encurtar uma url com o bit.ly, criei uma clase bem simples para fazer o mesmo utilizando o encurtador do Google, apesar de ter outras opções que podemos utilizar na Api como buscar dados estatísticos de uma url, optei por fazer somente o encurtamento de uma URL que pode ser utilizado rapidamente , com o mínimo de esforço e pode ser utilizado em qualquer aplicação.

O único requisito é que se tenha uma chave do Google Api que você pode conseguir em http://code.google.com/apis/console/.

É necessário o uso do CURL, específicamente da função curl_exe que em alguns serviços de hospedagem fica desabilitado por medida de segurança, portanto verifique a disponibilidade desta função para que a classe funcione normalmente

/**INICIANDO A CLASSE **/
class GoogleUrl {
  
  /** CONSTRUTOR**/
  function GoogleUrl($chave,$apiURL = 'https://www.googleapis.com/urlshortener/v1/url') {
    
	/** MONTA A URL**/
    $this->apiURL = $apiURL.'?key='.$chave;
  }
  
  /**Encurtar a URL**/
  function encurtar($url) {
    /** Envia a informação e retorna a resposta  **/
    $resposta = $this->enviar($url);
    return isset($resposta['id']) ? $resposta['id'] : false;
  }
  
  /**Envia a informação para a API do Google **/
  function enviar($url) {
   /** Inicia o curl**/
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$this->apiURL);
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(array("longUrl"=>$url)));
    curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/json"));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    /** Executar o Post **/
    $result = curl_exec($ch);
    /** Fechar a Conexão **/
    curl_close($ch);
    /** Retorna o Resultado **/
    return json_decode($result,true);
  }    
}

A classe pega a url indicada e envia a Api do google que nos retorna a url ja formatada com o encurtador do google, caso haja algum problema neste processo a classe retornará false. A sua utilização é bem fácil como descrito abaixo:

/** UTILIZAÇÃO **/
$chave = 'xhjkhzkhfuh38934hfsdajkjaf';
$google = new GoogleUrl($chave);

/** Encurtar a url **/
$urlCurta = $google->encurtar("http://www.andersongarcia.com");
echo $urlCurta; 

Inicia-se a classe e utiliza-se a função encurtar(), esta função vai retornar a url do encurtador do google como é o esperado. Simples assim.

Categorias

Publicidade

Tags

Palavras Chave Estoricas Calculando frete pelo site dos correios com PHP J.Stackmenu