Survey Monkey API节点服务器GET请求返回未经授权的401错误

问题描述 投票:0回答:1

我正在使用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. env变量可以正常运行。2.我已经通过Surveymonkey手动创建了一个调查。3.除了创建自己的帐户外,我还没有使用他们的oAuth系统做任何事情。4. BASEURL =“ https://api.surveymonkey.com/v3/

node.js surveymonkey
1个回答
0
投票

事实证明,我的问题与他们的开发应用程序设置中的措辞不当有关。我正在创建一个私有应用程序,因此我不需要Oauth,仅需要从应用程序中获取的令牌即可。但是,这意味着我仍然需要进入应用程序设置并在所有作用域上都选中“必需”。如果您使用的是Oauth,那么他们使用的措辞集中在需要此措辞上,而对于那些不是Oauth的人来说,这是没有意义的。更改范围但是解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.