Реагируйте, выдавая ошибку 403 при вызове API

Я использую реакцию для переключения изображений с помощью Snoowrap Reddit API оболочки. Когда я использую эту функцию, просто используя Node.js и модуль приложения, она работает нормально:

reddit.getSubreddit('pics').getRandomSubmission().then(function(post){
       return(post.url.toString());
     });

Вот как выглядит функция в моем обычном приложении NodeJS. Этот код работает на 100%

app.get('/getimage', function(req, res){
  r.getSubreddit(subreddit).getRandomSubmission().then(function(post){
    if(post.url.includes(".jpg") || post.url.includes(".png")){
      res.send(post.url);
      res.end();
    }
    else{
      res.send("No picture extension as .jpg .png")
      console.log("No .jpg Extension");
    }
});
  console.log("Pressed!");
});

Этот код дает мне необработанное отклонение 403 Ошибка. Я скачал расширение заголовка CORS браузера Chrome и исправил ошибку.Access-Control-Allow-Origin ошибка, но теперь это дает мне ошибку 403

getPic: function() {
     reddit.getSubreddit('pics').getRandomSubmission().then(function(post){
       return(post.url.toString());
     });


   },

1 ответ

Распространенным запросом, который может привести к 403 Запрещенному ответу, является запрос HTTP GET для веб-страницы, выполняемый веб-браузером для получения страницы для отображения пользователю в окне браузера.

Это может быть причиной расширения CORS, если бы я был вами, я бы попытался настроить свой сервер в качестве сервера CORS вместо использования расширения Chrome. Вы можете использовать этот нпм

npm install cors --save 

Перед вашим app.get(...) Напиши const cors = require('cors') а также app.use(cors())

Я могу ошибаться, но попробуй!

Другие вопросы по тегам