Public/Playlists/Send-PlaylistCoverImage.ps1
<#
.SYNOPSIS Replace the image used to represent a specific playlist. .EXAMPLE PS C:\> Send-PlaylistCoverImage -Id 'blahblahblah' -ImagePath '..\myCoverImage.jpg' Set cover image of the playlist with id 'blahblahblah' using '..\myCoverImage.jpg' .EXAMPLE PS C:\> Send-PlaylistCoverImage -Id 'blahblahblah' -ImageBase64 '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAcFBQYFBAcGBQYIBwcIChELCgkJChUPEAwRGBUaGRgVGBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQLCxQqHBgcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wgARCAAWABUDAREAAhEBAxEB/8QAFgAAAwAAAAAAAAAAAAAAAAAABQYH/8QAFwEAAwEAAAAAAAAAAAAAAAAAAwQFBv/aAAwDAQACEAMQAAAAqs1kRGdedTMmOcoikj0XSSzjIl0BXdwH/8QAKxAAAwACAQMBBgcBAAAAAAAAAQIDBAUGABESFAchMTJBURMiM0RhcXJz/9oACAEBAAE/AOX8zy8HPtq9PfEw/SSFtjs8v3zw1b5UVe4DUPx957KOn2XJtVeDQ5Uufe36WDtIQRMkjuxVGkiMp8f99uuO76HIdLLYxSkixadYOPzxojFXRu31DA9crhFM7mes2uM9/VVnm+Ckq1sZpSmXUqCx8DNwQAetdyzTck3+mGFAXyMQtTG8PUDxRkKM5LxVewVvq3XsyQvp9tsf2uy2lb4v8zCJLy/pmmzDrkPGddyGEPXissiD98fLxn/DtEn4+LfY/UHuD1D2W4Iuw2e52WfjV+fFIhBLf9DGaM/WNOMIiMJrOcgEVFUBVA+AA+3X/8QAIREAAgEEAgIDAAAAAAAAAAAAAQIDAAQRMQUhEhQiUWH/2gAIAQIBAT8Au731/jjyJ0Kg5ltlOhv8qFxIgYVyCP7KMpx9GpuPFrbuFbJOM1YQskChqlgjl2KWwhHeKHVf/8QAHREAAgIDAAMAAAAAAAAAAAAAAQIAAwQRIRATIv/aAAgBAwEBPwCmj277Dgrodjpo6mK4CnkFhcjktP1EciG5vH//2Q==' Set a smiley cover image on the playlist with id 'blahblahblah' .PARAMETER Id Specifies the Spotify ID for the playlist. .PARAMETER ImagePath Path to a JPEG Image file to send. (~190KB max size) .PARAMETER ApplicationName Specifies the Spotify Application Name (otherwise default is used) #> function Send-PlaylistCoverImage { param( [Parameter(Mandatory)] [string] $Id, [Parameter(Mandatory, ParameterSetName = "ImagePath")] [string] $ImagePath, [Parameter(Mandatory, ParameterSetName = "ImageBase64")] [string] $ImageBase64, [string] $ApplicationName ) $Method = 'Put' $Uri = "https://api.spotify.com/v1/playlists/$Id/images" if ($ImagePath) { if ($PSVersionTable.PSVersion.Major -ge 7) { $Body = [Convert]::ToBase64String((Get-Content $ImagePath -AsByteStream)) } else { $Body = [Convert]::ToBase64String((Get-Content $ImagePath -Encoding Byte)) } } if ($ImageBase64) { $Body = $ImageBase64 } Send-SpotifyCall -Method $Method -Uri $Uri -Body $Body -ApplicationName $ApplicationName } |