Estoy tratando de crear una aplicación similar a reddit en react native, por lo que estoy usando axios para obtener solicitudes de Reddit Api y parece que no puedo obtener ninguna solicitud POST, he intentado todo lo que puedo, Estoy tratando de suscribirme a un subreddit, aquí está mi solicitud:
subscribe: async function subscribe(action, sub, modhash) { try { const token = await this.getAccessToken(); console.log('token: ' + token) let Headers = {'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json', 'X-Modhash': modhash} let Params = {'action': action, 'sr_name': sub} let Body = {'api_type': "json", "extension": "json"} await axios.post('https://oauth.reddit.com/api/subscribe', Headers, Params, Body) .then((response) => { console.log('sub: ' + JSON.stringify(response.data)); console.log("Subbed to " + sub) }) } catch (error) { throw 'Could not sub: ' + error } },Aquí está el resultado de la captura:
"Could not sub: Error: Request failed with status code 403"aquí está la API oficial sobre suscripción: https://www.reddit.com/dev/api/#POST_api_subscribe
action = "sub" y sr = "t5_2qh03" y probé sr_name y sr pero ninguno parece funcionar, estoy seguro de que el token es válido ya que funciona con otras solicitudes GET. No puedo encontrar lo que hice mal aquí. ¿Tienen alguna idea de lo que me estoy perdiendo?
Editar: probé la misma solicitud con el cartero y la solicitud realmente funcionó, me suscribí a un subreddit, pero la misma solicitud exacta no funciona con axios, ¿está bien mi solicitud?
Para mí, tu código está bien.
Sin embargo, la API de Reddit es tan complicada que la gente no la usa mucho.
Están usando titiriteros y similares.
Para su problema, todo depende del subreddit, algunos (muchos) no permiten POST por API en absoluto, por supuesto sin previo aviso, o con códigos de error HTTP totalmente confusos. Simplemente no funciona.
También hay situaciones en las que funciona, pero solo a veces, o solo la primera vez, o solo desde una IP de un país permitido determinado.
También utilizan ampliamente las listas negras/grises/blancas, la prohibición oculta y la limitación de tasas. Pero nunca se dan avisos. La definición de un racimo de mierda .