Gli errori possono essere causati da una configurazione errata dell'ambiente, da un bug nel software o da un input non valido di un utente. Indipendentemente dalla fonte, dovrai risolvere i problemi e correggere il codice o aggiungere la logica per gestire l'errore dell'utente. Questa guida illustra alcune best practice per la risoluzione dei problemi dell'API Google Ads.
Garantisci la connettività
Assicurati di avere accesso all'API Google Ads e di aver eseguito la configurazione corretta. 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 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).
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 hai seguito questi passaggi e i problemi persistono, è il momento di approfondire la risoluzione dei problemi relativi agli errori dell'API Google Ads.
Determina il problema
In genere, l'API Google Ads segnala gli errori come un 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 indicatori di quale potrebbe essere il problema.
{
"errors": [
{
"errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
"message": "The field mask contained an invalid field: 'keyword.match_type'.",
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 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 nell'applicazione offre una buona panoramica di ciò che potrebbe causare il problema. Una volta identificato l'errore nei log, dovrai capire cosa significa.
Fai ricerche sull'errore
Consulta la nostra documentazione sugli errori comuni, che illustra 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 risolvere i problemi di convalida o i limiti dell'account. L'API Google Ads eredita le regole e le limitazioni del prodotto Google Ads principale.
I blog post a volte sono 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 determinare la causa principale.
Individua 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 fieldPathElements nel campo location di GoogleAdsError, che indica dove si è verificato l'errore nella richiesta. Ad esempio:
{
"errors": [
{
"errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
"message": "Criteria type can not be targeted.",
"trigger": { "stringValue": "" },
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 0 },
{ "fieldName": "create" },
{ "fieldName": "keyword" }
]
}
}
]
}
Quando risolvi un problema, potresti scoprire che la tua applicazione fornisce informazioni errate all'API. Ti consigliamo vivamente di utilizzare un debugger dell'ambiente di sviluppo integrato (IDE) per impostare i punti di interruzione, eseguire il codice riga per riga e ispezionare i payload delle richieste create prima che vengano inviati.
Controlla 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 corrispondente agli aggiornamenti che vuoi apportare. L'API Google Ads supporta gli aggiornamenti parziali. L'omissione di un campo dalla maschera di campo in una richiesta di modifica indica che l'API deve lasciarlo invariato. Se la tua applicazione recupera un oggetto, apporta una modifica e lo invia nuovamente, potresti scrivere in un campo che non supporta l'aggiornamento. Controlla la descrizione del campo nella documentazione di riferimento per verificare se esistono limitazioni su quando o se puoi aggiornare il campo.
Come ricevere assistenza
Non è sempre possibile identificare e risolvere il problema in autonomia. Puoi contattare l'assistenza per ricevere aiuto.
Prova a includere quante più informazioni possibili nelle tue query. Gli elementi consigliati includono:
- Richiesta e risposta JSON sanificate. Assicurati di rimuovere le informazioni sensibili, come il token di accesso OAuth, il token di aggiornamento e gli ID cliente.
- Snippet di codice. Se hai un problema specifico per un linguaggio o se richiedi assistenza per l'utilizzo dell'API, includi uno snippet di codice per spiegare cosa stai facendo.
request-id. In questo modo, i membri del team Google Developer Relations possono individuare la tua richiesta se viene effettuata nell'ambiente di produzione. Ti consigliamo di registrare ilrequest-idincluso nelle intestazioni della risposta o nelle eccezioni che incapsulano gli errori della risposta, nonché un contesto più ampio rispetto al solorequest-id.- Anche informazioni aggiuntive, come la versione del runtime o dell'interprete e la piattaforma, possono essere utili per la risoluzione dei problemi.
Risolvi 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 questo problema, hai notato dei modi per migliorare il tuo codice per evitare che si verifichi?
La creazione di un buon insieme di test delle unità contribuisce a migliorare notevolmente la qualità e l'affidabilità del codice. Inoltre, velocizza il processo di test delle nuove modifiche per garantire che non abbiano interrotto le funzionalità precedenti. Una buona strategia di gestione degli errori è fondamentale anche per mostrare tutti i dati necessari per la risoluzione dei problemi.