エラーを解決する

Google Drive API は、次の 2 つのレベルのエラー情報を返します。

  • HTTP エラーコードとヘッダー メッセージ。
  • レスポンス本文の JSON オブジェクト。エラーの処理方法を判断するのに役立つ追加情報が含まれています。

Google ドライブ アプリは、REST API の使用時に発生する可能性のあるすべてのエラーをキャッチして処理する必要があります。このガイドでは、特定の Drive API エラーを解決する方法について説明します。

HTTP ステータス コードの概要

エラーコード 説明
200 - OK リクエストが成功しました(これは、成功した HTTP リクエストに対する標準レスポンスです)。
400 - Bad Request リクエスト内のクライアント エラーのため、リクエストを処理できません。
401 - Unauthorized リクエストに無効な認証情報が含まれています。
403 - Forbidden リクエストは受信され、理解されましたが、リクエストを実行する権限がユーザーにありません。
404 - Not Found リクエストされたページが見つかりませんでした。
429 - Too Many Requests API へのリクエストが多すぎます。
500, 502, 503, 504 - Server Errors リクエストの処理中に予期しないエラーが発生しました。

400 エラー

これらのエラーは、リクエストが受け入れられなかったことを意味します。多くの場合、必須パラメータが欠落していることが原因です。

badRequest

このエラーは、コード内の次のいずれかの問題が原因で発生する可能性があります。

  • 必須のフィールドまたはパラメータが指定されていません。
  • 指定された値または指定されたフィールドの組み合わせが無効です。
  • ドライブ ファイルに重複する親を追加しようとしました。
  • ディレクトリ グラフにサイクルを作成する親を追加しようとしました。

次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "code": 400,
    "errors": [
      {
        "domain": "global",
        "location": "orderBy",
        "locationType": "parameter",
        "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order.",
        "reason": "badRequest"
      }
    ],
    "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order."
  }
}

このエラーを修正するには、message フィールドを確認し、それに応じてコードを調整します。

illegalKeepForeverModification

このエラーは、「Keep Forever」とマークされた BLOB ファイルのリビジョンを false に設定しようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "illegalKeepForeverModification",
    "message": "Bad Request. Cannot update a revision to false that is marked as keepForever."
   }
  ],
  "code": 400,
  "message": "Bad Request. Cannot update a revision to false that is marked as keepForever."
 }
}

このエラーを修正するには、BLOB ファイルのリビジョンを完全に削除して、「Keep Forever」設定を削除します。

invalidSharingRequest

このエラーは、いくつかの理由で発生します。原因を特定するには、返された JSON の reason フィールドを評価します。このエラーは、次のような場合に最もよく発生します。

  • 共有は成功しましたが、通知メールが正しく配信されませんでした。
  • このユーザーにはアクセス制御リスト(ACL)の変更が許可されていません。

message フィールドには実際のエラーが示されます。

共有は成功しましたが、通知メールが正しく配信されませんでした

次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"Sorry, the items were successfully shared but emails could not be sent to email@domain.com.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

このエラーを修正するには、宛先のメールアドレスに通知メールを送信できなかったため、共有できなかったことをユーザー(共有者)に伝えます。ユーザーは、メールアドレスが正しいことと、メールを受信できることを確認する必要があります。

このユーザーには ACL の変更が許可されていません

次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"ACL change not allowed.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

このエラーを修正するには、ファイルが属する Google Workspace ドメインの共有 設定を確認します。設定により、ドメイン外での共有が禁止されているか、共有ドライブの共有が許可されていない可能性があります。

401 エラー

これらのエラーは、リクエストに有効なアクセス トークンが含まれていないことを意味します。

authError

このエラーは、使用しているアクセス トークンが期限切れか無効な場合に発生します。このエラーは、リクエストされたスコープの認可がない場合にも発生する可能性があります。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "authError",
        "message": "Invalid Credentials",
        "locationType": "header",
        "location": "Authorization",
      }
    ],
    "code": 401,
    "message": "Invalid Credentials"
  }
}

