es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Realizar solicitudes HTTP GET con encabezados y parámetros de consulta en Dart.

Estoy intentando hacer una solicitud GET a la API de Newscatcher con el siguiente código:

import 'dart:convert' as convert;
import 'package:http/http.dart' as http;

void main() async {
  var queryParameters = {
    'q':'Tesla',
  };

  var headers = {
    'x-api-key': 'apikeyhidden',
  };

  var url = Uri.https('api.newscatcherapi.com', '/v2/search', queryParameters);
  var response = await http.get(url, headers: headers);

  if (response.statusCode == 200) {
    final jsonResponse = convert.jsonDecode(response.body);
    print('$jsonResponse');
  } else {
    print('Error de respuesta con código ${response.statusCode}');
  }
}

Estoy obteniendo el siguiente código de error:

Error de respuesta con código 401

Por favor, ayúdame a resolver este problema.

Estoy utilizando DartPad.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El código de error 401 significa que la solicitud no ha sido autorizada correctamente. Según la documentación de la API de Newscatcher, necesitas proporcionar una clave de API para hacer una solicitud.

    En el código proporcionado, has definido la variable de encabezados como conteniendo el encabezado x-api-key con el valor “apikeyhidden”. Este encabezado se utiliza para proporcionar la clave de API.

    Sin embargo, es posible que la clave de API que estás proporcionando sea incorrecta o haya caducado. Es posible que necesites generar una nueva clave de API y reemplazar “apikeyhidden” con la nueva clave.

    Otra posibilidad es que la clave de API deba incluirse de una manera diferente. Algunas APIs requieren que la clave de API se incluya en la propia URL en lugar de como un encabezado. En este caso, puedes modificar la variable de URL para incluir la clave de API en los parámetros de consulta de esta manera:

    var queryParameters = {
      'q':'Tesla',
      'key':'tu_clave_de_api_aquí'
    };
    
    var url = Uri.https('api.newscatcherapi.com', '/v2/search', queryParameters);
    var response = await http.get(url);
    

    Reemplaza “tu_clave_de_api_aquí” con tu clave de API real.

    Si ninguna de estas soluciones funciona, es posible que necesites consultar la documentación de la API de Newscatcher o contactar a su equipo de soporte para obtener ayuda adicional.

Comments are closed.