0

我有这个代码:

const getToken = async () => {
  return Axios.post(
    `https://id.twitch.tv/oauth2/token?client_id=${process.env.TWITCH_ID}&client_secret=${process.env.TWITCH_SECRET}&grant_type=client_credentials`
  ).then((res) => res.data["access_token"]);
};

const getId = async (accessToken, session) => {
  const response = await Axios.get(
    `https://api.twitch.tv/helix/users?login=${session.user.name}`,
    {
      Authorization: `Bearer ${accessToken}`,
      "Client-Id": process.env.TWITCH_ID,
    }
  );
  return response.data.id;
};

export async function getServerSideProps(context) {
  const session = await getSession(context);

  if (session) {
    const accessToken = await getToken();
    console.log(accessToken);
    const id = await getId(accessToken, session);
    console.log(id);
  }
  return {
    props: {}, // will be passed to the page component as props
  };
}

这是 Next.js 函数,它将在每个请求上执行此操作。我正在使用 Next.js,next-auth 进行身份验证。一切都应该正常工作,即使在网上console.log(accessToken)我也能得到预期的输出。但在功能getId上它说401 - unauthorized。我正在调用 Twitch api。

4

0 回答 0