Sau khi tìm kiếm một lúc, tôi đã tìm thấy các giải pháp sau cho cuộc gọi api yêu cầu phương thức Xóa.Python Xóa Yêu cầu cho api còn lại (trên gae)
thử đầu tiên: (httplib thư viện)
url = '/v1/users/'+ spotify_user_id +'/playlists/'+ playlist_id +'/tracks'
data = json.dumps({"tracks": [{ "uri" : track_uri }]})
headers = {
'Authorization' : 'Bearer ' + access_token,
'Content-Type' : 'application/json'
}
conn = httplib.HTTPSConnection('api.spotify.com')
conn.request('DELETE', url , data, headers)
resp = conn.getresponse()
content = resp.read()
return json.loads(content)
này trả về:
{u'error ': {u'status': 400, u'message ': u'Empty JSON cơ thể '}}
Second try:. (urllib2 thư viện)
url = 'https://api.spotify.com/v1/users/'+ spotify_user_id +'/playlists/'+ playlist_id +'/tracks'
data = json.dumps({"tracks": [{ "uri" : track_uri }]})
headers = {
'Authorization' : 'Bearer ' + access_token,
'Content-Type' : 'application/json'
}
opener = urllib2.build_opener(urllib2.HTTPHandler)
req = urllib2.Request(url, data, headers)
req.get_method = lambda: 'DELETE'
try:
response = opener.open(req).read()
return response
except urllib2.HTTPError as e:
return e
này trả về:
HTTP 400 Bad Request
tôi có các chức năng khác nơi JSON đang làm việc, vì vậy tôi đoán vấn đề là với phương pháp DELETE nhưng tôi không thể làm cho nó làm việc.
Bên cạnh đó, webapp đang chạy trên công cụ ứng dụng của Google nên tôi không thể cài đặt gói vì vậy tôi muốn giữ nguyên trong các thư viện được cài đặt sẵn.
Bất kỳ ai cũng có cách tốt để thực hiện yêu cầu Xóa trên GAE? (Tôi cần phải gửi cả dữ liệu và tiêu đề)
API là spotify: developer.spotify.com/web-api/ và tôi đang cố xóa một bản nhạc khỏi danh sách phát.
Cảm ơn bạn rất nhiều vì đã nỗ lực đặt câu hỏi của bạn. Bạn đã làm mới niềm tin của tôi vào SO, ít nhất là trong một ngày. –
Ví dụ thứ hai của bạn có vẻ lạ Bạn đã xem xét việc thử urlfetch - nó hỗ trợ phương thức DELETE. https://cloud.google.com/appengine/docs/python/urlfetch/fetchfunction –
Tôi đã cố gắng sử dụng urlfetch và tôi nhận được phản hồi này: {u'error ': {u'status': 400, u 'message': cơ thể JSON u'Empty. '}} – NBajanca