このエラーを修正するには、有効期間の長い更新トークンを使用してアクセス トークンを更新します。 失敗した場合は、Choose Google Drive API scopesの説明に沿って、OAuth フローをユーザーに案内します。

fileNotDownloadable

このエラーは、Google Workspace ドキュメントで alt=media URL パラメータを使用して revisions.get メソッドを使用しようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileNotDownloadable",
        "message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
      }
    ],
    "code": 403,
    "message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
  }
}

このエラーを修正するには、次のいずれかを試してください。

  • 特定のリビジョンのメタデータ(MIME タイプなど)を表示する場合は、alt=media URL パラメータを削除します。
  • files.export メソッドを使用して、Google Workspace ドキュメントのバイト コンテンツをエクスポートします。詳細については、Google Workspace ドキュメント のコンテンツをエクスポートするをご覧ください。

403 エラー

これらのエラーは、使用量上限を超えたか、ユーザーに適切な権限がないことを意味します。原因を特定するには、返された JSON の reason フィールドを評価します。

Drive API の上限については、使用量上限をご覧ください。ドライブ フォルダ の上限については、ファイルとフォルダの上限をご覧ください。

activeItemCreationLimitExceeded

activeItemCreationLimitExceeded エラーは、アカウントごとに作成できるアイテム数の上限を超えた場合に発生します。各ユーザーは、アカウントで作成したアイテムを最大 5 億個保持できます。詳細については、ユーザー アイテム の上限をご覧ください。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "activeItemCreationLimitExceeded",
    "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
   }
  ],
  "code": 403,
  "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
 }
}

このエラーを修正するには:

  1. ドライブでは、アカウントで作成できるアイテム数は 5 億個までであることをユーザーに伝えます。

  2. ユーザーが同じアカウントでアイテムを作成する必要がある場合は、オブジェクトを完全に削除するよう指示します。それ以外の場合は、要件を満たしている別のアカウントを使用できます。

appNotAuthorizedToFile

このエラーは、アプリがファイルの ACL にない場合に発生します。このエラーにより、ユーザーはアプリでファイルを開くことができません。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "appNotAuthorizedToFile",
        "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
  }
}

このエラーを修正するには、次のいずれかを試してください。

  • Google ドライブ ピッカーを開き ファイルを開くようユーザーに促します。
  • アプリのドライブ UI の [**名前を付けて開く**] コンテキスト メニューを使用してファイルを開くようユーザーに指示します。
  • files.get メソッドを使用して、 isAppAuthorized フィールドを files リソース で確認し、アプリがファイルを作成または開いたことを確認します。

cannotModifyInheritedTeamDrivePermission

このエラーは、ユーザーが共有ドライブ内のアイテムの継承された権限を変更しようとしたときに発生します。共有ドライブ内のアイテムから継承された権限を削除することはできません。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "cannotModifyInheritedTeamDrivePermission",
        "message": "Cannot update or delete an inherited permission on a shared drive item."
      }
    ],
    "code": 403,
    "message": "Cannot update or delete an inherited permission on a shared drive item."
  }
}

このエラーを修正するには、ユーザーが継承元の直接または間接的な親アイテムの権限を調整する必要があります。詳細については、権限の仕組み をご覧くださいpermissions リソースを取得して、この共有ドライブ アイテムの権限が継承されているか、直接適用されているかを確認することもできます。

dailyLimitExceeded

このエラーは、プロジェクトの API 上限に達した場合に発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "dailyLimitExceeded",
        "message": "Daily Limit Exceeded"
      }
    ],
    "code": 403,
    "message": "Daily Limit Exceeded"
  }
}

このエラーは、アプリケーションのオーナーが特定のリソースの使用量を制限するために割り当て上限を設定した場合に表示されます。このエラーを修正するには、「1 日あたりのクエリ数」 の割り当て の使用量上限を削除します

