Spotify API mit PowerShell nutzen - Bitte 8-Bit

Latest

Donnerstag, 1. September 2022

Spotify API mit PowerShell nutzen


Ich habe mir kürzlich einen PowerShell Automatismus bauen wollen, der mich am Musikfreitag über neue Alben informiert. Da lag es nahe eine API eines Musikstreaming Dienstes zu verwenden. Spotifys API Dokumentationen richten sich hier deutlich an Linux-Developer und so tat ich mich schwer per PowerShell den Access Token auszulesen. Darum will ich hier einfach mal mein Sample posten:

# App credentials
# https://developer.spotify.com/documentation/general/guides/authorization/app-settings/

$clientId     = ""
$clientSecret = ""

# Request access token
$accessToken = (Invoke-RestMethod -Uri "https://accounts.spotify.com/api/token" `
-Method POST `
-Headers @{"Authorization" = "Basic "+[System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("$clientId"+":"+"$clientSecret"));} `
-Body @{grant_type="client_credentials"}).access_token

# Define endpoint
$endpoint = "https://api.spotify.com/v1/browse/new-releases?country=DE&limit=50"

# API request
# https://developer.spotify.com/documentation/web-api/reference/#/operations/get-new-releases
$output = Invoke-RestMethod -Uri $endpoint `
-Method Get `
-Headers @{"Authorization" = "Bearer $accessToken"} `
-ContentType "application/json"

# Further processing
$newAlbums = @()
foreach ($obj in $output.albums.items)
{
   $artist  = $obj.artists.name
   $album   = $obj.name
   $release = $obj.release_date

   $newAlbums += [pscustomobject]@{Artist=$artist;Album=$album;ReleaseDate=$release}
}
$newAlbums | sort ReleaseDate -Descending

Keine Kommentare:

Kommentar veröffentlichen