Abbiamo appena rilasciato un nuovo wrapper API Python. Puoi acquistarlo su PyPi o dal nostro Github account. Per caricare una traccia, devi prima ottenere un token di accesso utilizzando uno dei flussi di autenticazione OAuth2 supportati. Puoi leggere al riguardo nel numero README file. Fammi sapere se vuoi che io approfondisca l'autenticazione e posso modificare la mia risposta.
Per ottenere un token di accesso, il primo register your application on soundcloud.com. Dovrai fornire un URI a cui gli utenti verranno indirizzati dopo aver autorizzato la tua applicazione e ti verrà dato un ID client e un segreto client. Una volta che hai queste credenziali, passarli al costruttore Cliente:
import soundcloud
client = soundcloud.Client(client_id=YOUR_CLIENT_ID,
client_secret=YOUR_CLIENT_SECRET,
redirect_uri="http://your/redirect/uri")
Sarai quindi in grado di reindirizzare l'utente all'URL di autorizzazione al fine di autorizzare la vostra applicazione. L'utente verrà inviato a soundcloud.com per accedere (se non ha una sessione attiva) e approvare l'accesso per la tua app. In base al quadro che si sta utilizzando (ad esempio Django, Flask, ecc) potrebbe essere simile a questa:
return redirect(client.authorize_url)
Dopo aver approvato l'accesso per la vostra applicazione, l'utente verrà reindirizzato al uri reindirizzamento specificato al momento della registrazione la tua app e nel costruttore. L'URL avrà una stringa di query che include un parametro "codice" che è possibile utilizzare per ottenere un token di accesso. Anche in questo caso, a seconda del quadro che si sta utilizzando, questo potrebbe essere la seguente:
code = request.params.get('code')
token = client.exchange_token(code)
print token.access_token # don't actually print it, just showing how you would access it
probabilmente si dovrebbe archiviare il token di accesso (vale a dire in una sorta di archivio di dati come MySQL o Redis) in modo da poter usare ogni volta quell'utente desidera accedere a SoundCloud in futuro.
Una volta ottenuto un token di accesso, il caricamento di una traccia dovrebbe essere piuttosto semplice. Una volta ottenuto il file audio, invia semplicemente una richiesta POST alla risorsa tracce. Ecco un esempio:
import soundcloud
client = soundcloud.Client(access_token='YOUR_ACCESS_TOKEN')
track = client.post('/tracks', track={
'title': 'The title you want to give your track',
'sharing': 'private', # make this 'public' if you want
'asset_data': open('yourtrack.mp4', 'rb')
})
Otterrai una risorsa pista, che è possibile utilizzare per ottenere l'URL Soundcloud:
print track.permalink_url
Speranza che aiuta! Fatemi sapere se avete domande.
Grazie mille @Paul! E 'stato davvero utile! E sì, mi piacerebbe saperne di più su auth e su come ottenere il token di accesso .. Mi sarebbe di grande aiuto .. – vijay
Nessun problema vijay. Ho appena modificato la mia risposta per includere dettagli su OAuth2. –
Ha funzionato bene! Grazie mille @paul! – vijay