Mostrando entradas con la etiqueta curl. Mostrar todas las entradas
Mostrando entradas con la etiqueta curl. Mostrar todas las entradas

20110608

api SoundCloud

Como hoy, extrañamente, si tenia ganas de trabajar; termine rápido el pendiente y al no haber mas requerimientos para hoy, me puse a jugar con SoundCloud

Intentando leer un poco de http://developers.soundcloud.com/ veo que existen aplicaciones para escritorio pero no hay una que se adapate a mis necesidades por lo que por mera morbosidad me puse a realizar consultas a la api.

  • Primero, es necesario registrarse. La cuenta básica es gratuita por lo que no existe inconveniente de ir a http://soundcloud.com/ para crearla.
  • La cuenta nos permite ingresar a la interfaz pero para usar la api es necesario dar de alta una aplicación en http://soundcloud.com/you/apps/new Es importante guardar los datos de identificación
  • NOTA: Los pasos realizados los estoy ejecutando con curl desde linea de comandos. Como dato adicional, en el trabajo esta websense y para salir libremente empleo tor-browser por lo que paso como parámetro adicional a curl la salida del proxy
    $ TOR='--socks5 127.0.0.1:9050'
  • Si queremos comunicarnos tenemos que autentificarnos, para ello emplea oauth.
    $ curl $TOR 'https://api.soundcloud.com/oauth2/token' -d 'client_id={numeroCliente}' -d 'client_secret={numeroSecreto}' -d 'grant_type=password' -d 'username={cuenta@correo}' -d 'password={contrasenna}'
    {"access_token":"435cacc0cedf0249c4e1153453ac8144","expires_in":3599,"scope":"*","refresh_token":"4084a8c8e9e91e50dd4eadb3e151a240"}

    El valor importante es access_token. Se pueden emplear otros métodos de autentifiación
  • La consulta para obtener un listado de canciones es
    $ curl $TOR 'https://api.soundcloud.com/tracks.json?oauth_token=f751eb4a184caaa56fe60dce34abdbf9&q=zztop'
    La salida json es bastante amplia pero los interesantes son los campos download_url
  • Para descargan la canción es empleando dicho campo
    curl $TOR -L 'https://api.soundcloud.com/tracks/16106687/download?oauth_token=f751eb4a184caaa56fe60dce34abdbf9' -o /tmp/s.mp3
  • Listo para escuchar
    $ mpg321 /tmp/s.mp3
  • Siguiente paso, la automatización :D