[¿Interesante?] PHPTUENTI: API no oficial de Tuenti

Puede que no seais usuarios de Tuenti o directamente seáis detractores suyos (con mayor o menor razón) pero la verdad es que el número de usuarios de esta red social es lo suficientemente grande, o eso creo, como para que resulte interesante conocer la existencia de una API no oficial para "jugar" con mejores o peores intenciones.

Está todavía en sus primeros pasos pero no dejar de tener una funcionalidad suficiente. Veamos los requisitos, la descarga y la documentación presentes hasta el momento en su sitio oficial. Su nombre por cierto es: PHPTuenti. Tenéis ejemplos de uso, en la web.

Requisitos

  • PHP 5 con la librería cURL.
  • Tener una cuenta en Tuenti con el modo móvil activado.

Descargas

Versión 0.0.4, publicada el 14 de abril de 2009. 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: true si la identificación es existosa, false en caso contrario.
bool logout ( )
Se desconecta de Tuenti.
Devuelve: true si la identificación es existosa, false en caso contrario.
array getMyFriends ( )
Devuelve un array de objetos de tipo tuenti_user con 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ón getUserInfo().
array getFriends ( int $uid )
Devuelve un array de objetos de tipo tuenti_user con 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ón getUserInfo().
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 $limit indica 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 $uid tiene en su tablón en un array de objetos de tipo tuenti_message. El parámetro opcional $limit indica 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_user con varios datos del usuario cuyo identificador es $uid o null si 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_album del 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 carpeta downloads y devuelve el path al archivo recién descargado. El parámetro opcional size permite 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_album del usuario.
string getProfileImage ( [int $size] )
Devuelve la URL de la imagen del perfil del usuario. El parámetro opcional size permite 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>

Comentarios

elRufo:

¿Interesante? Pues yo creo que si... así a bote pronto se me ocurre que se podría hacer un sistema de "registro" o logueo para algún cms basado en las cuentas de tuenti... ¿para un foro de usuarios de tuenti, por ejemplo? Pensadlo, en plan OpenID o el invento similar de Facebook.

carazo:

La idea es muy buena. Está cogiendo tal grado de difusión el Tuenti entre un sector de la juventud española que por suerte o por desgracia, para todo aquel que tenga una página en la que la temática y el público objetivo coincidan, tienen como tu dices, un sistema de logueo asegurado con su cuenta Tuenti como podemos ver en otros sitios con la cuenta Facebook.