domainPolicy

このエラーは、ユーザーのドメインのポリシーでアプリによるドライブへのアクセスが許可されていない場合に発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "domainPolicy",
        "message": "The domain administrators have disabled Drive apps."
      }
    ],
    "code": 403,
    "message": "The domain administrators have disabled Drive apps."
  }
}

このエラーを解決するには:

  1. ドメインでアプリがドライブ内のファイルにアクセスできないことをユーザーに伝えます。
  2. ドメイン管理者に連絡して、アプリのアクセス権をリクエストするようユーザーに指示します。

downloadRestrictedForRevision

このエラーは、ユーザーが BLOB ファイルのリビジョンをダウンロードできない場合に発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "download_restricted_for_revision",
        "message": "This revision cannot be downloaded by the authenticated user."
      }
    ],
    "code": 403,
    "message": "This revision cannot be downloaded by the authenticated user."
  }
}

このエラーを修正するには、BLOB ファイルのリビジョンをダウンロードできるのは「Keep Forever」とマークされている場合のみであることをユーザーに伝えます。詳細については、 自動削除から保存するリビジョンを指定する をご覧ください

emailMessage

このエラーは、emailMessage パラメータを指定しても、メール通知が無効になっている(sendNotificationEmail=false)か、権限タイプが user または group でない場合に発生します。

次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "message": "The emailMessage parameter is only applicable when sendNotificationEmail=true and the permission type is 'user' or 'group'.",
        "reason": "emailMessage"
      }
    ],
    "code": 403,
    "message": "The emailMessage parameter is only applicable when sendNotificationEmail=true and the permission type is 'user' or 'group'."
  }
}

このエラーを修正するには、カスタムの emailMessage を指定する前に、sendNotificationEmailtrue に設定され、権限タイプが user または group であることを確認します。

fileNotExportable

このエラーは、ユーザーが Google Vids ファイルをエクスポートしようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileNotExportable",
        "message": "Google Vids does not support files.export. Use files.download with Vids files."
      }
    ],
    "code": 403,
    "message": "Google Vids does not support files.export. Use files.download with Vids files."
  }
}

このエラーを修正するには、files.export メソッドはサポートされていないため、Google Vids ファイルは files.download メソッドでダウンロードする必要があることをユーザーに伝えます。 詳細については、ファイルをダウンロードしてエクスポートするをご覧ください。

fileOwnerNotMemberOfTeamDrive

このエラーは、ファイルを共有ドライブに移動しようとしたときに、ファイルのオーナーがメンバーでない場合に発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileOwnerNotMemberOfTeamDrive",
        "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
      }
    ],
    "code": 403,
    "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
  }
}

このエラーを解決するには:

  1. role=owner を指定して、メンバーを共有ドライブに追加します。詳細については、 ファイル、フォルダ、ドライブを共有するをご覧ください。

  2. ファイルを共有ドライブに追加します。詳しくは、フォルダを作成し データを入力するをご覧ください。

fileWriterTeamDriveMoveInDisabled

このエラーは、ドメイン管理者が role=writer のユーザーがアイテムを共有ドライブに移動することを許可していない場合に発生します。アイテムを移動しようとしているユーザーの権限は、移動先の共有ドライブで許可されている権限よりも少なくなっています。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileWriterTeamDriveMoveInDisabled",
        "message": "The domain administrator has not allowed writers to move items into a shared drive."
      }
    ],
    "code": 403,
    "message": "The domain administrator has not allowed writers to move items into a shared drive."
  }
}

このエラーを修正するには、移動元と移動先の共有ドライブで同じ管理者ユーザー アカウントを使用します。

insufficientFilePermissions

このエラーは、ユーザーにファイルへの書き込みアクセス権がなく、アプリがファイルを変更しようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "insufficientFilePermissions",
        "message": "The user does not have sufficient permissions for file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user does not have sufficient permissions for file {fileId}."
  }
}

