SurveyMonkey API 使用 NodeJS 创建调查
SurveyMonkey API Create a Survey using NodeJS
我使用 NodeJS/Express 创建了一个小型服务器,我正在使用 node-fetch 与 SurveyMonkeys API 进行交互。我目前在我的帐户上有两个调查,我可以通过他们的邮递员 collection 查看。但是当我尝试使用自己的端点时,它似乎不起作用。查看所有调查的 GET 请求 returns 状态代码为“200”,但响应为:
{
"size": 0,
"timeout": 0
}
创建调查的 POST 请求为我提供了状态代码“400”,但 returns 得到了相同的响应。到目前为止,这是我的代码。
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 = method => ({
headers: {
Authorization: `Bearer ${TOKEN}`,
"Content-Type": "application/json",
method: method
}
});
/*
GET a list of surveys
*/
router.get("/", async (req, res) => {
try {
const surveys = await fetch(`${BASEURL}surveys`, options("GET"));
console.log(surveys);
if (surveys) {
return res.status(200).json(surveys);
}
} catch (err) {
console.log(err);
res.status(500).send({ message: "Server error", err });
}
});
router.post("/create-survey", (req, res) => {
const surveyData = req.body;
fetch(`${BASEURL}surveys`, {
method: "POST",
body: surveyData,
headers: {
Authorization: `bearer ${TOKEN}`,
"Content-Type": "application/json"
}
})
.then(data => {
return res.status(data.status).json(data);
})
.catch(err => console.log(err));
});
module.exports = router;
附加信息:
我能够使用 SurveyMonkey 提供的 POSTMAN collection 和我的访问令牌来完成所有这些操作。 BASEURL =“https://api.surveymonkey.com/v3/”。
ServeyData = { "title": "Some Title" }
通过退出 node-fetch 并使用 axios 解决了这个问题。我认为可能是 fetch vs xhr 请求。
我使用 NodeJS/Express 创建了一个小型服务器,我正在使用 node-fetch 与 SurveyMonkeys API 进行交互。我目前在我的帐户上有两个调查,我可以通过他们的邮递员 collection 查看。但是当我尝试使用自己的端点时,它似乎不起作用。查看所有调查的 GET 请求 returns 状态代码为“200”,但响应为:
{
"size": 0,
"timeout": 0
}
创建调查的 POST 请求为我提供了状态代码“400”,但 returns 得到了相同的响应。到目前为止,这是我的代码。
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 = method => ({
headers: {
Authorization: `Bearer ${TOKEN}`,
"Content-Type": "application/json",
method: method
}
});
/*
GET a list of surveys
*/
router.get("/", async (req, res) => {
try {
const surveys = await fetch(`${BASEURL}surveys`, options("GET"));
console.log(surveys);
if (surveys) {
return res.status(200).json(surveys);
}
} catch (err) {
console.log(err);
res.status(500).send({ message: "Server error", err });
}
});
router.post("/create-survey", (req, res) => {
const surveyData = req.body;
fetch(`${BASEURL}surveys`, {
method: "POST",
body: surveyData,
headers: {
Authorization: `bearer ${TOKEN}`,
"Content-Type": "application/json"
}
})
.then(data => {
return res.status(data.status).json(data);
})
.catch(err => console.log(err));
});
module.exports = router;
附加信息: 我能够使用 SurveyMonkey 提供的 POSTMAN collection 和我的访问令牌来完成所有这些操作。 BASEURL =“https://api.surveymonkey.com/v3/”。 ServeyData = { "title": "Some Title" }
通过退出 node-fetch 并使用 axios 解决了这个问题。我认为可能是 fetch vs xhr 请求。