Tengo problemas para acceder a las APIs de Discourse desde la aplicación React

El acceso a fetch en ‘https://boostfloral.discourse.group/categories.json?’ desde el origen ‘http://localhost:3000’ ha sido bloqueado por la política CORS: El campo de encabezado de solicitud API-key no está permitido por Access-Control-Allow-Headers en la respuesta preflight.

Estoy recibiendo el problema anterior cuando intento llamar a las API de Discourse. Ya he agregado un certificado SSL a mis servidores. Estoy agregando las opciones CORS presentes en mi panel de administración, pero sigo teniendo este problema.

¿Alguien se ha enfrentado a algo como esto y podría ayudarme a encontrar una solución?

¿Es una clave API de usuario? Si no me equivoco, debería ser User-Api-Key.

Ahora estoy recibiendo la siguiente respuesta.

Acceso a fetch en ‘https://boostfloral.discourse.group/latest.json?order=default&ascending=false’ desde el origen ‘http://localhost:3000’ ha sido bloqueado por la política CORS: El campo de encabezado de solicitud api-username no está permitido por Access-Control-Allow-Headers en la respuesta preflight.

Si intentas consumir la API de administración (en contraposición a la API de usuario), los campos de encabezado requeridos son Api-Key y Api-Username.

Creo que para los clientes Javascript públicos, la API de administración no está permitida (¡tristemente, esto complica todo, lo sé!) Pero tendrás que usar User API keys specification en su lugar.

Para mí, todavía estoy tratando de averiguar cómo hacerlo también. Solo quiero obtener una respuesta .json que esté disponible públicamente.

Si es público, entonces configurar CORS debería ser suficiente y no deberías necesitar preocuparte por las claves API en absoluto.

2 Me gusta

Sí, ¡gracias! Esto se ha resuelto para mí aquí: Using JavaScript fetch to get publicly available page from Discourse into an external site (Discourse API) - #2 by pfaffman

@fahadaslam98, como dijo @RGJ, si CORS está configurado correctamente, entonces eliminar las claves de API de las cabeceras debería funcionar, :+1:

1 me gusta