【问题标题】:How to fetch data from Spotify Search API and parse it to JSON? [In node.js如何从 Spotify Search API 获取数据并将其解析为 JSON? [在 node.js 中
【发布时间】:2021-08-08 08:35:24
【问题描述】:

这是我的 app.js:

const express = require("express");
//const https = require("https");
const app = express();

app.get("/", function(req, res) {
  
  const query = niall;

  // Follow procedure here to get access_token and refresh_token: https://benwiz.com/blog/create-spotify-refresh-token/

  const access_token = {access_token};
  const token = "Bearer " + access_token;
  var searchUrl = "https://api.spotify.com/v1/search?q=" + query + "&type=track&limit=4";





  ////////WRITE YOUR CODE HERE//////////




  
});
// Starting the server. Should this be placed at the top of all other commands?
app.listen(3000, function() {
  console.log("Server is running on port 3000.")
})

预期行为:

我们将使用 https.get 方法从 api 端点获取结果。

返回的数据将被解析为JSON。

我们需要将此 JSON 输出中的轨道 ID 的值存储到一个变量中,并将其记录在控制台中。

有用的资源:

我真的需要帮助。任何帮助将不胜感激。

【问题讨论】:

    标签: node.js express oauth-2.0 get spotify


    【解决方案1】:

    ////////WRITE YOUR CODE HERE////////// 替换为

    axios.get(searchUrl, {
          headers: {
            'Authorization': token,
          }
        })
        .then((resAxios) => {
          console.log(resAxios.data)
          spotifyResult = resAxios.data;
    
          //Extracting required data from 'result'. The following "items[0].id.videoId" is the address of the data that we need from the JSON 'ytResult'.
          let spotifyTrackIdAppJs00 = spotifyResult.tracks.items[0].id;
          let spotifyAlbumIdAppJs00 = spotifyResult.tracks.items[0].album.id;
          let spotifyArtistIdAppJs00 = spotifyResult.tracks.items[0].artists[0].id;
          console.log("Fetched values: " + spotifyTrackIdAppJs00 + ", " + spotifyAlbumIdAppJs00 + ", " + spotifyArtistIdAppJs00);
    
          // The 'results' named EJS file is rendered and fed in response. The 'required' data is passed into it using the following letiable(s).
          // A folder named 'views' has to be in the same directory as "app.js". That folder contains 'results.ejs'.
          res.render("results", {
            spotifyTrackIdEjs00: spotifyTrackIdAppJs00,
            spotifyAlbumIdEjs00: spotifyAlbumIdAppJs00,
            spotifyArtistIdEjs00: spotifyArtistIdAppJs00
          });
          console.log("Values to be used in rendered file: " + spotifyTrackIdAppJs00 + ", " + spotifyAlbumIdAppJs00 + ", " + spotifyArtistIdAppJs00);
        })
        .catch((error) => {
          console.error(error)
        })
    

    我还需要专辑和艺术家的 ID 值。请相应修改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 2020-05-06
      • 1970-01-01
      • 2017-07-21
      • 2015-07-11
      • 2020-07-10
      • 2015-10-31
      相关资源
      最近更新 更多