Risoluzione dei problemi

Video: guarda la discussione sulla gestione degli errori del workshop del 2019

Gli errori possono essere causati da una configurazione errata dell'ambiente, un bug del software o un input non valido da parte 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 una configurazione corretta. Se la tua risposta restituisce errori HTTP, assicurati di gestirli con attenzione e di raggiungere i servizi che intendi utilizzare dal codice.

  2. Le tue credenziali sono incorporate nella tua 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 viene fornita con istruzioni specifiche su come includere le 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 per acquisire il 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, puoi approfondire la risoluzione degli errori dell'API Google Ads.

Determinazione del problema

In genere l'API Google Ads segnala gli errori come oggetto di tipo JSON, contenente un elenco di errori nella risposta. Questi oggetti forniscono un codice di errore e un messaggio in cui vengono elaborati i motivi. 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 errori nella risposta. L'acquisizione di queste eccezioni e la stampa dei messaggi in un log o una schermata di risoluzione dei problemi sono un ottimo modo per iniziare. L'integrazione di queste informazioni con gli altri eventi registrati nell'applicazione offre un'utile panoramica su ciò che potrebbe causare il problema. Una volta identificato l'errore nei log, devi capire cosa significa.

Ricerca dell'errore

  1. Consulta la nostra documentazione sugli errori comuni, che riguarda gli errori riscontrati 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 l'errore in modo specifico, consulta la nostra 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 problema che stai riscontrando.

  4. Se riscontri errori non documentati, segnalali alla nostra attenzione nel forum.

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

  6. I post del blog a volte saranno un buon riferimento per la risoluzione dei problemi della tua richiesta.

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

Individuare la causa

Controlla il messaggio di eccezione per determinare la causa dell'errore. Dopo aver esaminato la risposta, controlla se nella richiesta è presente una possibile causa. Alcuni messaggi di errore dell'API Google Ads includono un elemento fieldPathElements nel campo location di GoogleAdsError, che indica in quale 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 come Eclipse, un IDE open source senza costi utilizzato principalmente per sviluppare Java, ma con plug-in per altri linguaggi, per semplificare il debug. Consente di impostare punti di interruzione e di eseguire i passaggi del codice riga per riga.

Assicurati che la richiesta corrisponda agli input dell'applicazione (ad esempio, il nome della campagna potrebbe non essere presente nella richiesta). Assicurati di inviare una maschera di campo che corrisponda agli aggiornamenti che vuoi apportare, poiché l'API Google Ads supporta gli aggiornamenti sparsi. L'omissione di un campo dalla maschera del campo in una richiesta di modifica indica che l'API deve lasciarlo invariato. Se l'applicazione recupera un oggetto, apporta una modifica e lo restituisce, è possibile che tu stia scrivendo in un campo che non supporta l'aggiornamento. Controlla la descrizione del campo nella documentazione di riferimento per verificare se ci sono limitazioni relative a quando o se puoi aggiornare il campo.

Come ricevere assistenza

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

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

  • Richiesta e risposta JSON convalidate. Assicurati di rimuovere le informazioni sensibili come il token sviluppatore o AuthToken.
  • Snippet di codice. Se riscontri un problema specifico di una lingua o vuoi richiedere assistenza per l'utilizzo dell'API, includi uno snippet di codice che ti aiuti a spiegare cosa stai facendo.
  • ID richiesta. In questo modo, i membri del team Relazioni con gli sviluppatori di Google possono individuare la tua richiesta se inviata nell'ambiente di produzione. Ti consigliamo di registrare nei tuoi log il requestId incluso come proprietà nelle eccezioni che incapsulano gli errori di risposta e più contesto rispetto al solo requestId.
  • Anche informazioni aggiuntive, come la versione e la piattaforma di runtime/interprete e per la risoluzione dei problemi, possono essere utili.

Risolvere il problema

Ora che hai capito 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 riscontrato in precedenza e hai trovato la soluzione, valuta la possibilità di aggiungerla al thread. La prossima volta che uno sviluppatore avrà lo stesso problema, sarà in grado di risolverlo immediatamente.

Passaggi successivi

Dopo aver risolto il problema, hai notato dei modi per migliorare il codice per evitarlo?

La creazione di una buona serie di test delle unità aiuta a migliorare notevolmente la qualità e l'affidabilità del codice. Velocizza anche il processo di test delle nuove modifiche per garantire che non interrompano le funzionalità precedenti. Una buona strategia di gestione degli errori è fondamentale per mostrare tutti i dati necessari per la risoluzione.