2013-03-18 11 views
5

Ich entwickle eine einfache App mit Python, wo ich Tracks auf meinem eigenen Soundcloud-Account veröffentlichen kann. Ich möchte die URL des "Geheimen Links" für einen Track erhalten, den ich gepostet habe. Zum Beispiel erhalte ich die neueste Spur wie folgt:Wie kann ich den geheimen Link für einen Track erhalten, der in Python an Soundcloud gesendet wurde?

track = client.get('/me/tracks', limit=1)[0] 

Die Spur ist auf privat festgelegt. Er schlägt vor, in den Docs, dass so etwas wie dies sollte die geheimen Token zurück:

client.get('/tracks/%d/secret-token' %track.id) 

Allerdings bekomme ich httperror: 404 Client-Fehler: Nicht gefunden. Alle anderen Subressourcen scheinen zu funktionieren. Dieses Beispiel-Code zum Beispiel funktioniert wie man es erwarten würde:

comments = client.get('/tracks/%d/comments' %track.id) 

for comment in comments: 
    print comment.body 

Ich hätte gedacht, dass, da habe ich mein Beglaubigungs authentifizierte verwenden, würde ich Zugang zu diesem. Ist das richtig? Jede Hilfe würde sehr geschätzt werden.

+0

Die [Dokumentation] (http://developers.soundcloud.com/docs/api/reference#tracks) erwähnt sicherlich den API-Endpunkt; aber vielleicht müssen Sie zuerst einen Token "PUT"? –

+0

Ist auch die Spur * privat *? Wie ich es verstehe, wird der geheime Code nur für private Tracks benötigt. –

+0

@MartijnPieters Ja, es ist privat. Auch die Verwendung von PUT mit dem geheimen Token gibt mir denselben Fehler. –

Antwort

1

Der Endpunkt/me/tracks gibt ein Objekt Track zurück, das secret_token sowie die vollständige URL secret_uri enthält.

track = client.get('/me/tracks', limit=1)[0] 
print "Secret Token: %s" %track.secret_token 
print "Track URI: %s" %track.secret_uri 

Ich fand ich die client_id in der URI zu schließen brauchte einen 401.

Hinweis zu vermeiden bekommen: das so mit ihrem Support-Team überprüft undokumentiert ist, bevor diese in einer Anwendung unter Berufung