I am currently trying to use spotify-web-api-node to set the image of a playlist. The code works as expected when I use this simple base64 code for a red dot:
iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
The trouble comes when I attempt to use a base64 string for a more complicated image, generated from a URL. When I save the output of the base64 variable in the below code, it comes out to
UklGRvgBAABXRUJQVlA4IOwBAABwCgCdASpAAEAAPm0qkkWkIqGWDAbMQAbEsYBmGtRW3+fnuzZMaVmiUvmrstOXK8E9FMxMFMACZ5mR2BeTglFNrrEv3xdHwmsYY/ILHQkhiQF6rZ7pj+M0cu2pQAD+/TZpEYR3qbkzmLqSLmLDWeNK3CmYR2QeLIknAPrli4Z3bkmpfMEk18iV1n0Qp04hWfElU/b2mJ2whkabdpmHNVZhmx7M71fwInUlaWbHYf6wOH1YZaOAc/lZ/K+oY0QvQiHod0rmwh5WG8NOyBt8o+uwmKGStcTd0CvHP8l3RpmEc0b8mw5k14GbrJXk0mwQi7heL35DHmMfgFPscEWaLM7o1Xaj4ZMGilc9QYoCpkA01EFMcVo5sn44eYTZH48wM1syT8tOLaaGoh5Dd/fWU+kZtoDwWPjsFP94zzg2m4+9WcgNKJ0LT6bP+ZTcRrukrUzDcumWhopq23JITHoTLBN7bj3zoRrgciViKZArEi5VNGEO+XgxFAl/2cAkHQgwWCKgZ9zH9K5R5vg1K9LkVgMa0XfGkUYM/rURNtR9yqcbX2JhsojGtRJB8dq2zGq5oOUotdRojHwE+sGdyLlj4sWvSMDFrpcp+I28xyCPLBdUDsPI0dVwEJjtvxFu3TTs4CuZbvKLvmkvVgVAAAA=
The Code
let base64 = ""
request.get(guild.iconURL({size:64}), function (error, response, body) {
if (!error && response.statusCode == 200) {
base64 = Buffer.from(body).toString('base64');
}
});
spotifyApi.uploadCustomPlaylistCoverImage(playlistId, base64)
.then(function(data) {
console.log('Playlist cover image uploaded!');
}, function(err) {
console.log(err);
});
Spotify replies with a basic status: 400, message: 'Bad request'
What is wrong with my base64 string?