Solución de problemas

Video: Mira la charla sobre manejo de errores del taller de 2019

Los errores pueden deberse a una configuración incorrecta del entorno, a un error tu software o entradas no válidas de un usuario. No importa la fuente, debes solucionar el problema y tu 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 errores de la API de Google Ads.

Garantizar la conectividad

  1. Asegúrate de tener acceso a la API de Google Ads y de tener una configuración correcta. Si el muestra errores de HTTP. Asegúrate de abordarlos con cuidado que estás llegando a los servicios que pretendes usar desde tu código.

  2. Las credenciales están incorporadas en tu request para que el valor servicios para autenticarte. Familiarícese con la estructura de la API de Google Ads solicitudes y respuestas, en especial si vas a manejar llamadas sin con las bibliotecas cliente. Cada biblioteca cliente se envía con instrucciones instrucciones para incluir tus credenciales en el archivo de configuración (consulta el README de la biblioteca cliente).

  3. Verifica que estés usando las credenciales correctas. Nuestro La guía de inicio rápido te indica el proceso de adquisición de la con el conjunto correcto que necesitas. Por ejemplo, el siguiente error en la respuesta muestra que el 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 los problemas persisten, es hora de comenzar para solucionar los errores de la API de Google Ads.

Determinación del problema

Por lo general, la API de Google Ads informa los errores como un objeto con errores JSON, que contiene una lista de errores en la respuesta. Estos objetos proporcionan un código de error y también un mensaje que explica por qué ocurrió. Son tu primer indicador de lo que cuál podría ser el problema.

{
  "errors": [
    {
      "errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
      "message": "The field mask contained an invalid field: 'keyword/matchtype'.",
      "location": { "operationIndex": "1" }
    }
  ]
}

Todas nuestras bibliotecas cliente arrojan excepciones que para encapsular errores en la respuesta. Capturar estas excepciones y imprimir los mensajes en un registro o una pantalla de solución de problemas es una excelente manera para comenzar. Si integras esta información con los otros eventos registrados en tu ofrece una buena descripción general de lo que podría estar desencadenando el problema. Una vez que hayas identificado el error en los registros, deberás descifrar qué significa.

Investiga el error

  1. Consulta nuestros Errores comunes. que abarca los errores más frecuentes. Integra describe el mensaje de error, las referencias relevantes de la API y cómo evitar o manejar el error.

  2. Si nuestra documentación de errores comunes no menciona específicamente el error, consulta nuestra documentación de referencia y busca la cadena de error.

  3. Busca en nuestros canales de asistencia para obtener acceso a otras desarrolladores que comparten sus experiencias con la API. Es posible que otra persona tenga te topas, y resuelves, el problema que tienes.

  4. Si encuentras errores que no estén documentados, llévalos a nuestra atención en el foro.

  5. Visita el Centro de ayuda de Google Ads. para obtener ayuda con la solución de problemas de validación o límite de la cuenta: La API de Google Ads hereda las reglas y limitaciones del producto principal de Google Ads.

  6. Entradas de blog en ocasiones, serán una buena referencia para solucionar los problemas de tu solicitud.

Después de investigar el error, es momento de determinar la causa raíz.

Ubicar la causa

Revisa el mensaje de excepción para determinar la causa del error. Después de mirar en la respuesta, comprueba si hay alguna causa en la solicitud. Algún error de la API de Google Ads mensajes incluyen una fieldPathElements en el campo location de la GoogleAdsError, que indica dónde en la solicitud ocurrió el error. Por ejemplo:

{
  "errors": [
    {
      "errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
      "message": "Criteria type can not be targeted.",
      "trigger": { "stringValue": "" },
      "location": {
        "operationIndex": "0",
        "fieldPathElements": [ { "fieldName": "keyword" } ]
      }
    }
  ]
}

Al solucionar un problema, es posible que tu aplicación proporcione la información incorrecta a la API. Recomendamos enfáticamente el uso de un de entorno de desarrollo (IDE), como Eclipse (una y de código abierto que se usa principalmente para desarrollar Java, pero tiene complementos para otros lenguajes) para ayudarte con la depuración. Te permite establecer puntos de interrupción y repasar el código línea por línea.

Asegúrate de que la solicitud coincida con las entradas de tu aplicación (para ejemplo, es posible que el nombre de la campaña no coincida con la solicitud). Asegúrate de que envías un máscara de campo que coincida con las actualizaciones que deseas realizar; la API de Google Ads admite actualizaciones escasas. Omitir un campo de la máscara de campo en una solicitud de mutación indica que la API debería dejarlo en paz. Si tu aplicación recupera un objeto, realiza un cambio, y la envía de vuelta, es posible que escribas en un campo que no para admitir actualizaciones. Comprueba la descripción del campo en la referencia documentación para ver si hay restricciones sobre cuándo o si puede actualizar el campo.

Cómo obtener ayuda

No siempre es posible identificar y resolver el problema por tu cuenta. Hacer preguntas en el foro expone tu pregunta a miles de desarrolladores que quizás hayan tenido que lidiar con el mismo problema.

Intenta incluir la mayor cantidad de información posible en tus consultas. Entre los elementos recomendados, se incluyen los siguientes:

  • Solicitud y respuesta JSON limpias. Asegúrate de quitar los datos sensibles información, como tu token de desarrollador o AuthToken.
  • Fragmentos de código. Si tienes un problema de idioma o estás solicitando ayuda para trabajar con la API, incluye un fragmento de código que te ayude explicar lo que haces.
  • ID de solicitud Esto permite que los miembros del equipo de Relaciones con desarrolladores de Google localicen tu solicitud si se hace en el entorno de producción. Mié te recomendamos que registres en tus registros el requestId incluido como propiedad en excepciones que encapsulan los errores de respuesta, así como información que requestId solo.
  • Información adicional, como la versión del intérprete o entorno de ejecución también puede ser útil cuando se solucionan problemas.

Cómo solucionar el problema

Ahora que has identificado el problema y has encontrado una solución, es momento de para realizar el cambio y probar la corrección en una cuenta de prueba (opción preferida). producción (si el error solo se aplica a los datos de una cuenta de producción específica).

Considera la posibilidad de compartir

Si has publicado una pregunta en el foro sobre un error que no se ha que se mostró allí antes y que ya encontraste la solución, considera agregarla al conversación. La próxima vez que un desarrollador tenga el mismo problema, podrá resolverlo de inmediato.

Próximos pasos

Ahora que resolviste este problema, ¿notaste alguna forma de mejorar código para evitar esto en primer lugar?

La creación de un buen conjunto de pruebas de unidades ayuda a mejorar la calidad y confiabilidad del código de manera significativa. También acelera el proceso de prueba de nuevos cambios para garantizar no dañan la funcionalidad anterior. Una buena estrategia de manejo de errores también clave para obtener todos los datos necesarios para la solución de problemas.