Los errores pueden deberse a una configuración incorrecta del entorno, un error en el software o una entrada no válida de un usuario. Sin importar el origen, deberás solucionar problemas y corregir el código o agregar lógica para controlar el error del usuario. En esta guía, se analizan algunas prácticas recomendadas para solucionar problemas relacionados con errores de la API de Google Ads.
Garantiza la conectividad
Asegúrate de tener acceso a la API de Google Ads y de que la configuración sea correcta. Si tu respuesta devuelve algún error de HTTP, asegúrate de abordarlo con cuidado y de que estás accediendo a los servicios que quieres usar desde tu código.
Tus credenciales se incorporan en tu solicitud para que los servicios te autentiquen. Familiarízate con la estructura de las solicitudes y respuestas de la API de Google Ads, especialmente si vas a controlar las llamadas sin usar las bibliotecas cliente. Cada biblioteca cliente se envía con instrucciones específicas sobre cómo incluir tus credenciales en el archivo de configuración (consulta el archivo README de la biblioteca cliente).
Verifica que estés usando las credenciales correctas. Nuestra guía de inicio rápido te guiará por el proceso para adquirir el conjunto correcto que necesitas. Por ejemplo, la siguiente falla de respuesta muestra que el usuario envió credenciales de autenticación no válidas:
{ "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. Visit https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "Authentication error: 2" } ] } }
Si seguiste estos pasos y aún tienes problemas, es hora de profundizar en la solución de problemas de los errores de la API de Google Ads.
Determina el problema
Por lo general, la API de Google Ads informa los errores como un objeto de falla JSON, que contiene una lista de errores en la respuesta. Estos objetos proporcionan un código de error y un mensaje que explica por qué se produjo. Son los primeros indicadores de cuál podría ser el problema.
{
"errors": [
{
"errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
"message": "The field mask contained an invalid field: 'keyword.match_type'.",
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 1 }
]
}
}
]
}
Todas nuestras bibliotecas cliente arrojan excepciones que encapsulan errores en la respuesta. Capturar estas excepciones y mostrar los mensajes en un registro o en una pantalla de solución de problemas es una excelente manera de comenzar. Integrar esta información con los otros eventos registrados en tu aplicación ofrece una buena descripción general de lo que podría estar activando el problema. Una vez que hayas identificado el error en los registros, deberás averiguar qué significa.
Investiga el error
Consulta nuestra documentación sobre errores comunes, que abarca los errores más frecuentes. En ella, se describe el mensaje de error, las referencias de la API pertinentes y cómo evitar o controlar el error.
Si en nuestra documentación de errores comunes no se menciona específicamente el error, consulta nuestra documentación de referencia y busca la cadena de error.
Busca en nuestros canales de asistencia para acceder a otros desarrolladores que comparten sus experiencias con la API. Es posible que otra persona haya tenido el mismo problema que tú y lo haya resuelto.
Ve al Centro de ayuda de Google Ads para obtener ayuda con la solución de problemas de validación o de límites de la cuenta. La API de Google Ads hereda las reglas y limitaciones del producto publicitario principal de Google Ads.
En ocasiones, las entradas de blog serán una buena referencia para solucionar problemas de tu aplicación.
Si encuentras algún error que no esté documentado, comunícate con el equipo de asistencia.
Después de investigar el error, es hora de determinar la causa raíz.
Localiza la causa
Verifica el mensaje de excepción para determinar la causa del error. Después de analizar
la respuesta, verifica la solicitud para encontrar una posible causa. Algunos mensajes de error de la API de Google Ads
incluyen fieldPathElements en el
campo location de GoogleAdsError,
lo que indica en qué parte de la solicitud se produjo el error. Por ejemplo:
{
"errors": [
{
"errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
"message": "Criteria type can not be targeted.",
"trigger": { "stringValue": "" },
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 0 },
{ "fieldName": "create" },
{ "fieldName": "keyword" }
]
}
}
]
}
Cuando solucionas un problema, es posible que descubras que tu aplicación proporciona la información incorrecta a la API. Te recomendamos usar un depurador de entorno de desarrollo integrado (IDE) para establecer puntos de interrupción, recorrer el código línea por línea y, luego, inspeccionar las cargas útiles de la solicitud construida antes de enviarlas.
Vuelve a verificar que la solicitud coincida con las entradas de tu aplicación (por ejemplo, es posible que el nombre de la campaña no llegue a la solicitud). Asegúrate de enviar una máscara de campo que coincida con las actualizaciones que deseas realizar, ya que la API de Google Ads admite actualizaciones dispersas. Omitir un campo de la máscara de campo en una solicitud de mutación indica que la API debe dejarlo como está. Si tu aplicación recupera un objeto, realiza un cambio y lo envía de vuelta, es posible que estés escribiendo en un campo que no admite actualizaciones. Consulta la descripción del campo en la documentación de referencia para ver si hay restricciones sobre cuándo o si puedes actualizar el campo.
Cómo obtener ayuda
No siempre es posible identificar y resolver el problema por tu cuenta. Puedes comunicarte con el equipo de asistencia para recibir ayuda.
Intenta incluir tanta información como puedas en tus consultas. Entre los elementos recomendados, se incluyen los siguientes:
- Solicitud y respuesta JSON limpias. Asegúrate de quitar la información sensible, como tu token de acceso de OAuth, el token de actualización y los IDs de cliente.
- Fragmentos de código Si tienes un problema específico del lenguaje o solicitas ayuda para trabajar con la API, incluye un fragmento de código que ayude a explicar lo que estás haciendo.
request-id. Esto permite que los miembros del equipo de Google Developers ubiquen tu solicitud si se realiza en el entorno de producción. Te recomendamos registrar elrequest-idincluido en los encabezados de respuesta o las excepciones que encapsulan los errores de respuesta, así como más contexto que solo elrequest-id.- La información adicional, como la versión del entorno de ejecución o del intérprete y la plataforma, también puede ser útil para solucionar problemas.
Cómo corregir el problema
Ahora que descubriste el problema y encontraste una solución, es momento de realizar el cambio y probar la corrección en una cuenta de prueba (preferido) o de producción (si el error solo se aplica a los datos de una cuenta de producción específica).
Próximos pasos
Ahora que resolviste este problema, ¿notaste alguna forma de mejorar tu código para evitarlo en primer lugar?
Crear un buen conjunto de pruebas de unidades ayuda a mejorar considerablemente la calidad y la confiabilidad del código. También acelera el proceso de prueba de los cambios nuevos para garantizar que no se haya interrumpido la funcionalidad anterior. Una buena estrategia de manejo de errores también es clave para mostrar todos los datos necesarios para solucionar problemas.