GET-запрос сервера Survey Monkey API Nodes возвращает неавторизованную ошибку 401 - PullRequest
0 голосов
/ 10 января 2020

Я строю небольшой сервер, используя API SurveyMonkey, и получаю ошибку состояния 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/"

1 Ответ

0 голосов
/ 11 января 2020

Оказалось, что моя проблема была связана с неверной формулировкой в ​​их настройках приложения для разработчиков. Я создаю личное приложение, поэтому мне не требуется Oauth, только токен, который я получаю из своего приложения. Это, однако, означает, что мне все еще нужно было go в настройках приложений и отметить «Обязательно» во всех областях. Формулировка, которую они используют, сосредоточена вокруг необходимости в этом, если вы используете Oauth, что не имеет смысла для кого-то, кто этого не делает. Изменение области, однако, решило мою проблему.

...