오류 해결

Google Drive API는 두 가지 수준의 오류 정보를 반환합니다.

  • HTTP 오류 코드 및 헤더 메시지
  • 응답 본문의 JSON 객체로, 오류를 처리하는 방법을 결정하는 데 도움이 되는 추가 세부정보가 포함되어 있습니다.

Google Drive 앱은 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

이 오류는 코드의 다음 문제 중 하나로 인해 발생할 수 있습니다.

  • 필수 입력란 또는 매개변수가 제공되지 않았습니다.
  • 제공된 값 또는 제공된 필드 조합이 잘못되었습니다.
  • Drive 파일에 중복된 상위 요소를 추가하려고 했습니다.
  • 디렉터리 그래프에 순환을 만드는 상위 요소를 추가하려고 했습니다.

다음 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 필드를 확인하고 그에 따라 코드를 조정합니다.

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"
  }
}

이 오류를 수정하려면 장기 갱신 토큰을 사용하여 액세스 토큰을 새로고침합니다. 실패하면 Google Drive API 범위 선택에 설명된 대로 사용자에게 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."
  }
}

이 오류를 해결하려면 다음 중 하나를 시도해 보세요.

  • mimetype와 같은 특정 버전의 메타데이터를 보려면 alt=media URL 매개변수를 삭제합니다.
  • files.export 메서드를 사용하여 Google Workspace 문서 바이트 콘텐츠를 내보냅니다. 자세한 내용은 Google Workspace 문서 콘텐츠 내보내기를 참고하세요.

403 오류

이러한 오류는 사용 한도가 초과되었거나 사용자에게 올바른 권한이 없음을 의미합니다. 원인을 확인하려면 반환된 JSON의 reason 필드를 평가합니다.

Drive API 한도에 대한 자세한 내용은 사용량 한도를 참고하세요. Drive 폴더 한도에 대한 자세한 내용은 파일 및 폴더 한도를 참고하세요.

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. 사용자에게 Drive에서 계정이 항목을 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 Drive 선택 도구를 열고 사용자에게 파일을 열라고 메시지를 표시합니다.
  • 사용자에게 앱의 Drive UI에서 연결 프로그램 컨텍스트 메뉴를 사용하여 파일을 열라고 안내합니다.
  • files.get 메서드를 사용하여 files 리소스의 isAppAuthorized 필드를 확인하여 앱이 파일을 만들었거나 열었는지 확인합니다.

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.permissionDetails 리소스를 검색하여 이 공유 드라이브 항목의 권한이 상속되었는지 아니면 직접 적용되었는지 확인할 수도 있습니다.

dailyLimitExceeded

이 오류는 프로젝트의 API 한도에 도달하면 발생합니다. 다음 JSON 샘플은 이 오류를 나타냅니다.

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

이 오류는 애플리케이션 소유자가 특정 리소스의 사용량을 제한하기 위해 할당량 한도를 설정한 경우 표시됩니다. 이 오류를 해결하려면 '일일 쿼리' 할당량의 사용량 한도를 삭제하세요.

domainPolicy

이 오류는 사용자 도메인의 정책에서 앱의 Drive 액세스를 허용하지 않는 경우에 발생합니다. 다음 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. 사용자에게 도메인에서 앱이 Drive의 파일에 액세스할 수 없다고 안내합니다.
  2. 사용자에게 도메인 관리자에게 문의하여 앱에 대한 액세스 권한을 요청하라고 안내합니다.

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/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/drive/api/guides/handle-errors#nested-folder-levels."
 }
}

이 오류를 수정하는 방법은 다음과 같습니다.

  1. 사용자에게 Drive에서는 폴더를 100개 이상의 깊이로 배치할 수 없다고 안내합니다.
  2. 사용자가 중첩된 폴더를 하나 더 만들어야 하는 경우 의도한 상위 폴더를 재구성하여 깊이가 100개 미만이 되도록 하거나 이미 요구사항을 충족하는 다른 상위 폴더를 사용하도록 안내합니다.

numChildrenInNonRootLimitExceeded

