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.

¿Se pueden agregar claves de API al encabezado utilizando Retrofit2 en Android?

No puedo hacer que la solicitud de la API funcione con la clave de API. Ya lo probé con una API diferente que no utiliza una clave de API, y funcionó. Eso me hace pensar que no estoy agregando correctamente la clave de API.

Lo probé en postman utilizando la pestaña de autenticación, y funcionó bien.

¿Cómo puedo enviar la clave Access-Key y el valor 9xxxxxxxxxxxxx3 usando retrofit2?

código

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para agregar la clave de API Access-Key con valor 9xxxxxxxxxxxxx3 usando Retrofit2, puedes utilizar el siguiente fragmento de código:

    OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
    httpClient.addInterceptor(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Request original = chain.request();
            Request.Builder requestBuilder = original.newBuilder()
                    .header("Access-Key", "9xxxxxxxxxxxxx3")
                    .method(original.method(), original.body());
            Request request = requestBuilder.build();
            return chain.proceed(request);
        }
    });
    
    Retrofit.Builder builder =
            new Retrofit.Builder()
                    .baseUrl("https://tu-url-base-de-api.com/")
                    .addConverterFactory(GsonConverterFactory.create());
    
    Retrofit retrofit = builder.client(httpClient.build()).build();
    
    // Ahora puedes utilizar el objeto `retrofit` para hacer solicitudes a la API con el encabezado Access-Key.
    

    Explicación:

    1. Creamos una nueva instancia de OkHttpClient.Builder y le agregamos un interceptor.

    2. En el método intercept del interceptor, obtenemos la solicitud API original y creamos un nuevo Request.Builder.

    3. Agregamos el encabezado Access-Key con valor 9xxxxxxxxxxxxx3 al Request.Builder.

    4. Utilizamos el Request.Builder modificado para construir una nueva solicitud y retornar la respuesta utilizando chain.proceed(request).

    5. Creamos una nueva instancia de Retrofit.Builder y configuramos la URL base y la fábrica de convertidores.

    6. Utilizamos el OkHttpClient modificado al construir la instancia de Retrofit.

    7. Ahora puedes utilizar el objeto retrofit para hacer solicitudes a la API con el encabezado Access-Key.

Comments are closed.