Szczerze mówiąc nie wiem…
Ale mi się przydało, bo dzięki temu zrozumiałem jak działa REST API i uwierzytelnianie OAuth 2.0 😉
Za mną kolejny projekt, tym razem dużo szybszy i prostszy, w porównaniu do ostatniego lotniska, ale… niezwykle wartościowy pod kątem nauki.
🎯 Wyzwanie:
Napisać prostą aplikację konsolową, która połączy się z API Spotify i umożliwi:
- Wyszukanie listy albumów po wpisaniu nazwy lub jej fragmentu
- Wybieranie albumu, który chcemy odtworzyć
- Pobranie listy dostępnych urządzeń zarejestrowanych na koncie Spotify
- Wybranie urządzenia i przekazanie odtworzenia na nim wybranego albumu
🛣️ Droga:
Na początku wszystko pięknie, piszę metodę za metodą i wszystko śmiga jak za dotknięciem czarodziejskiej różdżki. Biorę się za przedostatni punkt (pobieranie urządzeń) i…. niby działa, ale nie do końca? Szukam, testuję, szukam, testuję, wszystko wygląda ok… i nagle – eureka! Zdałem sobie sprawę, że przecież nie korzystam ze Spotify już od prawie roku i nie mam zainstalowanego go na ŻADNYM z moich urządzeń 😂
Szybka instalacja i… sukces! Urządzenia znalezione.
Ostatnia metoda – przekazanie albumu do odtworzenia i…. znowu coś jakby nie tak.
I tu się dowiedziałem co oznacza OAuth 2.0…😂
Okazało się, że operacje modyfikujące stan aplikacji (np. zmiana utworu na urządzeniu) wymagają tokena z innym, szerszym zakresem uprawnień (tzw. „scope”), niż ten podstawowy, służący tylko do odczytu danych.
Całe szczęście wiem, jak cudownie modele językowe radzą sobie z tłumaczeniem i przeszukiwaniem dokumentacji. Wrzucam dokumentację Spotify API do modelu, parę pytań i mam… Zmodyfikowałem zapytanie o token, uwzględniając odpowiedni przepływ autoryzacji OAuth 2.0 i… Mamy to! 💪
✅ Wynik:
Nie tylko działający projekt w portfolio, ale przede wszystkim praktyczne zrozumienie mechanizmów REST API i autoryzacji OAuth 2.0.
Kolejne cenne narzędzie ląduje w moim stacku technologicznym. 💪
Ale nie zwalniam tempa. Kolejne wyzwania już czekają! 😉
#Programowanie #RESTAPI #API #OAuth2 #SpotifyAPI #Developer #NaukaProgramowania #Kodowanie #Projekty #Portfolio #Tech #TechStack #SoftwareDevelopment #LearningByDoing #Backend
