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 的人来说毫无意义。然而,改变范围解决了我的问题。
我正在使用 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 的人来说毫无意义。然而,改变范围解决了我的问题。