このページでは、一般的なエラーの一覧と、その防止と処理のヒントを紹介します。
エラーの完全なリストについては、エラー リファレンスをご覧ください。さらにサポートが必要な場合は、フォーラムをご利用ください。
google.auth.exceptions.RefreshError
|
invalid_grant |
まとめ | トークンの有効期限が切れているか、取り消されています。 |
一般的な原因 |
外部ユーザータイプ用に OAuth 同意画面が構成され、公開ステータスが Testing の Google Cloud Platform プロジェクトには、7 日後に期限切れとなる更新トークンが発行されます。 |
対応方法 |
Google プロジェクトの公開ステータスは Testing であるため、更新トークンは 7 日ごとに期限切れになり、invalid_grant エラーが返されます。Google API Console に移動し、OAuth 同意画面に移動します。その後、更新トークンが 7 日後に期限切れにならないよう、次の手順に沿って公開ステータスを In production に変更します。
|
感染予防のヒント |
未確認アプリをご覧ください。
|
|
|
CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR |
まとめ | この演算子は、Ad のサブクラスには使用できません。 |
一般的な原因 |
広告の status 以外の属性を変更しようとしています。
|
対応方法 |
なし |
感染予防のヒント |
一度作成した広告は変更できません。広告を修正する場合は、新しい広告を作成してから古い広告を削除する必要があります。ただし、広告の status は MutateAdGroupAds を使用して変更できます。 |
|
INVALID_INPUT |
まとめ | 広告のいずれかのフィールドに無効な文字が含まれています。 |
一般的な原因 |
URL に特殊文字を使用する。 |
対応方法 |
なし |
感染予防のヒント |
API リクエストを行う前に、アプリ内の URL を検証します。 |
|
LINE_TOO_WIDE |
まとめ | 広告内のフィールドの 1 つが最大文字数を超えています。詳しくは、テキスト広告についてをご覧ください。 |
一般的な原因 |
テキスト行が長すぎる。
|
対応方法 |
なし |
感染予防のヒント |
API リクエストを行う前に、行の長さを検証します。 |
|
|
AD_GROUP_AD_LABEL_ALREADY_EXISTS |
まとめ | このラベルは一部の広告ですでに使われています。 |
一般的な原因 |
すでに関連付けられている広告にラベルを関連付けようとしています。
|
対応方法 |
なし |
感染予防のヒント |
追加するラベルがすでに広告に関連付けられているかどうかをまず確認します。
|
|
CANNOT_OPERATE_ON_REMOVED_ADGROUPAD |
まとめ | 削除した広告を更新しようとしました。 |
一般的な原因 |
広告を削除すると、その広告を更新したり、ステータスを変更したりすることはできなくなります。
|
対応方法 |
なし |
感染予防のヒント |
削除した広告をコードで更新しないようにしてください。
|
|
|
INVALID_KEYWORD_TEXT |
まとめ | キーワード テキストに無効な文字が含まれています。キーワードを追加するをご覧ください。 |
一般的な原因 |
キーワード テキストに無効な文字が含まれています。
|
対応方法 |
なし |
感染予防のヒント |
API にリクエストを送信する前に、アプリ内のキーワード テキストを検証します。 |
|
|
DUPLICATE_ADGROUP_NAME |
まとめ | 広告グループの追加または名前変更を行おうとしていますが、名前が他の広告グループですでに使用されています。 |
一般的な原因 |
既存の有効な広告グループや一時停止中の広告グループの名前で新しい広告グループを作成する。
|
対応方法 |
エラーを記録し、エラー メッセージをユーザーに表示します。一意の広告グループ名を提案したり、使用されている名前のリストを示したりすることもできます。
|
感染予防のヒント |
なし |
|
|
DUPLICATE_ASSET |
まとめ | 1 つのリクエストの 2 つのオペレーションには、同じバイナリデータを含むアセットの作成オペレーションが含まれます。 |
一般的な原因 |
同じバイナリデータを含む作成オペレーションが重複した変更リクエスト。 |
対応方法 |
別のリクエストでアセットを作成し、後続のリクエストでそのアセットにリンクするか、同じリクエスト内で一時的な ID を使用します。 |
感染予防のヒント |
なし |
|
|
CLIENT_CUSTOMER_ID_INVALID |
まとめ | クライアントのお客様 ID が数字ではありません。 |
一般的な原因 |
不適切なクライアントのお客様 ID を使用している。
|
対応方法 |
なし |
感染予防のヒント |
123-456-7890 は 1234567890 にする必要があります。詳しくは、スタートガイドをご覧ください。 |
|
CLIENT_CUSTOMER_ID_IS_REQUIRED |
まとめ | クライアントのお客様 ID が HTTP ヘッダーに指定されていませんでした。 |
一般的な原因 |
HTTP ヘッダーでクライアントのお客様 ID を指定しない。 |
対応方法 |
なし |
感染予防のヒント |
すべての呼び出しでクライアントのお客様 ID が必要なため、HTTP ヘッダーで指定していることを確認してください。この処理は Google のクライアント ライブラリに任せることができます。 |
|
CUSTOMER_NOT_FOUND |
まとめ | ヘッダーに指定されたお客様 ID に該当するアカウントが見つかりません。 |
一般的な原因 |
バックエンドでアカウントが確立される前に作成されたアカウントにアクセスしようとしている。 |
対応方法 |
最初の 5 分間待ってから、30 秒ごとに再試行します。 |
感染予防のヒント |
アカウントの作成後、数分待ってから、アカウントに対してリクエストを発行してください。 |
|
GOOGLE_ACCOUNT_COOKIE_INVALID |
まとめ | リクエスト ヘッダーのアクセス トークンが無効か有効期限が切れています。 |
一般的な原因 |
アクセス トークンが無効になっています。 |
対応方法 |
新しいトークンをリクエストします。Google のクライアント ライブラリのいずれかを使用している場合は、トークンの更新方法についてそのライブラリのドキュメントをご覧ください。 |
感染予防のヒント |
アクセス トークンを有効期限が切れるまで保存し、再利用します。 |
|
NOT_ADS_USER |
まとめ | アクセス トークンの生成に使用された Google アカウントが、どの Google 広告アカウントにも関連付けられていません。 |
一般的な原因 |
入力されたログイン情報は、Google 広告が有効になっていない Google アカウントのものです。
|
対応方法 |
OAuth フローを行うため、有効な Google 広告アカウント(通常は MCC アカウント)でログインしてください。既存の Google 広告アカウントに Google アカウントを招待することもできます。これを行うには、MCC アカウントにログインし、該当する顧客または MCC アカウントを選択して、[Tools and Settings > Access and security ] に移動し、Google アカウントのメールアドレスを追加します。
|
感染予防のヒント |
なし |
|
OAUTH_TOKEN_INVALID |
まとめ | ヘッダーの OAuth アクセス トークンが無効です。 |
一般的な原因 |
HTTP ヘッダーで渡されたアクセス トークンが正しくありません。 |
対応方法 |
なし |
感染予防のヒント |
アカウントに関連付けられた正しいアクセス トークンを渡すようにします。更新トークンや認証コードと混同されることがありますので、ご注意ください。MCC アカウントのすべてのクライアント アカウントにアクセスできる認証情報を取得する場合は、MCC アカウントの更新トークンを取得してください。詳しくは、アクセス トークンと更新トークンと OAuth2 に関するガイドをご覧ください。
|
|
|
CUSTOMER_NOT_ENABLED |
まとめ | 顧客アカウントが有効状態ではないため、アクセスできません。 |
一般的な原因 |
これは、お客様のアカウントが登録が完了していないか、無効になっている場合に発生します。
|
対応方法 |
Google 広告の管理画面にログインして、このアカウントの登録プロセスが完了していることを確認します。無効になったアカウントについては、利用を停止した Google 広告アカウントを再開するをご覧ください。
|
感染予防のヒント |
CANCELLED ステータスを確認することで、お客様のアカウントが無効になっているかどうかを事前に確認できます。
|
|
DEVELOPER_TOKEN_NOT_APPROVED |
まとめ | 開発者トークンはテスト アカウントでの使用のみが承認されており、テスト以外のアカウントへのアクセスを試みています。 |
一般的な原因 |
テスト以外のアカウントへのアクセスにテスト用開発者トークンが使用されました。
|
対応方法 |
実際にテスト以外のアカウントにアクセスしようとしていることを確認します。該当する場合、標準アクセスまたはベーシック アクセスへの開発者トークンのアップグレードを申請する必要があります。
|
感染予防のヒント |
なし |
|
DEVELOPER_TOKEN_PROHIBITED |
まとめ | リクエストで送信されたプロジェクトでは開発者トークンを使用できません。 |
一般的な原因 |
各 Google API Console プロジェクトは、1 つの MCC アカウントの開発者トークンにのみ関連付けることができます。Google Ads API リクエストを行うと、開発者トークンは Google API Console プロジェクトと恒久的に紐づけられます。新しい Google API Console プロジェクトを使用しない場合、リクエストを行うときに DEVELOPER_TOKEN_PROHIBITED エラーが発生します。 |
対応方法 |
なし |
感染予防のヒント |
新しい MCC アカウントの開発者トークンに切り替える場合は、新しい MCC アカウントのトークンを使用する Google Ads API リクエスト用に、新しい Google API Console プロジェクトを作成する必要があります。
|
|
USER_PERMISSION_DENIED |
まとめ | 承認された顧客はオペレーティング カスタマへのアクセス権がありません。 |
一般的な原因 |
MCC アカウントにアクセスできるユーザーとして認証しますが、リクエストで login-customer-id を指定しません。 |
対応方法 |
なし |
感染予防のヒント |
ハイフン(- )なしの MCC アカウント ID として login-customer-id を指定します。クライアント ライブラリには、この 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 |
まとめ | リクエストに含まれている 2 つのパラメータが重複しています。 |
一般的な原因 |
なし |
対応方法 |
なし |
感染予防のヒント |
リクエストを行う前に、重複(オペレーション、パラメータ、リスト要素)を削除します。DistinctElements 制約のあるフィールドを探します。 |
|
|
DEADLINE_EXCEEDED |
まとめ | リクエストがタイムアウトになり、レスポンスを返すのに十分な速さで完了できませんでした。 |
一般的な原因 |
検索リクエストによって生成されたレスポンスが大きすぎるか、変換リクエストが大きすぎて処理できません。
|
対応方法 |
30 秒ほど待ってから、リクエストを再試行します。エラーが解決しない場合は、リクエストを複数の小さなリクエストに分割し、迅速に完了できるようにしてみてください。 |
感染予防のヒント |
セグメンテーションで、回答のサイズにどのように影響するかを確認します。gRPC トランスポート レイヤの制限に注意してください。 |
|
INTERNAL_ERROR |
まとめ | リクエストの処理中に予期しないエラーが発生しました。 |
一般的な原因 |
バグが原因で API が正しく機能していません。 |
対応方法 |
このエラーで失敗したリクエストを再試行します。再試行には指数バックオフ スケジュールを使用します。 |
感染予防のヒント |
なし |
|
TRANSIENT_ERROR |
まとめ | 一時的な内部エラーが発生したため、再試行する必要があります。 |
一般的な原因 |
このエラーは、API で一時的な問題が発生している場合に発生します。 |
対応方法 |
このエラーで失敗したリクエストを再試行します。再試行には指数バックオフ スケジュールを使用します。 |
感染予防のヒント |
なし |
|
InvalidGrantError
|
invalid_grant (malformed auth code) |
まとめ | OAuth トークンと交換された認証コードの形式が正しくありません。 |
一般的な原因 |
これは、リクエスト元のアプリケーションへのアクセス権がすでに付与されているユーザーの更新トークンを生成しようとした場合に発生します。たとえば、同じ OAuth クライアント認証情報とユーザーの認証に対して「Generate User credentials」の例を複数回実行した場合に、これが発生する可能性があります。 |
対応方法 |
認可済みのユーザーと OAuth クライアントの認証情報の特定の組み合わせに対して更新トークンを再生成するには、既存の更新トークンを取り消します。トークンを取り消すと、そのトークンは Google Ads API にアクセスできなくなり、更新トークンの生成に使用されたアクセス トークンも無効になります。
|
感染予防のヒント |
再生成の必要がないように、更新トークンは安全な場所に保管してください。 |
|
|
RESOURCE_NOT_FOUND |
まとめ | リクエストで参照されたリソースが見つからない。 |
一般的な原因 |
リクエストで、存在しないか削除されたリソースを変更または参照しようとしました。または、リソースに指定されたリソース名の形式が正しくありません。 |
対応方法 |
変更リクエストを送信する前に、検索リクエストを使用して既存のリソースのリソース名を取得します。Google のクライアント ライブラリ ガイドをご覧ください。サポートされているすべての言語で有効なリソース名を作成する方法に関するドキュメントが含まれています。 |
感染予防のヒント |
リソース名を手動で作成しないでください。クライアント ライブラリで提供されるヘルパー メソッドのいずれかを使用します。
|
|
|
EMPTY_LIST |
まとめ | 必須のリストが空です。 |
一般的な原因 |
オペレーションの空のリストを mutate メソッドに渡す。 |
対応方法 |
なし |
感染予防のヒント |
なし |
|
|
RESOURCE_EXHAUSTED |
まとめ | システムのリクエスト送信頻度の上限を超えました。 |
一般的な原因 |
なし |
対応方法 |
なし |
感染予防のヒント |
リクエスト間に短い遅延を設定するか、複数のオペレーションを結合してリクエスト数を減らします。
|
|
|
TOO_LOW |
まとめ | 値が許可されている下限を下回りました。 |
一般的な原因 |
ID を指定しなかったため、0 の値が渡されている。 |
対応方法 |
なし |
感染予防のヒント |
API リファレンスに記載されている範囲の制限に注意してください。 |
|
|
INVALID_INPUT |
まとめ | リクエストの形式が正しくありません。 |
一般的な原因 |
リクエストの URL またはコンテンツの形式が正しくありません。 |
対応方法 |
なし |
感染予防のヒント |
なし |
|
REQUIRED_FIELD_MISSING |
まとめ | リクエストに必須情報がありません。 |
一般的な原因 |
エンティティを追加しようとしたときに必須項目が指定されていません。
|
対応方法 |
エラーを記録し、ユーザーにエラー メッセージを提示します。エラーの fieldPath 属性は、欠落しているフィールドを示しています。 |
感染予防のヒント |
必須フィールドについては、API リファレンスをご覧ください。 |
|
|
RESOURCE_LIMIT |
まとめ | リクエストでリソースの作成を試みており、それらのリソースの合計数が指定の上限を超えることがあります。 |
一般的な原因 |
特定のコンテキストで存在できるリソースの数には、複数の上限があります。 |
対応方法 |
システムの制限を確認して、発生している制限を特定します。既存のリソースを再利用するか、リソースを削除して新しいリソース用のスペースを作成します。
|
感染予防のヒント |
検索クエリを使用して、制限があるリソースの数をモニタリングします。 |
|
|
TOO_LONG |
まとめ | 指定したフィールドに割り当てられた文字列が上限を超えています。 |
一般的な原因 |
広告の見出しまたは説明文のテキストが多すぎます。
|
対応方法 |
発生した上限を確認し、それに応じて文字列を変更してリクエストを再送信します。 |
感染予防のヒント |
文字列の長さの上限に注意してください。 |
|