Sigueme por RSS! RSS

Blogger: Compartiendo Post's con URL's cortas


El usar URL's cortas tiene su ventaja, es mas fácil de compartir, puede ser publicada en cualquier sitio con cierto de limite caracteres, etc.

Bit.Ly es un sitio que ofrece un servicio para acortar URL, a parte de eso nos suministra estadísticas de accesos, historiales de enlaces generados, entre otras cosas. Además, nos facilita una API con la que podemos generar esos enlaces de manera dinámica.

En blogandweb escribieron un artículo sobre como mostrar URLs cortas en Blogger haciendo uso de la API de Bit.ly y DHTML. Vamos a mostrar como hacer algo parecido pero usando PHP.

Colocaremos en el blog un botón que permita compartir cualquier entrada, enviando la URL corta directamente a Tuenti (el ejemplo es aplicable para cualquier otra red social o sitio).


En unijimpe muestran como acortar URLs con PHP y la Api de Bitly y hasta nos dejan una pequeña clase.

clase bitly.class.php
(clic para mostrar/ocultar)
<?php
// file: bitly.php
// author: unijimpe
// web: http://blog.unijimpe.net

class Bitly {
    var $path;
    var $user;
    var $key;
   
    function Bitly ($_user, $_key) {
        $this->path = "http://api.bit.ly/v3/";
        $this->user = $_user;
        $this->key = $_key;
    }
    function shorten($url) {
        $temp = $this->path."shorten?login=".$this->user."&apiKey=".$this->key.
"&uri=".$url."&format=txt";
        $data = file_get_contents($temp);
        return $data;
    }
    function expand($url) {
        $temp = $this->path."expand?login=".$this->user."&apiKey=".$this->key.
"&shortUrl=".$url."&format=txt";
        $data = file_get_contents($temp);
        return $data;
    }   
}
?>

se usa de la siguiente forma:
<?php
require("bitly.class.php");

$bitly = new Bitly('usuario_de_bitly', 'api_key_bitly');
echo $bitly->shorten('url');
?>

Es necesario registrarse en bit.ly si queremos hacer uso de todos sus servicios, luego del registro obtendremos:
usuario_de_bitly --> el usuario que incluimos al registrarnos.
api_key_bitly --> es una cadena de caracteres que nos permitirá usar la API en nuestros script, en lugar del password.

Cada vez que se use la API con nuestros datos, quedara registrado y podremos acceder a ellos iniciando sesión en el sitio. En caso de que alguien te copie los datos y no quieras que sea usada, puedes pedir una nueva key API.


En anujpathania muestran un ejemplo de como "correr un código PHP usando JavaScript", como Blogger nos deja usar JavaScript podemos usar ese ejemplo para trabajar con PHP (en Blogger no se puede ejecutar código PHP), vamos a usar la etiqueta <script> para incluir el archivo de ese tipo y trabajar con el resultado que devuelva.

En el archivo PHP debemos incluir en la primera línea, un header que indique que el tipo de archivo es JavaScript, para que al generarlo sea interpretado de esa forma por nuestro navegador, luego del proceso necesario, imprimimos lo que se mostrara luego como el contenido del archivo y que será lo que usaremos desde Blogger.
<?php
header("Content-type: application/x-javascript");

.. contenido.. 
echo $salida;
?>

A tu servidor debes subir una carpeta que contenga la clase bitly.class.php y un archivo que contendrá el llamado a la API, ese archivo será index.php.
contenido del archivo index.php:
(clic para mostrar/ocultar)
<?php
Header("content-type: application/x-javascript");

function IsURL($sURL) 
{
   $sURL = strip_tags($sURL);
   $dir = @fopen($sURL,"r") or 
   die('FOPEN se encuentra deshabilitada o la URL intrucida es incorrecta');
   fclose($dir);
   return $dir ? true : false;
}

$sURL = $_GET['href'];
if (empty($sURL))
{
   echo 'Se necesita la URL..';
   exit;
}
else
   IsURL($sURL);

// incluimos la clase
require("bitly.class.php");
// creamos la instancia
$bitly  = new Bitly('usuario_bitly','api_key_bitly');

echo 'var urlcorta = "', trim($bitly->shorten($sURL)) ,'";';
?>

El script lo incluimos en nuestra plantilla de la siguiente manera:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script expr:src='&quot;direccion_hacía_el_recurso_/bitly/index.php?href=&quot; 
+ data:blog.url'/>
</b:if>

La línea <b:if cond='data:blog.pageType == &quot;item&quot;'> especifica que solo se debe incluir el archivo si nos encontramos el alguna entrada.

Luego mostramos su contenido así:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
var texto = &#39;<data:blog.title/>: <data:blog.pageName/>&#39;;
document.write(&quot;<a href='quot;http://www.tuenti.com/share?url=quot; + urlcorta + &quot;&amp;title=&quot; + texto +&quot;' target='_blank'
title='compartir en tuenti'><img src='url de la imagen'/></a>&quot;);
</script>
</b:if>


0 comentarios: Suscribete a los comentarios por RSS

Publicar un comentario

- Los comentarios están siendo moderados y serán publicados en la brevedad posible.