Video: Check out the error handling talk from the 2019 workshop
Gli errori possono essere causati da una configurazione dell'ambiente errata, da un bug nel software o da input non validi da parte di un utente. Indipendentemente dalla fonte, 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.
Verificare la connettività
Assicurati di avere accesso all'API Google Ads e di averla configurata correttamente. Se la 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 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 hai seguito questi passaggi e riscontri ancora problemi, è il momento di approfondire la risoluzione degli 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 causare il problema. Una volta identificato l'errore nei log, dovrai capire cosa significa.
Ricercare l'errore
Consulta la nostra documentazione sugli errori comuni, che tratta gli errori più frequenti. 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.
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 di tanto in tanto saranno un buon riferimento per la risoluzione dei problemi dell'applicazione.
Se riscontri errori non documentati, contatta l'assistenza.
Dopo aver esaminato l'errore, è il momento di determinarne 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 una possibile causa. Alcuni messaggi di errore dell'API Google Ads includono un fieldPathElements nel
location campo 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, potresti scoprire che la tua applicazione fornisce informazioni errate all'API. Ti consigliamo vivamente di utilizzare un ambiente di sviluppo integrato (IDE) come Eclipse, un IDE senza costi e open source utilizzato principalmente per sviluppare Java, ma che dispone di plug-in per altri linguaggi, per facilitare il debug. Ti consente di impostare punti di interruzione e di eseguire il codice riga per riga.
Ricontrolla che la richiesta corrisponda agli input dell'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 gli aggiornamenti sparsi. L'omissione di un campo dalla maschera di campo in una richiesta di modifica indica che l'API non deve modificarlo. Se l'applicazione recupera un oggetto, apporta una 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 esistono limitazioni relative a quando o se puoi aggiornare il campo.
Come ricevere assistenza
Non è sempre possibile identificare e risolvere il problema autonomamente. Puoi contattare l'assistenza per ricevere aiuto.
Cerca di includere il maggior numero di informazioni possibile nelle tue query. Gli elementi consigliati includono:
- Richiesta e risposta JSON sanificate. Assicurati di rimuovere le informazioni sensibili, ad esempio il token di accesso OAuth.
- Snippet di codice. Se riscontri un problema specifico per la lingua o hai bisogno di aiuto per utilizzare l'API, includi uno snippet di codice per spiegare cosa stai facendo.
- RequestId. In questo modo, i membri del team di Google Developer Relations possono individuare la tua richiesta se è stata effettuata nell'ambiente di produzione. Ti consigliamo di registrare nei log il requestId incluso come proprietà nelle eccezioni che incapsulano gli errori di risposta, nonché un contesto più ampio rispetto al solo requestId.
- Anche informazioni aggiuntive, come la versione di runtime o dell'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 (opzione preferita) o di produzione (se il bug si applica solo ai dati di un account di produzione specifico).
Passaggi successivi
Ora che hai risolto il problema, hai notato dei modi per migliorare il codice in modo da evitare che si ripresenti?
La creazione di un buon set di unit test contribuisce a migliorare notevolmente la qualità e l'affidabilità del codice. Inoltre, accelera il processo di test delle nuove modifiche per assicurarsi che non interrompano le funzionalità precedenti. Una buona strategia di gestione degli errori è fondamentale anche per visualizzare tutti i dati necessari per la risoluzione dei problemi.