แก้ไขข้อผิดพลาด

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 และปรับเปลี่ยนโค้ดให้สอดคล้องกัน

invalidSharingRequest

ข้อผิดพลาดนี้อาจเกิดขึ้นได้จากหลายสาเหตุ หากต้องการทราบสาเหตุ ให้ประเมินช่อง reason ของ JSON ที่แสดงผล ข้อผิดพลาดนี้มักเกิดขึ้นเนื่องจากสาเหตุต่อไปนี้

  • แชร์สำเร็จ แต่ระบบส่งอีเมลแจ้งเตือนไม่ถูกต้อง
  • ผู้ใช้รายนี้ไม่ได้รับอนุญาตให้เปลี่ยนแปลงรายการควบคุมการเข้าถึง (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"
  }
}

หากต้องการแก้ไขข้อผิดพลาดนี้ ให้รีเฟรชโทเค็นการเข้าถึงโดยใช้โทเค็นรีเฟรชที่มีอายุการใช้งานยาว หากดำเนินการไม่สำเร็จ ให้นำผู้ใช้ไปยังขั้นตอน OAuth ตามที่อธิบายไว้ในเลือกขอบเขต Google Drive API

fileNotDownloadable

ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามใช้เมธอด revisions.get กับพารามิเตอร์ URL alt=media ในเอกสาร Google Workspace ตัวอย่าง 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."
  }
}

โปรดลองวิธีต่อไปนี้เพื่อแก้ไข

  • นำพารามิเตอร์ alt=media ของ URL ออกหากต้องการดูข้อมูลเมตาของเวอร์ชันที่เฉพาะเจาะจง เช่น mimetype
  • ใช้เมธอด files.export เพื่อส่งออกเนื้อหาไบต์ของเอกสาร Google Workspace โปรดดูข้อมูลเพิ่มเติมที่หัวข้อส่งออกเนื้อหาเอกสาร Google Workspace

ข้อผิดพลาด 403

ข้อผิดพลาดเหล่านี้หมายความว่ามีการใช้งานเกินขีดจํากัดหรือผู้ใช้ไม่มีสิทธิ์ที่เหมาะสม หากต้องการระบุสาเหตุ ให้ประเมินช่อง reason ของ JSON ที่แสดง

โปรดดูข้อมูลเกี่ยวกับขีดจํากัดของ Drive API ที่หัวข้อขีดจํากัดการใช้งาน โปรดดูข้อมูลเกี่ยวกับขีดจำกัดของโฟลเดอร์ไดรฟ์ที่หัวข้อขีดจำกัดของไฟล์และโฟลเดอร์

activeItemCreationLimitExceeded

ข้อผิดพลาด activeItemCreationLimitExceeded เกิดขึ้นเมื่อรายการที่สร้างเกินขีดจำกัดสำหรับบัญชี ผู้ใช้แต่ละรายจะมีรายการต่างๆ ที่สร้างโดยบัญชีนั้นๆ ได้สูงสุด 500 ล้านรายการ ดูข้อมูลเพิ่มเติมได้ที่ User-item limit

{
 "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. แจ้งให้ผู้ใช้ทราบว่าไดรฟ์ป้องกันไม่ให้บัญชีสร้างรายการได้มากกว่า 500 ล้านรายการ

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

หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ลองทำตามวิธีใดวิธีหนึ่งต่อไปนี้

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

ข้อผิดพลาดนี้เกิดขึ้นเมื่อนโยบายสำหรับโดเมนของผู้ใช้ไม่อนุญาตให้เข้าถึงไดรฟ์โดยแอปของคุณ ตัวอย่าง 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. แจ้งให้ผู้ใช้ติดต่อผู้ดูแลระบบโดเมนเพื่อขอสิทธิ์เข้าถึงแอป

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. แจ้งให้ผู้ใช้ทราบว่าไดรฟ์ป้องกันไม่ให้วางโฟลเดอร์ที่ลึกเกิน 100 ระดับ
  2. หากผู้ใช้ต้องสร้างโฟลเดอร์ที่ฝังอีก ให้แจ้งให้ผู้ใช้จัดระเบียบโฟลเดอร์หลักที่ต้องการให้มีระดับความลึกน้อยกว่า 100 ชั้น หรือใช้โฟลเดอร์หลักอื่นที่เป็นไปตามข้อกำหนดอยู่แล้ว

numChildrenInNonRootLimitExceeded

ข้อผิดพลาดนี้เกิดขึ้นเมื่อจำนวนโฟลเดอร์ย่อย (โฟลเดอร์ ไฟล์ และทางลัด) ของโฟลเดอร์หนึ่งๆ เกินขีดจำกัด โฟลเดอร์ ไฟล์ และทางลัดในโฟลเดอร์โดยตรงมีจำนวนได้สูงสุด 500,000 รายการ รายการที่ฝังอยู่ในโฟลเดอร์ย่อยจะไม่นับรวมในขีดจำกัด 500,000 รายการนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของโฟลเดอร์ในไดรฟ์ได้ที่ขีดจำกัดของโฟลเดอร์ใน 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."
 }
}

