このページでは、一般的なエラーと、その防止と処理に関するヒントを紹介します。エラーの一覧については、エラー リファレンスをご覧ください。さらにサポートが必要な場合は、フォーラムをご覧ください。
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 つのフィールドが最大文字数を超えています。詳しくは、テキスト広告についてをご覧ください。 |
一般的な原因 |
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 ヘッダーで必ず ID を指定してください。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 を指定します。クライアント ライブラリには、このサポートが組み込まれています。 |
|
|
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 クライアント認証情報でユーザー認証を行い、ユーザー認証情報の生成の例を複数回実行すると、この問題が発生することがあります。 |
対応方法 |
承認ユーザーの認証情報と 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 |
まとめ | 指定されたフィールドに割り当てられた文字列が上限を超えています。 |
一般的な原因 |
広告の見出しまたは説明文に含まれるテキストが多すぎます。
|
対応方法 |
発生している上限を特定し、それに応じて文字列を変更してリクエストを再送信します。 |
感染予防のヒント |
文字列の長さの制限に注意してください。 |
|