このエラーを修正するには、ファイルのオーナーに連絡して編集アクセス権をリクエストするようユーザーに指示します。files.get メソッドで取得したメタデータでユーザーのアクセスレベルを確認し、権限がない場合は読み取り専用の UI を表示することもできます。

myDriveHierarchyDepthLimitExceeded

myDriveHierarchyDepthLimitExceeded エラーは、ネストされたフォルダ階層数の上限を超えた場合に発生します。ユーザーのマイドライブに含められるネストされたフォルダ階層は最大 100 レベルです。詳細については、フォルダの深さの上限をご覧ください。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "myDriveHierarchyDepthLimitExceeded",
    "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/workspace/drive/api/guides/handle-errors#nested-folder-levels."
   }
  ],
  "code": 403,
  "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/workspace/drive/api/guides/handle-errors#nested-folder-levels."
 }
}

このエラーを解決するには:

  1. ドライブでは、フォルダを 100 レベルより深く配置できないことをユーザーに伝えます。
  2. ユーザーが別のネストされたフォルダを作成する必要がある場合は、目的の親フォルダを 100 レベル未満に再編成するか、要件を満たしている別の親フォルダを使用するよう指示します。

numChildrenInNonRootLimitExceeded

このエラーは、フォルダの子(フォルダ、ファイル、ショートカット)の数の上限を超えた場合に発生します。フォルダ、ファイル、ショートカットをフォルダに直接保存できるのは 50 万個までです。サブフォルダにネストされたアイテムは、この 50 万個の上限にはカウントされません。 ドライブ フォルダの上限について詳しくは、Google ドライブのフォルダの上限をご覧ください。

次の JSON サンプルは、このエラーを表しています。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "numChildrenInNonRootLimitExceeded",
    "message": "The limit for this folder's number of children (files and folders) has been exceeded."
   }
  ],
  "code": 403,
  "message": "The limit for this folder's number of children (files and folders) has been exceeded."
 }
}

このエラーを修正するには、次のいずれかを試してください。

  • ドライブでは、50 万個を超えるアイテムを含むフォルダは作成できないことをユーザーに伝えます。
  • ユーザーが上限に達したフォルダにアイテムを追加する必要がある場合は、フォルダを再編成して 50 万個未満のアイテムを含めるか、すでにアイテム数が少ない同様のフォルダを使用するよう指示します。

rateLimitExceeded

このエラーは、プロジェクトのレート上限に達した場合に発生します。この上限は、リクエストの種類によって異なります。次の JSON サンプルは、このエラーを表しています。

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "message": "Rate Limit Exceeded",
    "reason": "rateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

このエラーを修正するには、次のいずれかを試してください。

sendNotificationEmails

このエラーは、権限タイプが user または group でない権限に対して sendNotificationEmail パラメータを設定しようとした場合、またはオーナー権限の移行中に通知を無効にしようとした場合に発生します。

次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "message": "The sendNotificationEmail parameter is only applicable for permissions of type 'user' or 'group', and must not be disabled for ownership transfers.",
        "reason": "sendNotificationEmail"
      }
    ],
    "code": 403,
    "message": "The sendNotificationEmail parameter is only applicable for permissions of type 'user' or 'group', and must not be disabled for ownership transfers."
  }
}

このエラーを修正するには、次のいずれかを試してください。

  • 権限タイプが user または group の場合にのみ、sendNotificationEmail パラメータを含めます。権限タイプが domain または anyone の場合、メール通知は送信されません。
  • ファイルのオーナー権限を移行する場合(権限のロールを owner に変更するなど)、sendNotificationEmailtrue に設定されている(または省略されている場合はデフォルトの true)ことを確認します。オーナー権限を移行するときに false に設定しないでください。

sharingRateLimitExceeded

このエラーは、ユーザーが共有の上限に達した場合に発生します。多くの場合、メールの上限に関連しています。次の JSON サンプルは、このエラーを表しています。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: filename",
    "reason": "sharingRateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

