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
se usa de la siguiente forma:
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.
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:
El script lo incluimos en nuestra plantilla de la siguiente manera:
La lÃnea <b:if cond='data:blog.pageType == "item"'> especifica que solo se debe incluir el archivo si nos encontramos el alguna entrada.
Luego mostramos su contenido asÃ:
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 == "item"'> <script expr:src='"direccion_hacÃa_el_recurso_/bitly/index.php?href=" + data:blog.url'/> </b:if>
La lÃnea <b:if cond='data:blog.pageType == "item"'> 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 == "item"'>
<script type='text/javascript'>
var texto = '<data:blog.title/>: <data:blog.pageName/>';
document.write("<a href='quot;http://www.tuenti.com/share?url=quot; + urlcorta + "&title=" + texto +"' target='_blank'
title='compartir en tuenti'><img src='url de la imagen'/></a>");
</script>
</b:if>
<script type='text/javascript'>
var texto = '<data:blog.title/>: <data:blog.pageName/>';
document.write("<a href='quot;http://www.tuenti.com/share?url=quot; + urlcorta + "&title=" + texto +"' target='_blank'
title='compartir en tuenti'><img src='url de la imagen'/></a>");
</script>
</b:if>
- Los comentarios están siendo moderados y serán publicados en la brevedad posible.