API Tuenti
PHPTUENTI: API no oficial de Tuenti
PHPtuenti es una API no oficial de Tuenti escrita en PHP siguiendo el paradigma de orientación a objetos.
Tabla de contenidos
Requisitos
Descargas
Versión 0.0.7, publicada el 18 de enero de 2010. Para el registro de cambios vea el archivo ChangeLog.
Documentación
Próximamente más detallada.
Clase tuentiapi
Estos son sus métodos principales:
bool login ( string $email, string $password )- Se identifica en Tuenti con los datos proporcionados.
Devuelve:truesi la identificación es existosa,falseen caso contrario. bool logout ( )- Se desconecta de Tuenti.
Devuelve:truesi la identificación es existosa,falseen caso contrario. array getMyFriends ( )- Devuelve un array de objetos de tipo
tuenti_usercon todos los amigos de la cuenta con la que se ha realizado la identificación. De cada amigo se obtiene: el ID, el nombre, la frase del estado y la URL de la imagen del perfil; para obtener más datos del usuario vea la funcióngetUserInfo(). array getFriends ( int $uid )- Devuelve un array de objetos de tipo
tuenti_usercon todos los amigos del usuario con el ID pasado como parámetro. De cada amigo se obtiene: el ID, el nombre, la frase del estado y la URL de la imagen del perfil; para obtener más datos del usuario vea la funcióngetUserInfo(). array getMyWall ( [int $limit] )- Devuelve los mensajes que el usuario identificado tiene en su tablón en un array de objetos de tipo
tuenti_message. El parámetro opcional$limitindica el número de mensajes que se obtendrán; si es omitido se obtienen los 20 últimos mensajes. array getWall ( int $uid [,int $limit] )- Devuelve los mensajes que el usuario cuyo identificador es
$uidtiene en su tablón en un array de objetos de tipotuenti_message. El parámetro opcional$limitindica el número de mensajes que se obtendrán; si es omitido se obtienen los 20 últimos mensajes. tuenti_user getUserInfo ( int $uid )- Devuelve un objeto de tipo
tuenti_usercon varios datos del usuario cuyo identificador es$uidonullsi el parámetro no es válido. Los datos que se obtienen son: el nombre, la frase del estado, la URL de la imagen del perfil, la fecha de cumpleaños, la ciudad, la provincia, el estado marital (soltero, con alguien, etc.) y el parentesco (amigo, amigo de amigo o fuera de mi red). array getNotifications ( )- Devuelve las notificaciones (peticiones de amigo, mensajes, comentarios, etc.) del usuario con el que se realiza la identificación en un array de objetos de tipo
tuenti_notification. array getPhotoAlbums ( int $uid )- Devuelve un array de objetos de tipo
tuenti_photo_albumdel usuario con el ID dado. string downloadProfileImage ( int $uid [,int $size] )- Descarga la imagen que el usuario cuyo identificador es
$uid, la guarda en la carpetadownloadsy devuelve el path al archivo recién descargado. El parámetro opcionalsizepermite indicar el tamaño de la imagen; los valores admitidos son:
→phptuenti::BIG_SIZE, 500 pixeles de ancho.
→phptuenti::MEDIUM_SIZE, 200 pixeles de ancho.
→phptuenti::SMALL_SIZE, 75 pixeles de ancho.
→phptuenti::MINI_SIZE, 30 pixeles de ancho.
Ejemplo:
$uid = 66554433;
downloadProfileImage ( $uid, phptuenti::MEDIUM_SIZE );Nota: antes de descargar la imagen de un perfil es necesario obtener la información del usuario mediante la función
getUserInfo(uid).
Clase tuenti_user
Estos son sus métodos principales:
string getBirthday ( )- Devuelve la fecha de nacimiento del usuario en formato dd/mm/aaaa.
string getCity ( )- Devuelve la ciudad del usuario. Si el usuario no ha rellenado este campo en su perfil se devolverá un string vacío.
string getFriends ( )- Devuelve todos los amigos del usuario en un array de objetos de tipo
tuenti_user. string getMaritalStatus ( )- Su estado civil: casado, soltero, con alguien, etc.
string getName ( )- Devuelve el nombre del usuario.
string getNotifications ( )- Devuelve las nuevas notificaciones del usuario (peticiones de amigo, nuevos mensajes, nuevos comentarios, etc.).
array getPhotoAlbums ( )- Devuelve un array de objetos de tipo
tuenti_photo_albumdel usuario. string getProfileImage ( [int $size] )- Devuelve la URL de la imagen del perfil del usuario. El parámetro opcional
sizepermite indicar el tamaño de la imagen; los valores admitidos son:
→phptuenti::BIG_SIZE, 500 pixeles de ancho.
→phptuenti::MEDIUM_SIZE, 200 pixeles de ancho.
→phptuenti::SMALL_SIZE, 75 pixeles de ancho.
→phptuenti::MINI_SIZE, 30 pixeles de ancho.
Ejemplo:$img = getProfileImage(phptuenti::MEDIUM_SIZE); string getProvince ( )- Devuelve la provincia del usuario.
string getRelationship ( )- Devuelve la relación entre el usuario y tú (amigo, amigo de amigo o fuera de tu red).
string getStatus ( )- Devuelve el estado del usuario (la frase “está…”).
int getUID ( )- Devuelve el ID del usuario.
array getWall ( )- Devuelve el muro del usuario, que no es más que un array de objetos de tipo
tuenti_message.
Clase tuenti_photo_album
Representa un álbum de photos de tuenti. Estos son sus métodos principales:
string getName ( )- Devuelve el nombre del álbum de photos.
int getNumber ( )- Devuelve el número de fotos que contiene el álbum. Este valor siempre será mayor o igual que 1.
Clase tuenti_message
Representa un mensaje del tablón de un usuario de tuenti. Estos son sus métodos principales:
string getAuthor ( )- Devuelve el autor del mensaje.
string getMessage ( )- Devuelve el texto del mensaje.
string getTime ( )- Devuelve hace cuánto que el mensaje se escribió (“hace x días”, etc.).
Clase tuenti_notification
Representa una notificación de tuenti (peticiones de amigos, nuevos mensajes en el tablón, etc.). Estos son sus métodos principales:
string getNotification ( )- Devuelve la notificación. Ej: “1 nueva petición de amigo”
string getNotificationURL ( )- Devuelve la URL donde se puede ver la notificación. Para el ejemplo anterior: http://m.tuenti.com/?m=friends&func=view_friend_requests
string getLink ( )- Devuelve la notificación en forma de enlace HTML. Para el ejemplo anterior: <a href=”http://m.tuenti.com/?m=friends&func=view_friend_requests”>1 nueva petición de amigo</a>
Ejemplos de uso
Ejemplo 1
< ?php
/**
*
* Este ejemplo utiliza la API PHPtuenti para obtener los amigos del usuario
* con el que se realiza la identificación y los imprime a consola.
*
*/
require 'api/phptuenti.php';
$t = phptuenti::tuenti();
// nos identificamos
if ( !$t->login('micuenta@detuenti.com', 'contraseña') )
die('Dirección de correo o contraseña inválidos.');
// obtenemos nuestros amigos
$myfriends = $t->getMyFriends();
if ( count($myfriends) == 0 ) {
// no tenemos ningún amigo agregado
echo "No tengo ningún amigo :(\n";
}
else {
// mostramos de cada amigo su nombre, su UID, su estado y su imagen de perfil
echo "Mis amigos son:\n";
foreach ( $myfriends as $friend ) {
// $friend es un objeto de tipo tuenti_user
echo $friend->getName(), ' (' . $friend->getUID(), ")\n";
echo '--> ', $friend->getStatus(), "\n";
echo '--> ', $friend->getProfileImage(), "\n\n";
}
echo "Soy muy popular, tengo " . count($myfriends) . " amigos.\n";
}
// realizamos la desconexión de tuenti
$t->logout();
?>
La ejecución de este programa produce, si la identificación es exitosa, un resultado similar al que se muestra a continuación:
Armando Guerra Segura (11223344)
–> deseando que llegue el viernes!
–> http://imagenes9.tuenti.com/i40/i/1/200/m/0/iu9hk-xpuwrkx5Iuq9t.0.jpgLuis Alfonso de Borbón (22334455)
–> preparándome para el mundial…
–> http://imagenes1.tuenti.com/i25/i/3/200/3/8/qWu8WUV8hm3HyO3kShwb.0.jpgSoy muy popular, tengo 2 amigos.
Ejemplo 2
< ?php
/**
*
* Este ejemplo utiliza la API PHPtuenti para obtener las álbumes de fotos
* del usuario con UID 6050403020 (ficticio). Para poder obtener los álbumes
* el usuario con el $uid dado ha de existir y debes poder acceder a su perfil;
* en caso contrario la función getPhotoAlbums() devolverá 0.
*
*/
require 'api/phptuenti.php';
$t = phptuenti::tuenti();
// nos identificamos en tuenti
if ( !$t->login('micuenta@detuenti.com', 'contraseña') )
die('Dirección de correo o contraseña inválidos.');
$uid = 6050403020;
// obtenemos los albumes del usuario
$albums = $t->getPhotoAlbums($uid);
if ( count($albums) == 0 ) {
// no tiene fotos subidas (o el usuario $uid no existe o no se puede acceder a su página de fotos)
echo "Mi amigo #$uid no tiene álbumes de fotos :(\n";
}
else {
echo "Mi amigo #$uid tiene estos álbumes de fotos:\n";
foreach ( $albums as $albumtemp ) {
// $albumtemp es un objeto de tipo tuenti_photo_album
echo "Nombre: " . $albumtemp->getName() . "\n";
echo "Número de fotos: " . $albumtemp->getNumber() . "\n";
}
}
// realizamos la desconexión de tuenti
$t->logout();
?>
Ejemplo 3
< ?php
/**
*
* Este ejemplo utiliza la API PHPtuenti para obtener las notificaciones
* del usuario con el que se realiza la identificación.
*
* Genera un código HTML similar al siguiente:
*
* <h1>Novedades en mi tuenti</h1>
* <ul>
* <li><a href="?m=friends&func=view_friend_requests">1 nueva petición de amigo</a></li>
* <li><a href="?m=profile&func=my_wall">1 nuevo comentario en tu tablón</a></li>
* <li><a href="?m=messaging">1 mensaje nuevo</a></li>
* </ul>
*
*/
require 'api/phptuenti.php';
$t = phptuenti::tuenti();
// nos identificamos en tuenti
if ( !$t->login('micuenta@detuenti.com', 'contraseña') )
die('Dirección de correo o contraseña inválidos.');
// obtenemos las novedades
$notificaciones = $t->getNotifications();
if ( count($notificaciones) == 0) {
// no hay nada nuevo
echo "No tengo novedades en mi tuenti";
}
else {
// hay novedades! las mostramos por pantalla
?>
<h1>Novedades en mi tuenti</h1>
<ul>
< ?
foreach ( $notificaciones as $notif ) {
// $notif es un objeto de tipo tuenti_notification
echo "<li>" . $notif->getLink() . "\n";
}
?>
</ul>
< ?
}
// realizamos la desconexión de tuenti
$t->logout();
?>
Advertencia
Esta API se encuentra en estado de desarrollo muy temprano, de manera que pueden ocurrir fallos o no funcionar como se espera. Si encuentras un fallo, comunícamelo por favor.
Responsabilidad
El programador de esta API no tiene ninguna relación con Tuenti y no se responsabiliza del uso indebido de la misma ni de los daños que pueda ocasionar. La API, que se encuentra en estado de desarrollo, se proporciona «tal cual», sin ningún tipo de garantía expresa ni implícita. Úsala bajo tu responsabilidad.
Enlaces externos
Otros proyectos de API para Tuenti:
- «tuenpy», una API escrita en Python.
- «API no oficial para TUENTI», por Juan Pablo Muñiz.
Tuenti Api Google – cienblogs escribió
[...] API oficial para los developers interesados en … javierarias.wordpress.com/api-tuenti – ver Direcciones y cuentas de Tuenti | Tuenti Adictos Aprovechando que Google ha publicado su listado [...]