api SoundCloud
20110608
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
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
Anterior: petrohs:tekini
