2013-03-18 5 views
5

私は自分のSoundcloudアカウントにトラックを投稿できるPythonを使って簡単なアプリケーションを開発しています。私は私が投稿するトラックのための 'シークレットリンク' URLを取得したいと思います。たとえば、最新のトラックは次のようになります。PythonでSoundcloudに投稿されたトラックのシークレットリンクを取得するにはどうすればよいですか?

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

トラックはプライベートに設定されています。

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

は、しかし、私はHTTPErrorを取得:404クライアントエラー:見つかりませんでしたそれはこのようなものは、秘密のトークンを返す必要があることをDocsに示唆しています。その他のすべてのサブリソースは機能しているようです。あなたが期待するように、この例のコードは、例えば、動作します:

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

for comment in comments: 
    print comment.body 

は、私は自分の資格情報を使用して認証していることを考えると、私はこれへのアクセス権を持っているだろう、と思っているだろう。これは正しいです?どんな支援も大歓迎です。

+0

でこれを頼る前に、彼らのサポートチームに確認してくださいので、文書化されていません[documentation](http://developers.soundcloud.com/docs/api/reference#tracks)には確実にAPIエンドポイントが記述されています。しかし、おそらくあなたは最初にトークンを 'PUT'する必要がありますか? –

+0

また、トラック*プライベート*ですか?私が理解しているように、秘密のコードはプライベートトラックにのみ必要です。 –

+0

@MartijnPietersはい、プライベートです。また、秘密トークンでPUTを使用すると、同じエラーが発生します。 –

答えて

1

/me/tracksエンドポイントは、secret_tokenと完全なurを含むTrackオブジェクトを返します。

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

は、私は401

注意を避けるためにURIにclient_idを含める必要が見つかりました:これはアプリケーション

関連する問題