API Spotify выдает ошибку CORS даже после добавления токена аутентификации для получения плейлиста исполнителя

Для доступа к списку воспроизведения исполнителя с помощью API Spotify требуется токен авторизации. Я использую метод, показанный в этом ссылка, но я получаю следующую ошибку: "Поле заголовка запроса 0 не разрешено Access-Control-Allow-Headers в предварительном ответе".

Платформа: Ubuntu; Браузер: Гугл Хром

Обновление: мой сервис Angular для получения плейлиста исполнителя.

import { Injectable } from '@angular/core';
import { Http, Headers, Response, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class SpotifyService {

  private searchUrl: string;
  private authToken: string= "My auth token here";

  constructor( private _http: Http ) { }

  get( query: string, type= "artist" ){

    let headers = new Headers([
      { 'Authorization': 'Bearer ' + this.authToken },
      { 'Accept': 'application/json' }
    ]); // ... Set content type to JSON
    let options = new RequestOptions({ headers: headers }); // Create a request option
    this.searchUrl = "https://api.spotify.com/v1/search?q=" + query + "&type=artist&market=US";

    return this._http.get( this.searchUrl, options )
          .map( response=> response.json() );
   }

}

Update2: добавление заголовков запросов и ответов:

Заголовки запроса
Accept:*/* Accept-Encoding:gzip, deflate, br Accept-Language:en-US,en;q=0.8 Access-Control-Request-Headers:0,1,2 Access-Control-Request-Method:GET Connection:keep-alive DNT:1 Host:api.spotify.com Origin:http://localhost:4200 Referer:http://localhost:4200/ User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

Заголовки ответов
Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:Accept, Authorization, Origin, Content-Type Access-Control-Allow-Methods:GET, POST, OPTIONS, PUT, DELETE Access-Control-Allow-Origin:* Access-Control-Max-Age:604800 Connection:keep-alive Content-Length:0 Date:Sun, 06 Aug 2017 03:30:56 GMT Keep-Alive:timeout=600 Server:nginx Strict-Transport-Security:max-age=31536000; X-Content-Type-Options:nosniff


person suraj bora    schedule 05.08.2017    source источник
comment
Попробуйте использовать их SDK, если таковые имеются   -  person Microsmsm    schedule 06.08.2017
comment
@Microsmsm Я не хочу использовать какой-либо SDK или библиотеку для своего приложения. Любая зацепка будет полезна.   -  person suraj bora    schedule 07.08.2017
comment
может @mamsoudi может помочь?   -  person suraj bora    schedule 07.08.2017


Ответы (1)


Заголовки HTTP не передаются вашему запросу.

Конструктор Angular Headers ожидает объект, а не массив.

Ваш код должен выглядеть так:

let headers = new Headers({
    'Authorization': 'Bearer ' + this.authToken,
    'Accept': 'application/json'
}); // ... Set content type to JSON
person Teh    schedule 14.08.2017