Javascript 如何从Spotify API获取信息,如何将响应转换为JSON?

Javascript 如何从Spotify API获取信息,如何将响应转换为JSON?,javascript,json,ajax,api,spotify,Javascript,Json,Ajax,Api,Spotify,我对javascript和API还不熟悉,所以我还在学习,但我不理解关于API的课程,所以现在我被困在项目的这一部分 这是我必须做的,我必须创建一个React应用程序,允许用户创建播放列表,然后将其发送给Spotify,因此我需要从Spotify获取音乐数据,然后将播放列表保存在Spotify中 const client_id = "CLIENT_ID" const redirect_uri = "http://localhost:3000/" let accessToken; let url

我对javascript和API还不熟悉,所以我还在学习,但我不理解关于API的课程,所以现在我被困在项目的这一部分

这是我必须做的,我必须创建一个React应用程序,允许用户创建播放列表,然后将其发送给Spotify,因此我需要从Spotify获取音乐数据,然后将播放列表保存在Spotify中

const client_id = "CLIENT_ID"
const redirect_uri = "http://localhost:3000/"

let accessToken;
let url = "https://accounts.spotify.com/authorize?client_id=CLIENT_ID&redirect_uri=http:%2F%2Fexample.com%2Fcallback&scope=user-read-private%20user-read-email&response_type=token&state=123"
const Spotify = {
  getAccessToken() {
    if (accessToken) {
      return accessToken;
    } else if (window.location.href.match(/access_token=([^&]*)/ & /expires_in=([^&]*)/)) {
      accessToken = window.location.href.match(/access_token=([^&]*)/);
      let expiresIn = window.location.href.match(/expires_in=([^&]*)/);
      window.setTimeout(() => accessToken = '', expiresIn * 1000);
      window.history.pushState('Access Token', null, '/');
    } else {
      window.location(`https://accounts.spotify.com/authorize?client_id=${client_id}&response_type=token&scope=playlist-modify-public&redirect_uri=${redirect_uri}`);
    }
  },

  search(term) {
    const response = fetch(`https://api.spotify.com/v1/search?type=track&q=${term}`, {
      method: 'GET',
      headers: {Authorization: `Bearer ${accessToken}`}
    })
    if (response.ok) {
      const jsonResponse = response.json().then(
        jsonResponse.map((track) => {
          ID: track.id,
          Name: track.name,
          Artist: track.artists[0].name,
          Album: track.album.name,
          URI: track.uri
      }))
    }
  }

  savePlaylist(namePlaylist, [])
};





export default Spotify
我很抱歉,如果它是混乱的,但我是新的,并没有理解这节课的任何内容,所以我甚至不知道我期望什么,但告诉我还有什么我必须指定。其中一个错误在这一部分:

    if (response.ok) {
      const jsonResponse = response.json().then(
        jsonResponse.map((track) => {
          ID: track.id,
          Name: track.name,
          Artist: track.artists[0].name,
          Album: track.album.name,
          URI: track.uri
      }))
    }

这些错误告诉我
意外标记
谈论
“ID”、“Name”、“Artist”、“Album”和“URI”
之后,还告诉我
预期的“;”但我认为没有逻辑,所以我确实需要一些帮助,我知道我可能还不清楚,所以请询问我任何问题以使其更清楚。

尝试以下内容。既然您已经有了一个对象,为什么还要尝试创建另一个对象?只要返回轨迹,它就是一个对象。即使您想创建另一个,也只需返回{property1:value1,property2:value2,propertyN:valueN}哦,太好了!我在谷歌上搜索了你的代码,找到了一些变体