Javascript .env文件访问令牌适用于API,但不适用于Next.js中的另一个

Javascript .env文件访问令牌适用于API,但不适用于Next.js中的另一个,javascript,reactjs,environment-variables,spotify,next,Javascript,Reactjs,Environment Variables,Spotify,Next,我正在调用两个数据库——WordsAPI和SpotifyAPI。对于每个DB,都有一个访问令牌/DB密钥,这两个令牌都存储在.env文件中 我在getStaticProps中以相同的方式获取数据,它对WordsAPI来说运行良好,但对Spotify来说不起作用。在《邮递员》中,Spotify工作得很好 以下是电话: export async function getStaticProps(context) { const wordsRes = await fetch( `https:

我正在调用两个数据库——WordsAPI和SpotifyAPI。对于每个DB,都有一个访问令牌/DB密钥,这两个令牌都存储在
.env
文件中

我在
getStaticProps
中以相同的方式获取数据,它对WordsAPI来说运行良好,但对Spotify来说不起作用。在《邮递员》中,Spotify工作得很好

以下是电话:

export async function getStaticProps(context) {
  const wordsRes = await fetch(
    `https://wordsapiv1.p.rapidapi.com/words/${context.params.word}/definitions`,
    {
      method: "GET",
      headers: {
        "x-rapidapi-key": process.env.NEXT_PUBLIC_DB_KEY,
        "x-rapidapi-host": "wordsapiv1.p.rapidapi.com",
      },
    }
  )
    .then((response) => {
      return response;
    })
    .catch((err) => {
      console.error(err);
    });
  const songsRes = await fetch(
    `https://api.spotify.com/v1/search?q=${context.params.word}&type=track`,
    {
      method: "GET",
      headers: {
        authorization: "Bearer " + process.env.NEXT_PUBLIC_SPOTIFY_ACCESS_TOKEN,
      },
    }
  )
    .then((response) => {
      return response;
    })
    .catch((err) => {
      console.error(err);
    });
  const wordsData = await wordsRes.json();
  const songsData = await songsRes.json();
  return {
    props: {
      wordsData,
      songsData,
    },
  };
}
.env
文件如下所示:

NEXT_PUBLIC_SPOTIFY_ACCESS_TOKEN=BQDcgHT2IfAXsXXX_XXX_XXX
NEXT_PUBLIC_DB_KEY=a2c92537d6mshXXX
我听说把钥匙放在文件的底部不加一行会把事情搞砸,但是把钥匙换一下并没有改变任何事情。我还尝试了在每个文件中切换为字符串格式的各种组合,将头键切换为
“authorization”
,使用字符串插值等。我还尝试了将我的文件命名为
.env.local
(建议使用Next.js),但没有任何效果


SO上的大多数解决方案似乎都是关于.env文件根本不起作用的,这里不是这样。

如果您
console.log(process.env.NEXT\u PUBLIC\u SPOTIFY\u ACCESS\u TOKEN)
它是否显示了正确的令牌?它记录了
未定义的
您是否在使用
.env
的所有实验过程中重新启动了服务器?您可以记录所有的env变量并使用以下代码段进行检查:
对象.keys(k=>console.log(`->${k}=${process env[k]}')
@Rostyslav没有,刚重新启动,现在可以工作了。谢谢奥卡姆又在用剃刀咬我的屁股了。