4

プレイリスト(セット)を管理するためのpythonアプリを開発しています。このアプリは、SoundCloud API を使用してセットを作成/更新/削除する必要があります。

API を使用してセットを作成しても問題ありません。しかし、作成したプレイリストを変更または削除しようとすると、403 Client Error: Forbidden が表示されます。

API ドキュメントの「SoundCloud Connect 画面を使用しない認証」セクションを使用しました。

これが私のコードです:

client = soundcloud.Client(client_id='MY_ID', client_secret='MY_SECRET', username='NAME', password='PASS')
client.post('/playlists', playlist={'title': 'Test playlist', 'sharing': 'public', 'tracks': [], 'permalink': 'test-playlist'})
client.delete('/playlists/test-playlist')

そして、削除時に次の例外が発生します。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/soundcloud/client.py", line 130, in _request
    return wrapped_resource(make_request(method, url, kwargs))
  File "/usr/local/lib/python2.7/dist-packages/soundcloud/request.py", line 190, in make_request
    result.raise_for_status()
  File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 683, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden

また、トラックをプレイリストに追加しようとすると、同じ例外が発生します

client.put('/playlists/test-playlist', playlist={'tracks': tracks})

トラックは次のとおりです。

[{'id': 57417403}, {'id': 100249929}, {'id': 37964083}]
4

0 に答える 0