Реагируйте, выдавая ошибку 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())
Я могу ошибаться, но попробуй!