SurveyMonkey API使用NodeJS创建调查

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

我使用NodeJS / Express创建了一个小型服务器,并且正在使用node-fetch与SurveyMonkeys API进行交互。我目前在我的帐户上有两项调查,可以通过他们的邮递员收藏进行查看。但是,当我尝试使用自己的端点时,它似乎不起作用。查看所有调查的GET请求返回状态码“ 200”,但响应为:]

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

创建调查的POST请求给我一个状态代码“ 400”,但返回相同的响应。到目前为止,这是我的代码。

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集合以及访问令牌来完成所有这些操作。 BASEURL =“ https://api.surveymonkey.com/v3/”。ServeyData = {“标题”:“某些标题”}

node.js express fetch surveymonkey
1个回答
0
投票

通过转出节点获取而不是使用axios解决了此问题。我想可能是fetch vs xhr请求。

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