Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unauthorized when uploading cover image #488

Open
Matix-Media opened this issue May 24, 2023 · 0 comments
Open

Unauthorized when uploading cover image #488

Matix-Media opened this issue May 24, 2023 · 0 comments

Comments

@Matix-Media
Copy link

      const playlistData = await spotify.createPlaylist("Daily Music Drive", {
        description: "Spotify's Daily Drive without podcasts",
      });
      console.log("Uploading playlist cover");
      await spotify.uploadCustomPlaylistCoverImage(
        playlistData.body.id,
        imageStore.dailyMusicDrive
      );

The first request works without problems, but the second request fails.

This is the base64 encoded image:

/9j/4AAQSkZJRgABAQEBLAEsAAD/4QCuRXhpZgAASUkqAAgAAAAHABIBAwABAAAAAQAAABoBBQABAAAAYgAAABsBBQABAAAAagAAACgBAwABAAAAAgAAADEBAgANAAAAcgAAADIBAgAUAAAAgAAAAGmHBAABAAAAlAAAAAAAAAAsAQAAAQAAACwBAAABAAAAR0lNUCAyLjEwLjM0AAAyMDIzOjA1OjI0IDIyOjAxOjM4AAEAAaADAAEAAAABAAAAAAAAAP/hDl1odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOkdJTVA9Imh0dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFN0Y0NzI0NzNBQzExRUI5RjU2QjJDMDVBNzI0NzIyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFhNWViZmM1LTY0MzMtNDIyYi05NDczLWE3NmNlYzE2NDM1MyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjc4ZDY3YzgxLTk4OGYtNDY0Yi1iOWY5LTVjMDM2M2E4NzhlYyIgZGM6Rm9ybWF0PSJpbWFnZS9qcGVnIiBHSU1QOkFQST0iMi4wIiBHSU1QOlBsYXRmb3JtPSJXaW5kb3dzIiBHSU1QOlRpbWVTdGFtcD0iMTY4NDk1ODQ5OTU1MjA2OSIgR0lNUDpWZXJzaW9uPSIyLjEwLjM0IiB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMzowNToyNFQyMjowMTozOCswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjM6MDU6MjRUMjI6MDE6MzgrMDI6MDAiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6Y2hhbmdlZD0iLyIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZTkyMGJhMy1hZGFjLTQ5MmQtOTllOS1lODY0OWIxMmYzMTEiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoV2luZG93cykiIHN0RXZ0OndoZW49IjIwMjMtMDUtMjRUMTc6NTM6MzIiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDpjaGFuZ2VkPSIvIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNTk5YmY5LTUwNWYtNDJjYS05YWQ0LWVhNGU3ODZjYTQ0NSIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChXaW5kb3dzKSIgc3RFdnQ6d2hlbj0iMjAyMy0wNS0yNFQyMjowMTozOSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiOWE0MDFkZi04MmIzLTdlNDItYjI5MS05Mzg1OGViMzI1ODkiIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWZmOTQxN2QtYjU5ZC00MTQ5LWFhZDYtZWY5OThmODViOWQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/4gKwSUNDX1BST0ZJTEUAAQEAAAKgbGNtcwRAAABtbnRyUkdCIFhZWiAH5wAFABgAEwA5AAxhY3NwTVNGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1kZXNjAAABIAAAAEBjcHJ0AAABYAAAADZ3dHB0AAABmAAAABRjaGFkAAABrAAAACxyWFlaAAAB2AAAABRiWFlaAAAB7AAAABRnWFlaAAACAAAAABRyVFJDAAACFAAAACBnVFJDAAACFAAAACBiVFJDAAACFAAAACBjaHJtAAACNAAAACRkbW5kAAACWAAAACRkbWRkAAACfAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACQAAAAcAEcASQBNAFAAIABiAHUAaQBsAHQALQBpAG4AIABzAFIARwBCbWx1YwAAAAAAAAABAAAADGVuVVMAAAAaAAAAHABQAHUAYgBsAGkAYwAgAEQAbwBtAGEAaQBuAABYWVogAAAAAAAA9tYAAQAAAADTLXNmMzIAAAAAAAEMQgAABd7///MlAAAHkwAA/ZD///uh///9ogAAA9wAAMBuWFlaIAAAAAAAAG+gAAA49QAAA5BYWVogAAAAAAAAJJ8AAA+EAAC2xFhZWiAAAAAAAABilwAAt4cAABjZcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltjaHJtAAAAAAADAAAAAKPXAABUfAAATM0AAJmaAAAmZwAAD1xtbHVjAAAA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

The error:

D:\Development\JS\spotify-daily-music-drive\node_modules\spotify-web-api-node\src\http-manager.js:39
    return new WebapiRegularError(response.body, response.headers, response.statusCode);
           ^
WebapiRegularError: An error occurred while communicating with Spotify's Web API.
Details: Unauthorized..
    at _toError (D:\Development\JS\spotify-daily-music-drive\node_modules\spotify-web-api-node\src\http-manager.js:39:12)
    at fn (D:\Development\JS\spotify-daily-music-drive\node_modules\spotify-web-api-node\src\http-manager.js:71:25)
    at Request.callback (D:\Development\JS\spotify-daily-music-drive\node_modules\superagent\src\node\index.js:902:3)
    at fn (D:\Development\JS\spotify-daily-music-drive\node_modules\superagent\src\node\index.js:1130:18)
    at IncomingMessage.<anonymous> (D:\Development\JS\spotify-daily-music-drive\node_modules\superagent\src\node\parsers\json.js:19:7)
    at Stream.emit (node:events:513:28)
    at Stream.emit (node:domain:489:12)
    at Unzip.<anonymous> (D:\Development\JS\spotify-daily-music-drive\node_modules\superagent\src\node\unzip.js:54:12)
    at Unzip.emit (node:events:513:28)
    at Unzip.emit (node:domain:489:12) {
  body: { error: { status: 401, message: 'Unauthorized.' } },
  headers: {
    'content-type': 'application/json; charset=utf-8',
    'cache-control': 'private, max-age=0',
    'x-robots-tag': 'noindex, nofollow',
    'access-control-allow-origin': '*',
    'access-control-allow-headers': 'Accept, App-Platform, Authorization, Content-Type, Origin, Retry-After, Spotify-App-Version, X-Cloud-Trace-Context, client-token, content-access-token',
    'access-control-allow-methods': 'GET, POST, OPTIONS, PUT, DELETE, PATCH',
    'access-control-allow-credentials': 'true',
    'access-control-max-age': '604800',
    'content-encoding': 'gzip',
    'strict-transport-security': 'max-age=31536000',
    'x-content-type-options': 'nosniff',
    date: 'Wed, 24 May 2023 20:04:17 GMT',
    server: 'envoy',
    via: 'HTTP/2 edgeproxy, 1.1 google',
    'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000',
    connection: 'close',
    'transfer-encoding': 'chunked'
  },
  statusCode: 401
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant