Na tej stronie znajdziesz listę częstych błędów oraz wskazówki, jak im zapobiegać i jak sobie z nimi radzić.
Pełną listę błędów znajdziesz w dokumentacji błędów. Dodatkową pomoc znajdziesz na naszym forum.
google.auth.exceptions.RefreshError
|
invalid_grant |
Podsumowanie | Token wygasł lub został unieważniony. |
Typowe przyczyny |
W przypadku projektu Google Cloud Platform z ekranem zgody OAuth skonfigurowanym pod kątem użytkownika zewnętrznego i stanem publikowania Testing zostanie wystawiony token odświeżania, który wygasa za 7 dni.
|
Jak postępować |
Stan publikacji Twojego projektu Google to Testing , więc token odświeżania wygasa co 7 dni i pojawia się błąd invalid_grant . Otwórz konsolę interfejsów API Google i przejdź do ekranu zgody OAuth. Następnie zmień stan publikowania na In production , postępując zgodnie z tymi instrukcjami, aby token odświeżania nie mógł wygasnąć za 7 dni.
|
Wskazówki dotyczące profilaktyki |
Zobacz Niezweryfikowane aplikacje.
|
|
|
CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR |
Podsumowanie | Tego operatora nie można używać z podklasą reklamy. |
Typowe przyczyny |
Próbujesz zmienić atrybuty inne niż status reklamy.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Po utworzeniu reklamy nie można jej modyfikować. Aby zmienić reklamę, musisz utworzyć nową reklamę i usunąć starą. status reklamy można jednak zmienić za pomocą elementu MutateAdGroupAds.
|
|
INVALID_INPUT |
Podsumowanie | Jedno z pól w reklamie zawiera nieprawidłowe znaki. |
Typowe przyczyny |
Używanie znaków specjalnych w adresach URL.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Zweryfikuj adresy URL w aplikacji przed wysłaniem żądania do interfejsu API.
|
|
LINE_TOO_WIDE |
Podsumowanie | Jedno z pól w reklamie przekraczało maksymalną dozwoloną długość. Więcej informacji znajdziesz w artykule Reklamy tekstowe. |
Typowe przyczyny |
Zbyt długi wiersz tekstu.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Sprawdź długość wiersza przed wysłaniem żądania do API.
|
|
|
AD_GROUP_AD_LABEL_ALREADY_EXISTS |
Podsumowanie | Ta etykieta jest już powiązana z częścią reklam. |
Typowe przyczyny |
Próbowano powiązać etykietę z reklamami, które są już powiązane.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Najpierw sprawdź, czy etykieta, którą chcesz dodać, jest już powiązana z reklamami.
|
|
CANNOT_OPERATE_ON_REMOVED_ADGROUPAD |
Podsumowanie | Operacja próbowała zaktualizować usuniętą reklamę. |
Typowe przyczyny |
Po usunięciu reklamy nie można jej już aktualizować, w tym zmieniać jej stanu.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Upewnij się, że kod nie próbuje aktualizować usuniętych reklam.
|
|
|
INVALID_KEYWORD_TEXT |
Podsumowanie | Tekst słowa kluczowego zawiera nieprawidłowe znaki. Zobacz Dodawanie słów kluczowych. |
Typowe przyczyny |
Tekst słowa kluczowego zawiera nieprawidłowe znaki.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Zweryfikuj tekst słowa kluczowego w aplikacji przed wysłaniem żądania do interfejsu API.
|
|
|
DUPLICATE_ADGROUP_NAME |
Podsumowanie | Dodajemy grupę reklam lub zmienimy jej nazwę, ale ta nazwa jest już używana przez inną grupę reklam. |
Typowe przyczyny |
Utwórz nową grupę reklam, podając nazwę aktywnej lub wstrzymanej grupy reklam.
|
Jak postępować |
Zarejestruj błąd i pokaż użytkownikowi komunikat o błędzie, opcjonalnie sugerując unikalną nazwę grupy reklam lub pokazując listę używanych nazw.
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
|
DUPLICATE_ASSET |
Podsumowanie | Dwie operacje w jednym żądaniu obejmują operację tworzenia zasobu z tymi samymi danymi binarnymi. |
Typowe przyczyny |
Żądanie mutacji ze zduplikowanymi operacjami tworzenia zawierającymi te same dane binarne.
|
Jak postępować |
Utwórz zasób w osobnej prośbie, a potem połącz go w kolejnym żądaniu lub użyj tymczasowego identyfikatora w tym samym żądaniu.
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
|
CLIENT_CUSTOMER_ID_INVALID |
Podsumowanie | Identyfikator klienta nie jest liczbą. |
Typowe przyczyny |
Używanie nieprawidłowego identyfikatora klienta.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
123-456-7890 powinien mieć postać 1234567890. Więcej informacji znajdziesz w artykule Pierwsze kroki.
|
|
CLIENT_CUSTOMER_ID_IS_REQUIRED |
Podsumowanie | Identyfikator klienta klienta nie został określony w nagłówku HTTP. |
Typowe przyczyny |
Nie określono identyfikatora klienta klienta w nagłówku HTTP.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Identyfikator klienta klienta jest wymagany we wszystkich wywołaniach, więc pamiętaj, by podać go w nagłówku HTTP. Rozważ skorzystanie z naszych bibliotek klienta, ponieważ robią to za Ciebie.
|
|
CUSTOMER_NOT_FOUND |
Podsumowanie | Nie znaleziono konta dla identyfikatora klienta podanego w nagłówku. |
Typowe przyczyny |
Próbujesz uzyskać dostęp do konta, które zostało właśnie utworzone przed utworzeniem konta w backendzie.
|
Jak postępować |
Zaczekaj 5 minut, a potem spróbuj ponownie co 30 sekund.
|
Wskazówki dotyczące profilaktyki |
Po utworzeniu konta odczekaj kilka minut, zanim wyślesz prośby.
|
|
GOOGLE_ACCOUNT_COOKIE_INVALID |
Podsumowanie | Token dostępu w nagłówku żądania jest nieprawidłowy lub wygasł. |
Typowe przyczyny |
Token dostępu został unieważniony.
|
Jak postępować |
Poproś o nowy token. Jeśli używasz jednej z naszych bibliotek klienckich, zapoznaj się z jej dokumentacją, aby dowiedzieć się, jak odświeżyć token.
|
Wskazówki dotyczące profilaktyki |
Przechowywanie i ponowne używanie tokenów dostępu, dopóki nie wygasną.
|
|
NOT_ADS_USER |
Podsumowanie | Konto Google użyte do wygenerowania tokena dostępu nie jest powiązane z żadnym kontem Google Ads. |
Typowe przyczyny |
Podane informacje logowania odpowiadają kontu Google, na którym nie włączono Google Ads.
|
Jak postępować |
Pamiętaj, aby zalogować się na prawidłowe konto Google Ads (zwykle jest to konto menedżera) na potrzeby procesu OAuth. Możesz też zezwolić kontu Google na dostęp do istniejącego konta Google Ads. Aby to zrobić, zaloguj się na konto menedżera, wybierz odpowiednie konto klienta lub menedżera, otwórz Tools and Settings > Access and security i dodaj adres e-mail konta Google.
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
OAUTH_TOKEN_INVALID |
Podsumowanie | Token dostępu OAuth w nagłówku jest nieprawidłowy. |
Typowe przyczyny |
Token dostępu przekazany z nagłówkiem HTTP nie był prawidłowy.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Sprawdź, czy przekazać właściwy token dostępu powiązany z Twoim kontem. Jest czasami mylony z tokenami odświeżania i kodami autoryzacji. Jeśli chcesz uzyskać dane logowania umożliwiające dostęp do wszystkich kont klientów w ramach konta menedżera, pobierz token odświeżania konta menedżera. Więcej informacji znajdziesz w naszym przewodniku po tokenach dostępu i tokenach odświeżania oraz OAuth2.
|
|
|
CUSTOMER_NOT_ENABLED |
Podsumowanie | Nie można uzyskać dostępu do konta klienta, ponieważ nie jest ono włączone. |
Typowe przyczyny |
Dzieje się tak, gdy konto klienta nie zostało zakończone lub zostało zdezaktywowane.
|
Jak postępować |
Zaloguj się w interfejsie Google Ads i upewnij się, że ukończono proces rejestracji tego konta. Informacje na temat dezaktywowanych kont znajdziesz w artykule Ponowna aktywacja zlikwidowanego konta Google Ads.
|
Wskazówki dotyczące profilaktyki |
Możesz proaktywnie sprawdzić, czy konto klienta zostało zdezaktywowane, sprawdzając stan ANULOWANE.
|
|
DEVELOPER_TOKEN_NOT_APPROVED |
Podsumowanie | Token programisty jest zatwierdzony tylko do użytku z kontami testowymi i próba uzyskania dostępu do konta innego niż testowy. |
Typowe przyczyny |
Do uzyskania dostępu do konta innego niż test został użyty testowy token programisty.
|
Jak postępować |
Upewnij się, że chcesz uzyskać dostęp do konta innego niż testowe. Jeśli tak, musisz złożyć wniosek o uaktualnienie tokena programisty na dostęp standardowy lub podstawowy.
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
DEVELOPER_TOKEN_PROHIBITED |
Podsumowanie | Token programisty jest niedozwolony w projekcie wysłanym w żądaniu. |
Typowe przyczyny |
Każdy projekt w Konsoli interfejsów API Google może być powiązany z tokenem programisty tylko z jednego konta menedżera. Po wysłaniu żądania do interfejsu Google Ads API token programisty jest trwale sparowany z projektem w Konsoli interfejsów API Google. Jeśli nie użyjesz nowego projektu w Konsoli interfejsów API Google, podczas wysyłania żądania pojawi się błąd DEVELOPER_TOKEN_PROHIBITED .
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Jeśli przechodzisz na token programisty na nowym koncie menedżera, musisz utworzyć nowy projekt Konsoli interfejsów API Google dla żądań do interfejsu Google Ads API, które korzystają z tokena nowego menedżera.
|
|
USER_PERMISSION_DENIED |
Podsumowanie | Autoryzowany klient nie ma dostępu do działającego klienta. |
Typowe przyczyny |
Uwierzytelnianie jako użytkownik z dostępem do konta menedżera, ale bez określenia login-customer-id w żądaniu.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Podaj login-customer-id jako identyfikator konta menedżera bez łączników (- ). Biblioteki klienta mają wbudowaną obsługę tej funkcji.
|
|
|
BID_TOO_MANY_FRACTIONAL_DIGITS |
Podsumowanie | Wartość stawki nie jest dokładną wielokrotnością minimalnej jednostki waluty konta. Na przykład 0, 015 USD (15000 w mikro) nie jest prawidłową stawką. |
Typowe przyczyny |
Nie dotyczy
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Sprawdź, czy stawki są wielokrotnością minimalnej jednostki dla waluty konta.
|
|
BID_TOO_BIG |
Podsumowanie | Błąd jest zwracany, mimo że stawka mieści się w budżecie kampanii. |
Typowe przyczyny |
Nie dotyczy
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Sprawdź, czy konto uczestniczy w programie Google Ad Grants. Jeśli tak, ogranicz stawki CPC do maksymalnej wartości określonej w programie.
|
|
|
MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC |
Podsumowanie | Kwota budżetu jest za mała. |
Typowe przyczyny |
Nie dotyczy
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Sprawdź, czy kwota budżetu jest równa minimalnej jednostce waluty konta lub większa.
|
|
NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT |
Podsumowanie | Po przeliczeniu kwoty budżetu z mikro na kwotę w walucie konta będzie ona zawierać zbyt wiele istotnych miejsc po przecinku. |
Typowe przyczyny |
Nie dotyczy
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Sprawdź, czy kwota budżetu jest podzielna przez minimalną jednostkę waluty konta.
|
|
|
DUPLICATE_CAMPAIGN_NAME |
Podsumowanie | Dodajesz kampanię lub zmieniasz jej nazwę, ale ta nazwa jest już używana przez inną kampanię. |
Typowe przyczyny |
Utworzenie nowej kampanii pod nazwą istniejącej lub wstrzymanej kampanii.
|
Jak postępować |
Zarejestruj błąd i pokaż użytkownikowi komunikat o błędzie, opcjonalnie proponując unikalną nazwę kampanii lub wyświetlając listę używanych nazw.
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
|
KEYWORD_HAS_INVALID_CHARS |
Podsumowanie | dodawanie lub edytowanie słów kluczowych, które zawierają nieprawidłowe znaki; |
Typowe przyczyny |
Używaj w słowach kluczowych znaków specjalnych, np. ! @ % * .
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Sprawdź, czy słowa kluczowe nie zawierają niedozwolonych znaków. Zobacz Dodawanie słów kluczowych.
|
|
|
DUPLICATE_ELEMENT |
Podsumowanie | Żądanie zawiera 2 identyczne i nadmiarowe parametry. |
Typowe przyczyny |
Nie dotyczy
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Przed wysłaniem żądania usuń duplikaty (operacje, parametry, elementy listy). Znajdź pola z ograniczeniem DistinctElements .
|
|
|
DEADLINE_EXCEEDED |
Podsumowanie | Żądanie przekroczyło limit czasu i nie mogło zostać wykonane wystarczająco szybko, by zwrócić odpowiedź. |
Typowe przyczyny |
Przesłano żądanie wyszukiwania, które wygenerowało zbyt dużą odpowiedź lub żądanie zmiany było zbyt duże, aby można było je przetworzyć.
|
Jak postępować |
Zaczekaj około 30 sekund i spróbuj jeszcze raz. Jeśli błąd będzie się powtarzać, spróbuj podzielić żądanie na kilka mniejszych żądań, które można szybciej zrealizować.
|
Wskazówki dotyczące profilaktyki |
Zapoznaj się z podziałem na segmenty, aby dowiedzieć się, jak może on wpływać na rozmiar odpowiedzi. Pamiętaj o ograniczeniach warstwy transportu gRPC.
|
|
INTERNAL_ERROR |
Podsumowanie | Podczas przetwarzania żądania wystąpił nieoczekiwany błąd. |
Typowe przyczyny |
Z powodu błędu interfejs API nie działa prawidłowo.
|
Jak postępować |
Ponów wszystkie żądania, których nie udało się zrealizować z powodu tego błędu, przy użyciu wykładniczego harmonogramu wycofywania dla ponownych prób.
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
TRANSIENT_ERROR |
Podsumowanie | Wystąpił przejściowy błąd wewnętrzny i należy ponowić próbę. |
Typowe przyczyny |
Ten błąd występuje, gdy interfejs API wewnętrznie napotka tymczasowy problem.
|
Jak postępować |
Ponów wszystkie żądania, których nie udało się zrealizować z powodu tego błędu, przy użyciu wykładniczego harmonogramu wycofywania dla ponownych prób.
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
InvalidGrantError
|
invalid_grant (malformed auth code) |
Podsumowanie | Kod autoryzacji wymieniony na tokeny OAuth miał nieprawidłowy format. |
Typowe przyczyny |
Dzieje się tak podczas próby wygenerowania tokena odświeżania dla użytkownika, który otrzymał już dostęp do żądanej aplikacji. Może się tak zdarzyć w przypadku wykonania przykładu generowania danych logowania użytkownika więcej niż raz dla tych samych danych logowania klienta OAuth i autoryzowania użytkownika.
|
Jak postępować |
Aby ponownie wygenerować token odświeżania dla danej kombinacji autoryzacji użytkownika i danych klienta OAuth, unieważnij istniejący token odświeżania. Pamiętaj, że unieważnienie tokena uniemożliwia dostęp do niego do interfejsu API Google Ads i powoduje unieważnienie wszystkich tokenów dostępu użytych do wygenerowania tokena odświeżania.
|
Wskazówki dotyczące profilaktyki |
Przechowuj token odświeżania w bezpiecznej lokalizacji, by uniknąć jego ponownego generowania.
|
|
|
RESOURCE_NOT_FOUND |
Podsumowanie | Żądanie odnosiło się do zasobu, którego nie udało się znaleźć. |
Typowe przyczyny |
W żądaniu podjęto próbę zmiany zasobu lub odwołania do zasobu, który nie istnieje lub został usunięty. Możliwe też, że podana nazwa zasobu dla zasobu jest nieprawidłowa.
|
Jak postępować |
Przed wysłaniem żądania zmiany możesz pobrać nazwę istniejącego zasobu za pomocą żądania wyszukiwania. Zapoznaj się z naszymi przewodnikami po bibliotece klienta, które zawierają dokumentację dotyczącą tworzenia prawidłowych nazw zasobów w każdym obsługiwanym języku.
|
Wskazówki dotyczące profilaktyki |
Nie twórz ręcznie nazw zasobów. Użyj jednej z metod pomocniczych oferowanych przez nasze biblioteki klienta.
|
|
|
EMPTY_LIST |
Podsumowanie | Wymagana lista jest pusta. |
Typowe przyczyny |
Przekazywanie pustej listy operacji do metody mutate .
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
|
RESOURCE_EXHAUSTED |
Podsumowanie | Systemowy limit częstotliwości został przekroczony. |
Typowe przyczyny |
Nie dotyczy
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Skonfiguruj krótkie opóźnienia między żądaniami lub łącz więcej operacji w mniejszej liczbie żądań.
|
|
|
TOO_LOW |
Podsumowanie | Wartość była niższa niż dopuszczalne minimum. |
Typowe przyczyny |
zapominanie identyfikatora, co powoduje przekazanie wartości 0 .
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Zwróć uwagę na wszelkie ograniczenia zakresów opisane w dokumentacji interfejsu API.
|
|
|
INVALID_INPUT |
Podsumowanie | Żądanie ma nieprawidłowy format. |
Typowe przyczyny |
Adres URL lub treść żądania są nieprawidłowo sformułowane.
|
Jak postępować |
Nie dotyczy
|
Wskazówki dotyczące profilaktyki |
Nie dotyczy
|
|
REQUIRED_FIELD_MISSING |
Podsumowanie | W żądaniu brakuje wymaganych informacji. |
Typowe przyczyny |
Podczas próby dodania elementu brakuje wymaganych pól.
|
Jak postępować |
Zarejestruj błąd i wyświetl użytkownikowi komunikat o błędzie. Atrybut fieldPath błędu wskazuje, którego pola brakuje.
|
Wskazówki dotyczące profilaktyki |
Sprawdź w dokumentacji interfejsu API, które pola są wymagane.
|
|
|
RESOURCE_LIMIT |
Podsumowanie | Żądanie próbuje utworzyć zasób, który spowodowałby przekroczenie określonego limitu przez łączną liczbę tych zasobów. |
Typowe przyczyny |
Istnieje wiele ograniczeń liczby zasobów, które mogą istnieć w określonych kontekstach.
|
Jak postępować |
Aby dowiedzieć się, jaki limit występuje, przeczytaj artykuł Limity systemu. Możesz ponownie wykorzystać istniejący zasób lub usunąć zasoby, aby utworzyć miejsce dla nowych.
|
Wskazówki dotyczące profilaktyki |
Za pomocą zapytań możesz sprawdzać liczbę zasobów, które są objęte ograniczeniami.
|
|
|
TOO_LONG |
Podsumowanie | Ciąg przypisany do określonego pola jest dłuższy niż limit. |
Typowe przyczyny |
Nagłówki lub teksty reklam zawierają za dużo tekstu.
|
Jak postępować |
Określ napotkany limit, odpowiednio zmodyfikuj ciąg znaków i wyślij żądanie ponownie.
|
Wskazówki dotyczące profilaktyki |
Pamiętaj o ograniczeniach długości ciągów znaków.
|
|