2013-09-30 97 views
0

在使用soundcloud python库上传轨道以与Soundcloud API进行交互时存在一些问题。422客户端错误:未知错误Soundcloud API轨道上传

错误日志:

Traceback (most recent call last): 
    File "uploadToSoundcloud.py", line 25, in <module> 
    'asset_data': open('/home/jhvisser/Music/driveAt5_'+now.strftime("%y%m%d")+'.mp3', 'rb') 
    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 134, in make_request 
    result.raise_for_status() 
    File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 722, in raise_for_status 
    raise HTTPError(http_error_msg, response=self) 
requests.exceptions.422 Client Error: Unknown Error 

代码导致错误。 25行是指assest_data行。

#Upload driveAtFive to SoundCloud 
driveAtFive = client.post('/tracks', driveAtFive={ 
    'title': 'Drive at 5 - ' + now.strftime("%Y-%m-%d"), 
    'sharing': 'public', 
    'asset_data': open('/home/jhvisser/Music/driveAt5_'+now.strftime("%y%m%d")+'.mp3', 'rb') 
}) 

回答

3

您需要通过track关键字参数。在这里你已经命名它driveAtFive这是不正确的。将代码示例更改为:

driveAtFive = client.post('/tracks', track={ 
    'title': 'Drive at 5 - ' + now.strftime("%Y-%m-%d"), 
    'sharing': 'public', 
    'asset_data': open('/home/jhvisser/Music/driveAt5_'+now.strftime("%y%m%d")+'.mp3', 'rb') 
}) 

让我知道是否有帮助。