Video: guarda il discorso sulla gestione degli errori del workshop del 2019
Gli errori possono essere causati da una configurazione dell'ambiente errata, da un bug nel software o da 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 dei problemi relativi agli errori dell'API Google Ads.
Garantire la connettività
Assicurati di avere accesso all'API Google Ads e di averla configurata correttamente. Se la tua risposta restituisce errori HTTP, assicurati di risolverli con attenzione e di raggiungere i servizi che intendi utilizzare dal tuo codice.
Le tue credenziali sono incorporate nella tua richiesta per consentire ai servizi di autenticarti. Familiarizza con la struttura delle richieste e delle risposte dell'API Google Ads, soprattutto se intendi gestire 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).
Verifica di utilizzare le credenziali corrette. La nostra guida rapida ti illustra la 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 hai seguito questi passaggi e i problemi persistono, è il momento di approfondire la risoluzione dei problemi relativi agli errori dell'API Google Ads.
Determinare il problema
L'API Google Ads in genere segnala gli errori come oggetto di errore JSON, contenente un elenco di errori nella risposta. Questi oggetti forniscono un codice di errore e un messaggio che spiega il motivo per cui 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. Acquisire queste eccezioni e stampare i messaggi in un log o in una schermata di risoluzione dei problemi è un ottimo modo per iniziare. L'integrazione di queste informazioni con gli altri eventi registrati nella tua applicazione offre una buona panoramica di ciò che potrebbe scatenare il problema. Una volta identificato l'errore nei log, dovrai capire cosa significa.
Ricerca dell'errore
Consulta la nostra documentazione sugli errori comuni, che copre gli errori riscontrati più di frequente. Descrive il messaggio di errore, i riferimenti API pertinenti e come evitare o gestire l'errore.
Se la nostra documentazione sugli errori comuni non menziona specificamente l'errore, consulta la nostra documentazione di riferimento e cerca la stringa di errore.
Cerca nei nostri canali di assistenza per accedere ad altri sviluppatori che condividono le loro esperienze con l'API. Qualcun altro potrebbe aver riscontrato e risolto il problema che stai riscontrando.
Se riscontri errori non documentati, segnalali nel forum.
Visita il Centro assistenza Google Ads per ricevere assistenza nella risoluzione dei problemi di convalida o dei limiti dell'account. L'API Google Ads eredita le regole e le limitazioni del prodotto Google Ads principale.
I post del blog possono essere un buon riferimento per la risoluzione dei problemi della tua applicazione.
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 la richiesta per individuare una possibile causa. Alcuni messaggi di errore dell'API Google Ads
includono un fieldPathElements
nel campo location
di
GoogleAdsError
, che indica il punto
della richiesta in cui 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" } ]
}
}
]
}
Quando risolvi un problema, è possibile che la tua applicazione fornisca informazioni errate all'API. Ti consigliamo vivamente di utilizzare un ambiente di sviluppo interattivo (IDE) come Eclipse (un IDE senza costi e open source utilizzato principalmente per sviluppare in Java, ma che dispone di plug-in per altri linguaggi) per facilitare il debug. Ti consente di impostare punti di interruzione ed eseguire il codice riga per riga.
Verifica che la richiesta corrisponda ai dati inseriti nella domanda (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. 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 non deve modificarlo. Se la tua applicazione recupera un oggetto, lo modifica e lo invia di nuovo, potresti scrivere in un campo che non supporta l'aggiornamento. Controlla la descrizione del campo nella documentazione di riferimento per verificare se sono presenti limitazioni relative al momento o alla possibilità di aggiornare il campo.
Come ricevere assistenza
Non è sempre possibile identificare e risolvere il problema autonomamente. Se fai una domanda sul forum, la tua domanda sarà visibile a migliaia di sviluppatori che potrebbero aver dovuto affrontare lo stesso problema.
Cerca di includere quante più informazioni possibili nelle query. Gli elementi consigliati includono:
- Richiesta e risposta JSON sanificate. Assicurati di rimuovere i dati sensibili come il token sviluppatore o AuthToken.
- Snippet di codice. Se hai un problema specifico per una lingua o se richiedi assistenza per l'utilizzo dell'API, includi uno snippet di codice per spiegare cosa stai facendo.
- RequestId. In questo modo, i membri del team per le relazioni con gli sviluppatori di Google possono individuare la tua richiesta se è stata effettuata nell'ambiente di produzione. Ti consigliamo di registrare nei log l'ID richiesta incluso come proprietà nelle eccezioni che incapsulano gli errori di risposta, nonché più contesto rispetto al solo ID richiesta.
- Anche informazioni aggiuntive, come la versione di 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 su un account di test (scelta consigliata) o di produzione (se il bug si applica solo ai dati di un account di produzione specifico).
Considera la condivisione
Se hai pubblicato una domanda nel forum relativa a un errore che non era stato segnalato in precedenza e hai trovato la soluzione, valuta la possibilità di aggiungerla al thread. La prossima volta che uno sviluppatore avrà lo stesso problema, potrà risolverlo immediatamente.
Passaggi successivi
Ora che hai risolto il problema, hai notato dei modi per migliorare il tuo codice per evitare che si ripresenti?
La creazione di un buon insieme di unit test contribuisce a migliorare notevolmente la qualità e l'affidabilità del codice. Inoltre, velocizza il processo di test delle nuove modifiche per assicurarsi che non abbiano interrotto la funzionalità precedente. Una buona strategia di gestione degli errori è fondamentale anche per far emergere tutti i dati necessari per la risoluzione dei problemi.