Survey Monkey API 节点服务器 GET 请求 returns 未授权 401 错误

Survey Monkey API Node server GET request returns Unauthorized 401 error

我正在使用 SurveyMonkey 的 API 构建小型服务器,但出现 401 状态错误。响应仅返回以下内容:

  {
    "size": 0,
    "timeout": 0
  }

这是我目前用于路线的代码。

const router = require("express").Router();
const fetch = require("node-fetch");
const TOKEN = process.env.SM_ACCESS_TOKEN;
const BASEURL = process.env.SM_BASEURL;
const options = {
  headers: {
    Authorization: `Bearer ${TOKEN}`,
    "Content-Type": "application/json"
  }
};

/*
GET a list of surveys
*/
router.get("/", async (req, res) => {
  try {
    const surveys = await fetch(`${BASEURL}surveys`, options);
    if (surveys) {
      return res.status(200).json(surveys);
    }
  } catch (err) {
    console.log(err);
    res.status(500).send({ message: "Server error", err });
  }
});

一些额外信息: 1. 环境变量运行良好。 2. 我通过 surveymonkey 手动创建了一个调查。 3. 除了创建我自己的帐户外,我还没有对他们的 oAuth 系统做任何事情。 4.BASEURL =“https://api.surveymonkey.com/v3/

原来我的问题与他们的开发应用程序设置中的错误措辞有关。我正在创建一个私人应用程序,所以我不需要 Oauth,只需要我从我的应用程序获得的令牌。然而,这意味着我仍然需要进入应用程序设置并检查所有范围的 "Required"。如果您使用的是 Oauth,他们使用的措辞集中在需要这个上,这对不使用 Oauth 的人来说毫无意义。然而,改变范围解决了我的问题。