โปรดลองวิธีต่อไปนี้เพื่อแก้ไข

  • แจ้งให้ผู้ใช้ทราบว่าไดรฟ์ไม่อนุญาตให้มีโฟลเดอร์ที่มีรายการมากกว่า 500,000 รายการ
  • หากผู้ใช้ต้องเพิ่มรายการลงในโฟลเดอร์ที่เต็มแล้ว โปรดแจ้งให้ผู้ใช้จัดระเบียบโฟลเดอร์ใหม่ให้มีรายการน้อยกว่า 500,000 รายการ หรือใช้โฟลเดอร์ที่คล้ายกันซึ่งมีรายการน้อยกว่าอยู่แล้ว

rateLimitExceeded

ข้อผิดพลาดนี้เกิดขึ้นเมื่อโปรเจ็กต์มีจำนวนการเรียกใช้ถึงขีดจำกัด ซึ่งขีดจํากัดนี้จะแตกต่างกันไปตามประเภทของคําขอ ตัวอย่าง JSON ต่อไปนี้เป็นการแสดงถึงข้อผิดพลาดนี้

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

หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ลองทำตามวิธีใดวิธีหนึ่งต่อไปนี้

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. ตรวจสอบขีดจำกัดพื้นที่เก็บข้อมูลของบัญชีไดรฟ์ ดูข้อมูลเพิ่มเติมได้ที่ขีดจำกัดพื้นที่เก็บข้อมูลและการอัปโหลดของ Google Workspace

  2. จัดการไฟล์ในพื้นที่เก็บข้อมูล Google ไดรฟ์

  3. ซื้อพื้นที่เก็บข้อมูล Google เพิ่ม

teamDriveFileLimitExceeded

ข้อผิดพลาดนี้เกิดขึ้นเมื่อผู้ใช้พยายามเพิ่มรายการเกินขีดจำกัดที่เข้มงวดในไดรฟ์ที่แชร์ แต่ละโฟลเดอร์ในไดรฟ์ที่แชร์ของผู้ใช้จะมีขีดจำกัดอยู่ที่ 500,000 รายการ ซึ่งรวมถึงไฟล์ โฟลเดอร์ และทางลัด ขีดจำกัดนี้คิดจากจำนวนรายการ ไม่ใช่การใช้พื้นที่เก็บข้อมูล โปรดดูข้อมูลเพิ่มเติมที่หัวข้อขีดจำกัดของไดรฟ์ที่แชร์ใน 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."
  }
}

โปรดลองวิธีต่อไปนี้เพื่อแก้ไข

  • คุณสามารถย้ายแต่ละรายการจากโฟลเดอร์ไปยังไดรฟ์ที่แชร์โดยใช้ Drive API ตั้งค่าพารามิเตอร์ supportsAllDrives=true เพื่อระบุการรองรับทั้งไดรฟ์ของฉันและไดรฟ์ที่แชร์

  • หากต้องการย้ายโฟลเดอร์ไปยังไดรฟ์ที่แชร์ ให้ใช้ UI ของไดรฟ์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อย้ายโฟลเดอร์ไปยังไดรฟ์ที่แชร์ในฐานะผู้ดูแลระบบ

teamDrivesParentLimit

ข้อผิดพลาดนี้เกิดขึ้นเมื่อผู้ใช้พยายามเพิ่มรายการหลักมากกว่า 1 รายการลงในรายการในไดรฟ์ที่แชร์ ตัวอย่าง 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."
  }
}

หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ใช้ทางลัดของไดรฟ์เพื่อเพิ่มลิงก์หลายรายการลงในไฟล์ แม้ว่าทางลัดจะมีได้เพียงรายการหลักรายการเดียว แต่ก็สามารถคัดลอกไฟล์ทางลัดไปยังตำแหน่งอื่นๆ ได้ ดูข้อมูลเพิ่มเติมได้ที่สร้างทางลัดไปยังไฟล์ในไดรฟ์

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

หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ใช้ Exponential Backoff เพื่อลองส่งคำขออีกครั้ง

ข้อผิดพลาด 500, 502, 503, 504

ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อเกิดข้อผิดพลาดที่ไม่คาดคิดของเซิร์ฟเวอร์ขณะประมวลผลคำขอ ข้อผิดพลาดเหล่านี้อาจเกิดจากปัญหาหลายประการ เช่น ช่วงเวลาของคําขอทับซ้อนกับคําขออื่น หรือคําขอการดำเนินการที่ไม่รองรับ เช่น การพยายามอัปเดตสิทธิ์สําหรับหน้าเดียวใน Google Sites แทนทั้งเว็บไซต์

รายการข้อผิดพลาด 5xx มีดังนี้

  • ข้อผิดพลาด 500 ที่แบ็กเอนด์
  • 502 เกตเวย์ไม่ถูกต้อง
  • 503 ไม่พร้อมให้บริการ
  • 504 เกตเวย์หมดเวลา

หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ใช้ Exponential Backoff เพื่อส่งคำขออีกครั้ง