このエラーを解決するには:

  1. 大量のファイルを共有する場合は、メールを送信しないでください。
  2. 1 人のユーザーが Google Workspace アカウントの多くのユーザーに代わって多数のリクエストを行っている場合は、ドメイン全体の 委任を行うサービス アカウントを、 quotaUser パラメータを使用して検討してください。

storageQuotaExceeded

このエラーは、ユーザーがストレージの上限に達した場合に発生します。次の JSON サンプルは、このエラーを表しています。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "The user's Drive storage quota has been exceeded.",
    "reason": "storageQuotaExceeded",
   }
  ],
  "code": 403,
  "message": "The user's Drive storage quota has been exceeded."
 }
}

このエラーを解決するには:

  1. ドライブ アカウントのストレージ上限を確認します。詳細については、Google Workspace のストレージとアップロードの上限をご覧ください。

  2. ドライブ、Gmail、 Google フォトの保存容量を管理します。

  3. Google のストレージを追加購入します

teamDriveFileLimitExceeded

このエラーは、ユーザーが共有ドライブの厳格なアイテム上限を超えようとしたときに発生します。ユーザーの共有ドライブ内の各フォルダに保存できるアイテム数は 50 万個までです。これにはファイル、フォルダ、ショートカットが含まれます。この上限は、ストレージの使用量ではなく、アイテムの数に基づきます。詳細については、Google ドライブでの共有ドライブの制限 をご覧ください

次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveFileLimitExceeded",
        "message": "The file limit for this shared drive has been exceeded."
      }
    ],
    "code": 403,
    "message": "The file limit for this shared drive has been exceeded."
  }
}

このエラーを修正するには、共有ドライブ内のアイテム数を減らします。共有ドライブに多数のファイルがあると整理や検索がしにくくなる恐れがあります。

teamDriveHierarchyTooDeep

teamDriveHierarchyTooDeep エラーは、共有ドライブのネストされたフォルダ階層数の上限を超えた場合に発生します。ユーザーの共有ドライブに含められるネストされたフォルダ階層は最大 100 レベルです。詳細については、 フォルダの深さの上限をご覧ください。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "teamDriveHierarchyTooDeep",
    "message": "The shared drive hierarchy depth will exceed the limit."
   }
  ],
  "code": 403,
  "message": "The shared drive hierarchy depth will exceed the limit."
 }
}

このエラーを解決するには:

  1. 共有ドライブでは、フォルダを 100 レベルより深く配置できないことをユーザーに伝えます。
  2. ユーザーが別のネストされたフォルダを作成する必要がある場合は、目的の親フォルダを 100 レベル未満に再編成するか、要件を満たしている別の親フォルダを使用するよう指示します。

teamDriveMembershipRequired

このエラーは、ユーザーがメンバーではない共有ドライブにアクセスしようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveMembershipRequired",
        "message": "The attempted action requires shared drive membership."
      }
    ],
    "code": 403,
    "message": "The attempted action requires shared drive membership."
  }
}

このエラーを修正するには、次のいずれかを試してください。

  1. 共有ドライブのマネージャーに、実行する必要がある操作に適した権限で追加するよう依頼します。

  2. ドライブのロールと 権限を確認して、共有ドライブにアクセスして管理できるユーザーを確認します。アクセスレベルの詳細については、 共有ドライブを作成するをご覧ください。

teamDrivesFolderMoveInNotSupported

このエラーは、ユーザーがマイドライブから共有ドライブにフォルダを移動しようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesFolderMoveInNotSupported",
        "message": "Moving folders into shared drives is not supported."
      }
    ],
    "code": 403,
    "message": "Moving folders into shared drives is not supported."
  }
}

