Python поставить запрос. Spotify API поставить запрос Malformed Json - PullRequest
1 голос
/ 11 апреля 2020

Я был бы очень признателен за помощь. Я пытаюсь использовать API Spotify для добавления альбомов в библиотеку пользователей. Я боролся с искаженной Json полезной нагрузкой, и у меня совершенно нет идей.

Вот упрощенная версия того, на чем я сейчас сижу

url = 'https://api.spotify.com/v1/me/albums'
payload = {'body': ['01kTgTBiZkCFY3ZH2hBH6u', '4sz6Fn4BYORRLIc1AvQwQx']}
headers = {'Authorization':'Bearer {}'.format(access_token), 'Content-Type':'application/json',}
response = requests.put(url,headers=headers, data=payload)
print(response.json())

Ошибка, которой я являюсь получение находится в ответе json:

{'error': {'status': 400, 'message': 'Malformed json payload'}}

Я попытался изменить значение request.put, как показано ниже, но все попытки возвращают ту же ошибку

response = requests.put(url,headers=headers, json=payload)
response = requests.put(url,headers=headers, data=json.dumps(payload))
response = requests.put(url,headers=headers, json=json.dumps(payload))

1 Ответ

1 голос
/ 11 апреля 2020

Тот же самый парень из комментариев здесь: Это решение, которое, я считаю, работает на моем конце.

07bYtmE3bPsLB6ZbmmFi8d Этот идентификатор спойтифа предназначен для альбома, Dancefloor Hits # 1. Я проверил свое действие спойтиков, и это было в моих альбомах на моем действии. Ниже приведен мой код для его запуска.

import requests

url = "https://api.spotify.com/v1/me/albums"

payload = {"ids": "27cZdqrQiKt3IT00338dws"}
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer %s' % (access_token) # paste your access token in here
}

''' you can use the same syntax as above but the key was that your ID of album had to be a **parameter** not ***data***. 
To do that you use the params kwarg'''

response = requests.request("PUT", url, headers=headers, params = payload)

print(response.status_code) # should print out 200 when you run the code
# shows whether status was valid

PS Я пытался поместить изображение обложки альбома в качестве доказательства, но оно было слишком большим и думал, что оно отвлекает от ответа.

Удачного кодирования! Берегите себя!

...