Risoluzione dei problemi

Video: dai un'occhiata al discorso sulla gestione degli errori del workshop del 2019

Gli errori possono essere causati da una configurazione errata dell'ambiente, da un bug del software o da un input non valido di un utente. Indipendentemente dall'origine, dovrai risolvere il problema e correggere il codice o aggiungere una logica per gestire l'errore dell'utente. Questa guida illustra alcune best practice per la risoluzione degli errori dell'API Google Ads.

Garanzia della connettività

  1. Assicurati di avere accesso all'API Google Ads e di aver eseguito una configurazione corretta. Se la tua risposta restituisce degli errori HTTP, assicurati di risolverli con attenzione e di utilizzare il tuo codice per raggiungere i servizi che intendi utilizzare.

  2. Le tue credenziali sono incorporate nella richiesta per consentire ai servizi di autenticarti. Acquisisci familiarità con la struttura delle richieste e delle risposte dell'API Google Ads, soprattutto se gestirai le chiamate senza utilizzare le librerie client. Ogni libreria client è fornita con istruzioni specifiche su come includere le tue credenziali nel file di configurazione (consulta il file README della libreria client).

  3. Verifica di utilizzare le credenziali corrette. La nostra Guida rapida ti guiderà nella procedura di acquisizione del set corretto di cui hai bisogno. Ad esempio, il seguente errore di risposta mostra che l'utente ha inviato credenziali di autenticazione non valide:

    {
      "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"
          }
        ]
      }
    }
    

Se dopo aver seguito questi passaggi i problemi persistono, è il momento di passare alla risoluzione degli errori dell'API Google Ads.

Determinazione del problema

L'API Google Ads in genere segnala gli errori come oggetto JSON di errore, contenente un elenco di errori nella risposta. Questi oggetti forniscono un codice di errore e un messaggio che spiega perché si è verificato. Sono i primi segnali di quale potrebbe essere il problema.

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

Tutte le nostre librerie client generano eccezioni che incapsulano gli errori nella risposta. L'acquisizione di queste eccezioni e la stampa dei messaggi in un log o in una schermata di risoluzione dei problemi è un ottimo modo per iniziare. L'integrazione di queste informazioni con altri eventi registrati nella tua applicazione offre una buona panoramica di ciò che potrebbe attivare il problema. Dopo aver identificato l'errore nei log, devi capirne il significato.

Ricerca dell'errore

  1. Consulta la nostra documentazione sugli errori comuni, che descrive gli errori che si verificano più di frequente. Descrive il messaggio di errore, i riferimenti API pertinenti e come evitare o gestire l'errore.

  2. Se la nostra documentazione sugli errori comuni non menziona in modo specifico l'errore, consulta la documentazione di riferimento e cerca la stringa di errore.

  3. Cerca nei nostri canali di assistenza per accedere ad altri sviluppatori che condividono le loro esperienze con l'API. Qualcun altro potrebbe aver risolto e risolto il tuo problema.

  4. Se si verificano errori non documentati, portali alla nostra attenzione nel forum.

  5. Vai al Centro assistenza Google Ads per ricevere assistenza per la risoluzione dei problemi relativi alla convalida o ai limiti dell'account: l'API Google Ads eredita le regole e le limitazioni del prodotto Google Ads principale.

  6. I post del blog possono a volte essere un buon riferimento per la risoluzione dei problemi della tua applicazione.

Dopo aver esaminato l'errore, è il momento di stabilire la causa principale.

Localizzazione della causa

Controlla il messaggio di eccezione per determinare la causa dell'errore. Dopo aver esaminato la risposta, controlla la richiesta per individuare una possibile causa. Alcuni messaggi di errore dell'API Google Ads includono un simbolo fieldPathElements nel campo location di GoogleAdsError, che indica in che punto della richiesta si è verificato l'errore. Ad esempio:

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

Durante la risoluzione di un problema, è possibile che l'applicazione fornisca le informazioni errate all'API. Ti consigliamo vivamente di utilizzare un ambiente di sviluppo interattivo (IDE), come Eclipse (un IDE senza costi e open source che viene utilizzato principalmente per sviluppare Java, ma include plug-in per altri linguaggi) per semplificare il debug. che ti permette di impostare punti di interruzione e analizzare il codice riga per riga.

Assicurati che la richiesta corrisponda agli input della tua applicazione (ad esempio, il nome della campagna potrebbe non essere incluso nella richiesta). Assicurati di inviare una maschera di campo che corrisponda agli aggiornamenti che vuoi apportare: l'API Google Ads supporta aggiornamenti sparsi. L'omissione di un campo dalla maschera del campo in una richiesta di modifica indica che l'API non deve intervenire. Se l'applicazione recupera un oggetto, apporta una modifica e lo restituisce al mittente, è possibile che tu stia scrivendo in un campo che non supporta l'aggiornamento. Consulta la descrizione del campo nella documentazione di riferimento per sapere se sono previste limitazioni relative al momento o alla possibilità di aggiornare il campo.

Come ricevere assistenza

Non è sempre possibile identificare e risolvere il problema in autonomia. Se poni la tua domanda nel forum, la tua domanda viene mostrata a migliaia di sviluppatori che potrebbero aver dovuto affrontare lo stesso problema.

Cerca di includere nelle query il maggior numero possibile di informazioni. Gli elementi consigliati includono:

  • Richiesta e risposta JSON sottoposta a sanitizzazione. Assicurati di rimuovere le informazioni sensibili, come il token sviluppatore o l'AuthToken.
  • Snippet di codice. Se hai un problema relativo a un linguaggio specifico o hai bisogno di assistenza per lavorare con l'API, includi uno snippet di codice per spiegare meglio la situazione.
  • ID richiesta. Ciò consente ai membri del team Relazioni con gli sviluppatori di Google di individuare la tua richiesta se effettuata nell'ambiente di produzione. Ti consigliamo di registrare nei log il requestId incluso come proprietà nelle eccezioni che incapsulano errori di risposta, nonché più contesto rispetto al solo requestId.
  • Anche informazioni aggiuntive, come la versione del runtime/interprete e la piattaforma, possono essere utili per la risoluzione dei problemi.

Risolvere il problema

Ora che hai individuato il problema e trovato una soluzione, è il momento di apportare la modifica e testare la correzione con un account di prova (opzione preferita) o di produzione (se il bug si applica solo ai dati di uno specifico account di produzione).

Valuta la possibilità di condividere

Se hai pubblicato una domanda nel forum relativa a un errore che non era mai stato visualizzato in precedenza e hai trovato la soluzione, potresti aggiungerla al thread. La prossima volta che uno sviluppatore ha lo stesso problema, sarà in grado di risolverlo immediatamente.

Passaggi successivi

Ora che hai risolto il problema, hai scoperto dei modi per migliorare il codice ed evitarlo?

La creazione di un buon insieme di test delle unità aiuta a migliorare notevolmente la qualità e l'affidabilità del codice. Inoltre, velocizza il processo di test delle nuove modifiche per garantire che non interrompano le funzionalità precedenti. Una buona strategia di gestione degli errori è fondamentale anche per far emergere tutti i dati necessari per la risoluzione dei problemi.