このエラーを修正するには、次のいずれかを試してください。

  • ドライブ API を使用して、フォルダ内の個々のアイテムを共有ドライブに移動します。supportsAllDrives=true パラメータを設定して、マイドライブと共有ドライブの両方をサポートしていることを示します。

  • フォルダを共有ドライブに移動する必要がある場合は、ドライブ UI を使用します。詳細については、管理者としてフォルダを共有ドライブに移動する をご覧ください

teamDrivesParentLimit

このエラーは、ユーザーが共有ドライブ内のアイテムに複数の親を追加しようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesParentLimit",
        "message": "A shared drive item must have exactly one parent."
      }
    ],
    "code": 403,
    "message": "A shared drive item must have exactly one parent."
  }
}

このエラーを修正するには、ドライブのショートカットを使用して、ファイルに複数のリンクを追加します。ショートカットに設定できる親は 1 つだけですが、ショートカット ファイルを追加の場所にコピーできます。詳細については、ショートカットを作成する ドライブ ファイルへのをご覧ください。

UrlLeaseLimitExceeded

このエラーは、アプリケーションを介して Google Play ゲームデータを保存しようとしたときに発生します。次の JSON サンプルは、このエラーを表しています。

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "UrlLeaseLimitExceeded",
    "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
   }
  ],
  "code": 403,
  "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
 }
}

このエラーを修正するには、スナップショットのアップロードを完了またはキャンセルしてから、別のスナップショットを作成します。

userRateLimitExceeded

このエラーは、ユーザーごとの上限に達した場合に発生します。これは、Google Cloud コンソールの上限またはドライブ バックエンドの上限である可能性があります。次の JSON サンプルは、このエラーを表しています。

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "userRateLimitExceeded",
    "message": "User Rate Limit Exceeded"
   }
  ],
  "code": 403,
  "message": "User Rate Limit Exceeded"
 }
}

このエラーを修正するには、次のいずれかを試してください。

Drive API の上限については、使用量上限をご覧ください。

404 エラー

これらのエラーは、リクエストされたリソースにアクセスできないか、存在しないことを意味します。

notFound

このエラーは、ユーザーにファイルへの読み取りアクセス権がない場合、またはファイルが存在しない場合に発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "notFound",
        "message": "File not found {fileId}"
      }
    ],
    "code": 404,
    "message": "File not found: {fileId}"
  }
}

このエラーを解決するには:

  1. ファイルが共有ドライブにあり、 files.get メソッドを使用している場合は、 supportsAllDrives クエリ パラメータが true に設定されていることを確認します。
  2. ユーザーにファイルへの読み取りアクセス権がないか、ファイルが存在しないことを伝えます。
  3. ファイルのオーナーに連絡して、ファイルへの権限をリクエストするようユーザーに指示します。

429 エラー

これらのエラーは、API に送信されたリクエストが多すぎることが原因で発生します。

rateLimitExceeded

このエラーは、ユーザーが一定時間内に送信したリクエストが多すぎる場合に発生します。次の JSON サンプルは、このエラーを表しています。

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "rateLimitExceeded",
        "message": "Rate Limit Exceeded"
      }
    ],
    "code": 429,
    "message": "Rate Limit Exceeded"s
  }
}

このエラーを修正するには、指数バックオフ を使用してリクエストを再試行します。

500、502、503、504 エラー

これらのエラーは、リクエストの処理中に予期しないサーバーエラーが発生した場合に発生します。これらのエラーは、リクエストのタイミングが別のリクエストと重複している場合や、サイト全体ではなく Google サイトの単一ページの権限を更新しようとするなど、サポートされていないアクションのリクエストなど、さまざまな問題が原因で発生する可能性があります。

5xx エラーの一覧は次のとおりです。

  • 500 バックエンド エラー
  • 502 Bad Gateway(不正なゲートウェイ)
  • 503 Service Unavailable(サービス利用不可)
  • 504 Gateway Timeout(ゲートウェイ タイムアウト)

このエラーを修正するには、指数バックオフ を使用してリクエストを再試行します。