Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试访问Spotify API时出现令牌问题_Javascript_Api_Environment Variables_Spotify - Fatal编程技术网

Javascript 尝试访问Spotify API时出现令牌问题

Javascript 尝试访问Spotify API时出现令牌问题,javascript,api,environment-variables,spotify,Javascript,Api,Environment Variables,Spotify,我正在尝试使用添加的包装器“Spotify web API node”访问Spotify API的客户端凭据流,我很难找到自动刷新令牌的方法,因此我不必手动输入它。我也不知道如何将我的凭据放在一个单独的.env文件中,而不让api响应一个“未经授权”的错误。如果我的所有凭据都与api硬编码在同一个文件中,那么它将工作,但是如果我尝试将这些凭据放入.env文件中的环境变量中,它将返回一个错误。非常感谢您的帮助 const express = require("express")

我正在尝试使用添加的包装器“Spotify web API node”访问Spotify API的客户端凭据流,我很难找到自动刷新令牌的方法,因此我不必手动输入它。我也不知道如何将我的凭据放在一个单独的.env文件中,而不让api响应一个“未经授权”的错误。如果我的所有凭据都与api硬编码在同一个文件中,那么它将工作,但是如果我尝试将这些凭据放入.env文件中的环境变量中,它将返回一个错误。非常感谢您的帮助

const express = require("express");
const app = express();
const dotenv = require("dotenv");
dotenv.config();
const SpotifyWebApi = require("spotify-web-api-node");

app.listen(8888, () => console.log(`listening at http://localhost:8888`));

const spotifyAPI = new SpotifyWebApi({
  clientId: process.env.CLIENT_ID,
  clientSecret: process.env.CLIENT_SECRET,
  // redirectURi: 'http://localhost:8888/'
});

// Retrieve an access token
spotifyAPI.clientCredentialsGrant().then(
  (data) => {
    console.log("The access token is " + data.body["access_token"]);
    spotifyAPI.setAccessToken(data.body["access_token"]);
  },
  (err) => {
    console.log("Error receiving token", err.message);
  }
);



const getArtist = (artist) => {
  const info = spotifyAPI.searchArtists(artist).then(
    function (data) {
      return data.body;
    },
    function (err) {
      console.error(err);
    }
  );
  return info;
};


const spotify = async (artist) => {
  try {
    const info = await getArtist(artist);
    const albums = await getAlbums(id);
    const obj = {
      name: artist,
      followerCount: info.artists.items[0].followers.total,
      genres: info.artists.items[0].genres,
      id: info.artists.items[0].id,
    };
    return obj;
  } catch (err) {
    return err.message;
  }
};


module.exports = spotify;

展示你的代码——不要期望有人为你写代码。