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.

Cómo pasar los operadores mayor que o menor que en Guzzle HTTP al hacer una solicitud.

¿Cómo puedo enviar una solicitud correctamente con el operador “mayor que” en la cadena de consulta utilizando Guzzle?
Aquí quiero extraer todos los registros con dateLastModified mayor que una fecha específica.

$this->client = new Client([
            'base_uri'  => $base_url . $version . '/',
            'handler'   => $stack,
            'auth'      => 'oauth'
        ]);

$query_string = "?filter=status='active'&dateLastModified>%5Bdate%5D";
$response = $this->client->get('/students' . $query_string);

Recibí el siguiente error. Observa que se cambió el símbolo mayor que.

filter=status='active'&dateLastModified%3E'2021-09-01T16:39:00.000Z'&limit=15000` resulted in a `401 Unauthorized` response: {"errors":[{"codeMajor":"FAILURE","severity":"ERROR","codeMinor":"UNAUTHORIZED","description":"User not authorized."}]}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para enviar una solicitud correctamente con el operador “mayor que” en la cadena de consulta utilizando Guzzle, debes usar la versión codificada en URL del signo “mayor que”, que es “%3E”.

    Aquí tienes un ejemplo de código:

    $this->client = new Client([
        'base_uri' => $base_url . $version . '/',
        'handler' => $stack,
        'auth' => 'oauth'
    ]);
    
    $some_date = '2021-09-01T16:39:00.000Z';
    $query_string = "?filter=status='active'&dateLastModified%3E'$some_date'&limit=500";
    
    $response = $this->client->get('/students' . $query_string);
    

    En este ejemplo, primero definimos la URI base y las configuraciones del cliente para el cliente de Guzzle. Luego, creamos la cadena de consulta con el signo “mayor que” codificado (“%3E”) concatenando el parámetro de fecha con él. Finalmente, enviamos la solicitud GET al punto final “/students” con la cadena de consulta utilizando el método “get” del cliente de Guzzle.

    Al utilizar la codificación de URL correcta para el operador “mayor que”, tu cadena de consulta se enviará correctamente y deberías recibir una respuesta válida sin el error de “No autorizado”.

Comments are closed.