이 오류는 폴더의 하위 요소 (폴더, 파일, 바로가기) 수 한도가 초과되면 발생합니다. 폴더에 직접 배치할 수 있는 폴더,파일, 바로가기의 한도는 500, 000개입니다. 하위 폴더에 중첩된 항목은 500,000개 항목 한도에 포함되지 않습니다. Drive 폴더 한도에 관한 자세한 내용은 Google Drive의 폴더 한도를 참고하세요.

다음 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."
 }
}

이 오류를 해결하려면 다음 중 하나를 시도해 보세요.

  • 사용자에게 Drive에서 항목 수가 50만 개를 초과하는 폴더를 허용하지 않는다고 안내합니다.
  • 사용자가 전체 폴더에 항목을 더 추가해야 하는 경우 폴더를 재구성하여 항목 수가 50만 개 미만이 되도록 하거나 이미 항목 수가 적은 유사한 폴더를 사용하도록 안내합니다.

rateLimitExceeded

이 오류는 프로젝트의 비율 한도에 도달할 때 발생합니다. 이 한도는 요청 유형에 따라 다릅니다. 다음 JSON 샘플은 이 오류를 나타냅니다.

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

이 오류를 해결하려면 다음 중 하나를 시도해 보세요.

  • Google Cloud 프로젝트에서 사용자당 할당량을 늘립니다. 자세한 내용은 할당량 상향 요청을 참고하세요.
  • 요청 일괄 처리: 여러 API 호출을 하나의 HTTP 요청으로 번들로 묶습니다.
  • 지수 백오프를 사용하여 요청을 다시 시도합니다.

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. 한 사용자가 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. Drive 계정 스토리지 한도를 검토합니다. 자세한 내용은 Google Workspace 저장용량 및 업로드 한도를 참고하세요.

  2. Google Drive 스토리지에서 파일 관리하기

  3. Google 스토리지 추가 구매하기

teamDriveFileLimitExceeded

이 오류는 사용자가 공유 드라이브의 엄격한 항목 한도를 초과하려고 시도할 때 발생합니다. 사용자의 공유 드라이브에서 각 폴더의 한도는 파일, 폴더, 바로가기를 포함하여 500,000개 항목입니다. 이 한도는 저장용량 사용량이 아닌 항목 수를 기준으로 합니다. 자세한 내용은 Google Drive의 공유 드라이브 한도를 참고하세요.

다음 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. Drive의 역할 및 권한을 검토하여 공유 드라이브에 액세스하고 관리할 수 있는 사용자를 알아보세요. 액세스 수준에 관한 자세한 내용은 공유 드라이브 만들기를 참고하세요.

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."
  }
}

이 오류를 해결하려면 다음 중 하나를 시도해 보세요.

  • Drive API를 사용하여 폴더의 개별 항목을 공유 드라이브로 이동합니다. supportsAllDrives=true 매개변수를 설정하여 내 Drive와 공유 드라이브를 모두 지원한다고 나타냅니다.

  • 폴더를 공유 드라이브로 이동해야 하는 경우 Drive 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."
  }
}

이 오류를 해결하려면 Drive 바로가기를 사용하여 파일에 여러 링크를 추가하세요. 바로가기에는 하나의 상위 요소만 있을 수 있지만 바로가기 파일은 추가 위치에 복사할 수 있습니다. 자세한 내용은 Drive 파일의 바로가기 만들기를 참고하세요.

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 콘솔의 제한일 수도 있고 Drive 백엔드의 제한일 수도 있습니다. 다음 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 Sites의 단일 페이지에 대한 권한을 업데이트하려고 시도하는 경우) 등 다양한 문제로 인해 이러한 오류가 발생할 수 있습니다.

다음은 5xx 오류 목록입니다.

  • 500 백엔드 오류
  • 502 잘못된 게이트웨이
  • 503 서비스를 사용할 수 없음
  • 504 게이트웨이 시간 초과

이 오류를 해결하려면 지수 백오프를 사용하여 요청을 재시도하세요.