이 페이지에서는 일반적인 오류에 대해 설명하고 이러한 오류를 예방하고 처리하는 방법에 대한 도움말을 제공합니다.
전체 오류 목록은 오류 참조를 확인하세요. 추가 지원이 필요하면 포럼을 방문하세요.
google.auth.exceptions.RefreshError
|
invalid_grant |
요약 | 토큰이 만료되었거나 취소되었습니다. |
일반적인 원인 |
외부 사용자 유형에 맞게 OAuth 동의 화면이 구성되고 게시 상태가 Testing 인 Google Cloud Platform 프로젝트에는 7일 후에 만료되는 갱신 토큰이 발급됩니다.
|
처리 방법 |
Google 프로젝트의 게시 상태가 Testing 이므로 갱신 토큰이 7일마다 만료되고 invalid_grant 오류가 발생합니다. Google API 콘솔로 이동하여 OAuth 동의 화면으로 이동합니다. 그런 다음 갱신 토큰이 7일 후에 만료되지 않도록 다음 안내에 따라 게시 상태를 In production 로 변경하세요.
|
예방법 |
인증되지 않은 앱을 참고하세요.
|
|
|
CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR |
요약 | 이 연산자는 Ad의 서브클래스와 함께 사용할 수 없습니다. |
일반적인 원인 |
광고의 status 이외의 속성을 수정하려고 합니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
광고를 만든 후에는 수정할 수 없습니다. 광고를 수정하려면 새 광고를 만든 다음 기존 광고를 삭제해야 합니다. 그러나 광고의 status 는 MutateAdGroupAds를 사용하여 수정할 수 있습니다.
|
|
INVALID_INPUT |
요약 | 광고의 입력란 중 하나에 잘못된 문자가 포함되어 있습니다. |
일반적인 원인 |
URL에 특수문자 사용.
|
처리 방법 |
해당 사항 없음
|
예방법 |
API 요청을 하기 전에 앱에서 URL을 검증합니다.
|
|
LINE_TOO_WIDE |
요약 | 광고의 입력란 중 하나가 허용된 최대 길이보다 깁니다. 텍스트 광고에 대한 정보를 참고하세요. |
일반적인 원인 |
텍스트 줄이 너무 깁니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
API 요청을 하기 전에 줄 길이를 확인합니다.
|
|
|
AD_GROUP_AD_LABEL_ALREADY_EXISTS |
요약 | 일부 광고에서 이미 이 라벨을 사용하고 있습니다. |
일반적인 원인 |
이미 연결된 광고와 라벨을 연결하려고 합니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
추가할 라벨이 광고와 이미 연결되어 있는지 먼저 확인하세요.
|
|
CANNOT_OPERATE_ON_REMOVED_ADGROUPAD |
요약 | 삭제된 광고에 대한 업데이트 작업이 시도되었습니다. |
일반적인 원인 |
삭제된 광고는 상태 변경을 포함하여 더 이상 업데이트할 수 없습니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
코드에서 삭제된 광고를 업데이트하려고 시도하지 않는지 확인하세요.
|
|
|
INVALID_KEYWORD_TEXT |
요약 | 키워드에 잘못된 문자가 포함되어 있습니다. 키워드 추가를 참조하세요. |
일반적인 원인 |
키워드에 잘못된 문자가 포함되어 있습니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
API 요청을 하기 전에 앱에서 키워드 텍스트의 유효성을 검사합니다.
|
|
|
DUPLICATE_ADGROUP_NAME |
요약 | 추가 또는 이름을 변경하려는 광고그룹의 이름이 이미 다른 광고그룹에 사용되고 있습니다. |
일반적인 원인 |
운영 중이거나 일시중지된 기존 광고그룹의 이름을 이용해 새 광고그룹을 만듭니다.
|
처리 방법 |
오류를 기록하고 사용자에게 오류 메시지를 표시합니다. 선택사항으로 고유한 광고그룹 이름을 제안하거나 사용 중인 이름 목록을 표시할 수도 있습니다.
|
예방법 |
해당 사항 없음
|
|
|
DUPLICATE_ASSET |
요약 | 단일 요청에 포함된 두 작업에는 동일한 바이너리 데이터가 있는 애셋에 대한 만들기 작업이 포함됩니다. |
일반적인 원인 |
동일한 바이너리 데이터를 포함하는 중복된 create 연산이 포함된 뮤테이션 요청.
|
처리 방법 |
별도의 요청에서 저작물을 만든 다음 후속 요청에서 이를 연결합니다. 또는 동일한 요청 내에서 임시 ID를 사용합니다.
|
예방법 |
해당 사항 없음
|
|
|
CLIENT_CUSTOMER_ID_INVALID |
요약 | 클라이언트 고객 ID가 숫자가 아닙니다. |
일반적인 원인 |
부적절한 클라이언트 고객 ID를 사용합니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
123-456-7890은 1234567890이어야 합니다. 자세한 내용은 시작하기를 참고하세요.
|
|
CLIENT_CUSTOMER_ID_IS_REQUIRED |
요약 | 클라이언트 고객 ID가 HTTP 헤더에 지정되지 않았습니다. |
일반적인 원인 |
HTTP 헤더에 클라이언트 고객 ID를 지정하지 않습니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
클라이언트 고객 ID는 모든 호출에 필요하므로 HTTP 헤더에 클라이언트 ID를 지정해야 합니다. 이 작업을 대신 처리해 주는 클라이언트 라이브러리를 사용해 보세요.
|
|
CUSTOMER_NOT_FOUND |
요약 | 헤더에 제공된 고객 ID에 해당하는 계정이 없습니다. |
일반적인 원인 |
백엔드에서 계정이 설정되기 전에 방금 생성된 계정에 액세스를 시도했습니다.
|
처리 방법 |
처음 5분 동안 기다린 후 30초마다 다시 시도합니다.
|
예방법 |
계정을 만든 후 몇 분 정도 기다린 후 계정에 요청을 제출하세요.
|
|
GOOGLE_ACCOUNT_COOKIE_INVALID |
요약 | 요청 헤더의 액세스 토큰이 잘못되었거나 만료되었습니다. |
일반적인 원인 |
액세스 토큰이 무효화되었습니다.
|
처리 방법 |
새 토큰을 요청합니다. 클라이언트 라이브러리 중 하나를 사용하는 경우 토큰 새로고침 방법에 대한 문서를 참조하세요.
|
예방법 |
액세스 토큰이 만료될 때까지 액세스 토큰을 저장하고 재사용하세요.
|
|
NOT_ADS_USER |
요약 | 액세스 토큰을 생성하는 데 사용되는 Google 계정이 Google Ads 계정과 연결되어 있지 않습니다. |
일반적인 원인 |
제공하신 로그인 정보가 Google Ads가 사용 설정되지 않은 Google 계정에 해당합니다.
|
처리 방법 |
OAuth 과정을 진행하려면 유효한 Google Ads 계정 (일반적으로 관리자 계정)으로 로그인해야 합니다. 또한 관리자 계정에 로그인한 후 해당 고객 또는 관리자 계정을 선택하고 Tools and Settings > Access and security 페이지로 이동한 다음 Google 계정 이메일 주소를 추가하면 Google 계정이 기존 Google Ads 계정에 액세스하도록 초대할 수 있습니다.
|
예방법 |
해당 사항 없음
|
|
OAUTH_TOKEN_INVALID |
요약 | 헤더의 OAuth 액세스 토큰이 잘못되었습니다. |
일반적인 원인 |
HTTP 헤더로 전달된 액세스 토큰이 올바르지 않습니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
계정과 연결된 올바른 액세스 토큰을 전달했는지 확인하세요. 갱신 토큰 및 승인 코드와 혼동되기도 합니다. 관리자 계정의 모든 고객 계정에 액세스할 수 있는 사용자 인증 정보를 가져오려면 관리자 계정의 갱신 토큰을 가져와야 합니다. 자세한 내용은 액세스 토큰 및 갱신 토큰과 OAuth2에 관한 가이드를 참고하세요.
|
|
|
CUSTOMER_NOT_ENABLED |
요약 | 사용 설정된 상태가 아니므로 고객 계정에 액세스할 수 없습니다. |
일반적인 원인 |
고객 계정이 가입을 완료하지 않았거나 비활성화된 경우 이러한 상황이 발생합니다.
|
처리 방법 |
Google Ads UI에 로그인하고 이 계정에 대한 가입 절차를 완료했는지 확인합니다. 비활성화된 계정은 해지된 Google Ads 계정 재활성화를 참조하세요.
|
예방법 |
CANCELLED 상태를 확인하여 고객 계정이 비활성화되었는지 사전에 확인할 수 있습니다.
|
|
DEVELOPER_TOKEN_NOT_APPROVED |
요약 | 개발자 토큰은 테스트 계정에서만 사용할 수 있도록 승인되었으며 테스트 계정이 아닌 계정에 액세스하려고 시도합니다. |
일반적인 원인 |
테스트 개발자 토큰이 테스트 이외의 계정에 액세스하는 데 사용되었습니다.
|
처리 방법 |
테스트 계정이 아닌 실제 계정에 액세스하려는 것인지 확인합니다. 그렇다면 일반 액세스 또는 기본 액세스로 개발자 토큰을 업그레이드 신청해야 합니다.
|
예방법 |
해당 사항 없음
|
|
DEVELOPER_TOKEN_PROHIBITED |
요약 | 요청에서 전송된 프로젝트에 개발자 토큰을 사용할 수 없습니다. |
일반적인 원인 |
각 Google API 콘솔 프로젝트는 하나의 관리자 계정에서만 개발자 토큰과 연결할 수 있습니다. Google Ads API 요청을 하면 개발자 토큰이 Google API 콘솔 프로젝트에 영구적으로 페어링됩니다. 새 Google API 콘솔 프로젝트를 사용하지 않는 경우 요청 시 DEVELOPER_TOKEN_PROHIBITED 오류가 발생합니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
새 관리자 계정의 개발자 토큰으로 전환하려면 새 관리자의 토큰을 사용하는 Google Ads API 요청에 대해 새 Google API 콘솔 프로젝트를 만들어야 합니다.
|
|
USER_PERMISSION_DENIED |
요약 | 승인된 고객은 운영 중인 고객에 액세스할 수 없습니다. |
일반적인 원인 |
관리자 계정에 대한 액세스 권한이 있는 사용자로 인증하지만 요청에 login-customer-id 을 지정하지 않습니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
하이픈 (- ) 없이 관리자 계정 ID로 login-customer-id 를 지정합니다. 클라이언트 라이브러리에서는 이를 기본적으로 지원합니다.
|
|
|
BID_TOO_MANY_FRACTIONAL_DIGITS |
요약 | 입찰가가 계정 통화의 최소 단위와 정확하게 일치하지 않습니다. 예를 들어 0.015달러 (마이크로 기준 15000 )는 유효한 입찰가가 아닙니다. |
일반적인 원인 |
해당 사항 없음
|
처리 방법 |
해당 사항 없음
|
예방법 |
입찰가가 계정 통화에 대한 최소 단위의 배수인지 확인합니다.
|
|
BID_TOO_BIG |
|
|
MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC |
요약 | 예산 금액이 너무 적습니다. |
일반적인 원인 |
해당 사항 없음
|
처리 방법 |
해당 사항 없음
|
예방법 |
예산 금액이 계정 통화의 최소 단위보다 크거나 같아야 합니다.
|
|
NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT |
요약 | 예산 금액을 마이크로 금액에서 계정의 통화 금액으로 변환하면 소수점 이하 자릿수가 너무 많이 표시됩니다. |
일반적인 원인 |
해당 사항 없음
|
처리 방법 |
해당 사항 없음
|
예방법 |
예산 금액을 계정 통화의 최소 단위로 나눌 수 있는지 확인합니다.
|
|
|
DUPLICATE_CAMPAIGN_NAME |
요약 | 추가 또는 이름을 변경하려는 캠페인의 이름이 이미 다른 캠페인에서 사용되고 있습니다. |
일반적인 원인 |
운영 중이거나 일시중지된 기존 캠페인의 이름을 이용해 새 캠페인을 만듭니다.
|
처리 방법 |
오류를 기록하고 사용자에게 오류 메시지를 표시합니다. 선택사항으로 고유한 캠페인 이름을 제안하거나 사용 중인 이름 목록을 표시할 수 있습니다.
|
예방법 |
해당 사항 없음
|
|
|
KEYWORD_HAS_INVALID_CHARS |
요약 | 유효하지 않은 문자가 포함된 키워드 추가 또는 수정 |
일반적인 원인 |
키워드에 ! @ % * 와 같은 특수문자를 사용합니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
키워드에 허용되지 않는 문자를 사용하지 않도록 합니다. 키워드 추가를 참조하세요.
|
|
|
DUPLICATE_ELEMENT |
요약 | 요청에 동일하고 중복된 매개변수가 두 개 포함되어 있습니다. |
일반적인 원인 |
해당 사항 없음
|
처리 방법 |
해당 사항 없음
|
예방법 |
작업, 매개변수, 목록 요소 등에서 중복을 제거한 후 요청을 수행합니다. DistinctElements 제약 조건이 적용되는 필드를 찾습니다.
|
|
|
DEADLINE_EXCEEDED |
요약 | 요청 시간이 초과되어 응답을 반환할 만큼 빠르게 완료할 수 없습니다. |
일반적인 원인 |
너무 큰 응답을 생성한 검색 요청 또는 변경 요청이 너무 커서 처리할 수 없습니다.
|
처리 방법 |
30초 후에 요청을 다시 시도하세요. 오류가 계속되면 더 빠르게 완료할 수 있는 여러 개의 더 작은 요청으로 요청을 나눠 보세요.
|
예방법 |
세분화를 검토하여 응답 크기에 어떤 영향을 미칠 수 있는지 파악합니다. gRPC 전송 레이어 제한사항에 유의합니다.
|
|
INTERNAL_ERROR |
요약 | 요청을 처리하는 중에 예상치 못한 문제가 발생했습니다. |
일반적인 원인 |
버그로 인해 API가 올바르게 작동하지 않습니다.
|
처리 방법 |
재시도에 지수 백오프 일정을 사용하여 이 오류로 실패한 요청을 재시도합니다.
|
예방법 |
해당 사항 없음
|
|
TRANSIENT_ERROR |
요약 | 일시적인 내부 오류가 발생했습니다. 다시 시도해야 합니다. |
일반적인 원인 |
이 오류는 API 내부적으로 일시적인 문제가 발생할 때 발생합니다.
|
처리 방법 |
재시도에 지수 백오프 일정을 사용하여 이 오류로 실패한 요청을 재시도합니다.
|
예방법 |
해당 사항 없음
|
|
InvalidGrantError
|
invalid_grant (malformed auth code) |
요약 | OAuth 토큰으로 교환된 승인 코드의 형식이 잘못되었습니다. |
일반적인 원인 |
요청하는 애플리케이션에 대한 액세스 권한이 이미 부여된 사용자에 대해 갱신 토큰을 생성하려고 할 때 이 문제가 발생합니다. 예를 들어 사용자 인증 정보 생성 예를 동일한 OAuth 클라이언트 사용자 인증 정보와 승인하는 사용자에 대해 두 번 이상 실행하면 이러한 상황이 발생할 수 있습니다.
|
처리 방법 |
승인하는 사용자와 OAuth 클라이언트 사용자 인증 정보 조합에 대해 갱신 토큰을 다시 생성하려면 기존 갱신 토큰을 취소하세요. 토큰을 취소하면 Google Ads API 액세스에서 해당 토큰을 사용할 수 없게 되고 갱신 토큰 생성에 사용된 모든 액세스 토큰이 무효화됩니다.
|
예방법 |
다시 생성할 필요가 없도록 갱신 토큰을 안전한 위치에 저장해야 합니다.
|
|
|
RESOURCE_NOT_FOUND |
요약 | 요청이 찾을 수 없는 리소스를 참조했습니다. |
일반적인 원인 |
요청이 존재하지 않거나 삭제된 리소스를 변경하거나 참조하려고 했습니다. 또는 리소스에 지정된 리소스 이름의 형식이 잘못되었습니다.
|
처리 방법 |
검색 요청을 사용하여 변경 요청을 제출하기 전에 기존 리소스에 대한 리소스 이름을 검색합니다. 지원되는 모든 언어로 유효한 리소스 이름을 구성하는 방법에 대한 문서가 포함되어 있는 클라이언트 라이브러리 가이드를 검토합니다.
|
예방법 |
리소스 이름을 수동으로 만들지 마세요. 클라이언트 라이브러리에서 제공되는 도우미 메서드 중 하나를 사용합니다.
|
|
|
EMPTY_LIST |
요약 | 필수 목록이 비어 있습니다. |
일반적인 원인 |
빈 작업 목록을 mutate 메서드에 전달합니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
해당 사항 없음
|
|
|
RESOURCE_EXHAUSTED |
요약 | 시스템 빈도 제한을 초과했습니다. |
일반적인 원인 |
해당 사항 없음
|
처리 방법 |
해당 사항 없음
|
예방법 |
요청 간에 짧은 지연을 설정하거나 더 적은 수의 요청으로 더 많은 작업을 결합합니다.
|
|
|
TOO_LOW |
요약 | 값이 허용된 최솟값보다 작습니다. |
일반적인 원인 |
ID를 지정하지 않아 0 값이 전달됩니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
API 참조 문서에 나온 범위 제한을 확인합니다.
|
|
|
INVALID_INPUT |
요약 | 요청 형식이 잘못되었습니다. |
일반적인 원인 |
요청의 URL 또는 콘텐츠 형식이 잘못되었습니다.
|
처리 방법 |
해당 사항 없음
|
예방법 |
해당 사항 없음
|
|
REQUIRED_FIELD_MISSING |
요약 | 요청에 필수 정보가 누락되었습니다. |
일반적인 원인 |
항목을 추가할 때 필수 입력란이 누락되었습니다.
|
처리 방법 |
오류를 기록하고 사용자에게 오류 메시지를 표시합니다. 오류의 fieldPath 속성은 누락된 필드를 나타냅니다.
|
예방법 |
필수 필드를 확인하려면 API 참조를 참조하세요.
|
|
|
RESOURCE_LIMIT |
요약 | 요청에서 해당 리소스의 총 개수가 지정된 한도를 초과할 수 있는 리소스를 만들려고 합니다. |
일반적인 원인 |
특정 컨텍스트에 존재할 수 있는 리소스 수에는 여러 가지 제한이 있습니다.
|
처리 방법 |
시스템 한도를 검토하여 발생한 한도를 확인합니다. 기존 리소스를 재사용하거나 리소스를 삭제하여 새 리소스를 위한 공간을 만드세요.
|
예방법 |
검색어를 사용하여 제한이 있는 리소스 수를 모니터링합니다.
|
|
|
TOO_LONG |
요약 | 지정된 필드에 할당된 문자열이 한도보다 깁니다. |
일반적인 원인 |
광고 제목이나 설명에 텍스트가 너무 많습니다.
|
처리 방법 |
발생한 한도를 확인하고 적절하게 문자열을 수정한 후 요청을 다시 보내세요.
|
예방법 |
문자열 길이 제한에 유의하세요.
|
|