以下代码有什么问题?

时间:2018-01-18 14:37:21

标签: javascript angular api spotify spotify-app

我正在研究一个使用Spotify API获取数据的Angular2应用程序示例。当我运行代码时,我在控制台中得到响应错误"无效访问令牌"。我提供了正确的访问令牌,但错误仍然存​​在,我没有得到如何解决它以及我做错了什么。

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

@Injectable()
export class SpotifyService {
  private searchUrl: string;   

  constructor(private _http: Http) { }

  searchMusic(str: string, type = 'artist') {
    const access_token = '<My Access Token Here>';
    const headers = new Headers({ 'Authorization': 'Bearer ' + access_token });
    this.searchUrl = 'https://api.spotify.com/v1/search?query='+str+'&offset=0&limit=20&type='+type+'&market=US';

    return this._http
      .get(this.searchUrl, { headers })
      .map(res => res.json());
  }
}

错误屏幕截图:enter image description here

2 个答案:

答案 0 :(得分:1)

您可以通过在标题中添加其中一个内容类型进行检查

var headers: Headers = new Headers({'Authorization': 'Bearer ' + access_token, 'Content-Type': 'application/x-www-form-urlencoded' });

OR

var headers: Headers = new Headers({'Authorization': 'Bearer ' + access_token, 'Content-Type': 'application/json' });

答案 1 :(得分:1)

您是否能够通过在api控制台中提供访问令牌来获得有效的响应?

https://developer.spotify.com/web-api/console/get-search-item/?q=tania+bowra&type=artist