Estoy tratando de crear una aplicación de reacción en la que necesito analizar algunas fuentes de noticias RSS de la URL "https://news.google.com/news/rss" pero recibo un error "la solicitud ha sido bloqueada por la política CORS:" No hay encabezado 'Access-Control-Allow-Origin' en el recurso solicitado". Hice un proyecto similar en la aplicación de Android donde obtuve algunos feeds usando AsyncTasks en Java, no me mostró ningún problema de CORS, quiero entender ¿Por qué funcionó en la aplicación de Android y no en la aplicación web?¿Es el navegador el que aplica el CORS o es el servidor de Google el que aplica algún tipo de política de COR?
let xmlText; axios .get( "https://news.google.com/news/rss", ) .then((response) => { xmlText = response; return response; }) .then((textResponse) => { console.log("Fetching response as", textResponse); xmlText = textResponse; }) .catch((error) => { console.log(error); });Puedes usar un complemento google-news-json
API JSON de Google Noticias
Instalación
npm install --save google-news-jsonO
yarn add google-news-jsonEjemplo de uso:
let googleNewsAPI = require("google-news-json"); let news = await googleNewsAPI.getNews(googleNewsAPI.TOP_NEWS, null, "en-GB");También admite devolución de llamada
googleNewsAPI.getNews(googleNewsAPI.SEACRH, "apple", "en-GB", (err,response) => { console.log(response); }); Método de parámetros (predeterminado en TOP_NEWS o HIGHLIGHTS )
Consulta (esto se ignora cuando el método es TOP_NEWS o HIGHLIGHTS )
Configuración regional (por defecto en-GB )
Devolución de llamada (no requerida)
Métodos
HIGHLIGHTS , TOP_NEWS , LOCATION , SEARCH , TOPIC , GEO
TEMAS admitidos
TOPICS_WORLD , TOPICS_NATION , TOPICS_BUSINESS , TOPICS_TECHNOLOGY , TOPICS_ENTERTAINMENT , TOPICS_SCIENCE , TOPICS_SPORTS , TOPICS_HEALTH