Las solicitudes de esta aplicación cliente de Android están bloqueadas – Error de APIs de Google Flutter.
Descripción del problema:
Estoy utilizando la API de datos de YouTube para obtener algunos videos utilizando la clave de API en una aplicación Flutter.
He utilizado este código para obtener mis datos:
const FETCH_LINK =
"$BASE_URL?part=$PART&playlistId=$PLAYLIST_ID&key=$API_KEY&maxResults=$MAX_RESULTS";
var response = await http.get(Uri.parse(FETCH_LINK));
Cuando establezco las restricciones de la aplicación en “Ninguna” en la pestaña de credenciales en la consola de GCP del proyecto, obtengo mis datos perfectamente.
Ahora, cuando intento restringir los datos solo a aplicaciones de Android, muestra este error:
{error: {code: 403, message: Las solicitudes desde esta aplicación cliente de Android <vacío> están bloqueadas., errors: [{message: Las solicitudes desde esta aplicación cliente de Android <vacío> están bloqueadas., domain: global, reason: forbidden}], status: PERMISSION_DENIED, details: [{@type: type.googleapis.com/google.rpc.ErrorInfo, reason: API_KEY_ANDROID_APP_BLOCKED, domain: googleapis.com, metadata: {service: youtube.googleapis.com, consumer:
Lo que ya he verificado:
He agregado certificados de Depuración y Lanzamiento y el nombre del paquete de Android correctamente en la pestaña de credenciales.
¿Cuál podría ser el posible error aquí?
¿Hay algo que deba pasar como encabezados en mi solicitud?
Este es el punto final que estoy tratando de obtener:
https://youtube.googleapis.com/youtube/v3/playlistItems
Mi configuración se ve así: [imagen adjunta].
davy.ai
Solución/Respuesta
El error indica que las solicitudes de su aplicación cliente de Android están siendo bloqueadas. Esto podría deberse a algunas razones:
Es posible que esté utilizando una clave API no válida. Verifique si está utilizando la clave API correcta que está habilitada para la API de datos de Youtube.
Es posible que no esté pasando los encabezados correctos en su solicitud. La API de datos de Youtube requiere que se envíe un encabezado
Referer
junto con sus solicitudes. Asegúrese de agregar este encabezado con el nombre del paquete de su aplicación de Android como valor.Agregar el encabezado
Referer
con el valor del nombre del paquete de la aplicación de Android debería resolver este problema.