[Angular 2] spotify
Marcin Romanowski
6/20/2017 | 12:10 PM

Spotify wprowadziło konieczność autentykacji zapytań. W angular2 próbuję pobrać token z https://accounts.spotify.com/api/token ale w konsoli dostaję błąd. To samo pobieram bez problemu postmanem. W załączonym pliku fragment kodu oraz error z konsoli. Również próbowałem z zahaszownymi headerami ale bez skutku. Jak mogę to prawidłowo pobrać? z góry dziękuję za pomoc

Załącznik: http.txt
Mateusz user
7/31/2017 | 4:02 PM

Witam, kurs będzie zaktualizowany wraz z dodatkową lekcją. Tymczasem można zarejestrowac sie w https://developer.spotify.com/my-applications/ do projektu dodaj załączony plik oraz dodaj w app.module.ts -> providers oraz wstrzyknij: export class AppModule { constructor(private auth:AuthService){ this.auth.getToken() } } W pliku trzeba podmienic client_id z panelu developera spotify

Załączony plik: auth.service.ts
Marcin Romanowski
6/23/2017 | 9:56 PM

Wszystko jasne, to spotify nie akceptuje OPTIONS. Sami zalecają nie używanie w ten sposób. Polecają zrobić autentykacje w popup i callback ale utknąłem przy proxy i wysyłaniu loginu i hasła :/

Marcin Romanowski
6/22/2017 | 9:26 AM

Witam. Zrobiłem trochę testów i efekt jest taki, że do POST mogę dodać tylko jeden header Content-Type. Jeśli dostaję inny to żądanie POST jest zamieniane na OPTIONS bez body. Gdzie szukać przyczyny takiego zachowania? Z góry dziękuję za pomoc. w pliku txt kod js z komentarzami.

Załączony plik: investig.txt
Marcin Romanowski
6/20/2017 | 6:23 PM

Jak dodaję nagłówek Authorization to dostaję "Status 204 No Content" i rzeczywiście, contentu nie ma. Jak ten nagłówek usunę to dostaję 400 Bad request z odpowiedzią bad_client ale nagłówek content-type jest dodany i content został wysłany. Ktoś pomoże?

Załączony plik: test.txt
Marcin Romanowski
6/20/2017 | 6:14 PM

Wydaje mi się, że problem jest w http.post a dokładnie nagłówki. w web-dev w request headers nie widzę tych headerów, które dodaje. Jeśli dodam tylko jeden header Content-type to ten pojawia się w nagłówku i wtedy dostaję error 400, bad client.