miércoles, 24 de julio de 2013

phpTuenti API

Buenos días!
Después de bastante tiempo si escribir nada, hoy escribo para compartir con vosotros una pequeña API no oficial en PHP para Tuenti hecha por mi.

El enlace a GitHub: https://github.com/segura2010/phpTuenti

Ahí tienen la API y para cada función una breve descripción.
Espero que les sea útil :)

Si alguien quiere añadir algo a la API o modificar algo para mejorarla puede decirlo y colaborar :)

Por cierto, como alguno me comentó cuando hice la API para Python que por que no le ponía una licencia, he decidido añadirle una licencia Creative Commons a la API !

Intentaré escribir con mas frecuencia!! Hasta la próxima! :)

8 comentarios:

  1. Hola:

    ¿Podrías explicar un poco como usar esta api?

    Yo he probado usandolo desde la konsola así (cambiando mi user y pass):

    $php examples.php

    Y me da siempre el siguiente error:

    PHP Parse error: syntax error, unexpected '[' in /home/me/phpTuenti-master/Tuenti.php on line 84

    Gracias.

    ResponderEliminar
    Respuestas
    1. Puede que el error lo de por que metes un email y contraseña invalido, además parece que han cambiado una cosilla y ya no funcionaba el inicio de sesión..
      He actualizado la API para que vuelva a funcionar y he añadido un metodo para hacer el login y saber si se ha iniciado sesion correctamente :)
      Para usar la API primero crear el objeto de la clase Tuenti con un email y contraseña, y despues llamas al método "login()" y compruebas el valor que devuelve para saber si se inició sesión correctamente.
      Una vez que el login es correcto puedes empezar a usar los diferentes métodos que hay :)

      Prueba con la nueva versión que he publicado hoy :)

      Eliminar
    2. Hola:

      He descargado la nueva versión, la contraseña y el email que meto son correctos pero obtengo el error en el mismo sitio que con la versión anterior, la primera función de la api, getUsersData()

      $ php examples.php
      PHP Parse error: syntax error, unexpected '[' in /home/me/phpTuenti-master/phpTuenti-master/Tuenti.php on line 97

      esa linea corresponde a esta parte del código, la referente a json:

      return json_decode($resp)[0]->users;

      No sé, igual estoy haciendo algo mal o me falta algo instalado, pero otros scripts con php me funcionan bien desde la konsola.

      Gracias por contestar.

      Eliminar
    3. No estoy muy seguro, pero creo que es por usar el json_decode y obtener el elemento "0" en la misma linea.. prueba a sustituir esa linea por:
      $rs = json_decode($resp);
      $rs = $rs[0];
      return $rs->users;

      Así separamos el proceso en varias lineas.. A ver si así te funciona :)
      Avisa por aquí y actualizo la api para que funcione para todos :)

      Eliminar
  2. La otra API tuenti que tienes con Python si que me funca, pero esta no hay manera :)

    $ php examples.php
    PHP Fatal error: Call to undefined function curl_init() in /home/me/phpTuenti-master/Tuenti.php on line 24


    ResponderEliminar
    Respuestas
    1. El problema no es de la API, sino de que no tienes instalado o habilitado la librería cURL. Instala o habilita la librería y funcionará. :)

      Eliminar
    2. Parece que tenías razón en lo del módulo curlphp, ahora conecta pero me sigue petando la respuesta con json_decode de cada método:


      < HTTP/1.1 100 Continue
      < HTTP/1.1 301 Moved Permanently
      < Server: nginx
      < Date: Fri, 23 Aug 2013 18:26:33 GMT
      < Content-Type: text/html; charset=utf-8
      < Transfer-Encoding: chunked
      < Cache-Control: no-cache, must-revalidate
      < Expires: Mon, 26 Jul 2005 04:59:59 GMT
      < Location: ?m=Home&func=index
      < X-Frame-Options: SAMEORIGIN
      * HTTP error before end of send, stop sending
      <
      * Closing connection #0
      PHP Fatal error: Cannot use object of type stdClass as array in /home/me/tuenti/phpTuenti-master/Tuenti.php on line 87

      $resp = $this->post($data);
      //return json_decode($resp
      [0]->users;
      $rs = json_decode($resp)
      $rs = $rs[0]; <-- aquí peta
      return $rs->users;


      Saludos :)

      Eliminar
    3. Acabo de modificar la API, a ver si ahora te funciona :)

      Eliminar