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."
}
}
วิธีแก้ไขข้อผิดพลาดนี้
แจ้งให้ผู้ใช้ทราบว่าไดรฟ์ป้องกันไม่ให้บัญชีสร้างรายการได้มากกว่า 500 ล้านรายการ
หากผู้ใช้ต้องสร้างรายการในบัญชีเดียวกันนี้ โปรดแจ้งให้ผู้ใช้ลบออบเจ็กต์บางรายการอย่างถาวร หรือจะใช้บัญชีอื่นที่เป็นไปตามข้อกำหนดอยู่แล้วก็ได้
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.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."
}
}
วิธีแก้ไขข้อผิดพลาดนี้
- แจ้งให้ผู้ใช้ทราบว่าโดเมนไม่อนุญาตให้แอปของคุณเข้าถึงไฟล์ในไดรฟ์
- แจ้งให้ผู้ใช้ติดต่อผู้ดูแลระบบโดเมนเพื่อขอสิทธิ์เข้าถึงแอป
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."
}
}
วิธีแก้ไขข้อผิดพลาดนี้
เพิ่มสมาชิกไปยังไดรฟ์ที่แชร์ด้วย
role=owner
ดูข้อมูลเพิ่มเติมได้ที่แชร์ไฟล์ โฟลเดอร์ และไดรฟ์เพิ่มไฟล์ลงในไดรฟ์ที่แชร์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสร้างและป้อนข้อมูลโฟลเดอร์
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."
}
}
วิธีแก้ไขข้อผิดพลาดนี้
- แจ้งให้ผู้ใช้ทราบว่าไดรฟ์ป้องกันไม่ให้วางโฟลเดอร์ที่ลึกเกิน 100 ระดับ
- หากผู้ใช้ต้องสร้างโฟลเดอร์ที่ฝังอีก ให้แจ้งให้ผู้ใช้จัดระเบียบโฟลเดอร์หลักที่ต้องการให้มีระดับความลึกน้อยกว่า 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"
}
}
หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ลองทำตามวิธีใดวิธีหนึ่งต่อไปนี้
- เพิ่มโควต้าต่อผู้ใช้ในโปรเจ็กต์ Google Cloud ดูข้อมูลเพิ่มเติมได้ที่ขอเพิ่มโควต้า
- ส่งคำขอแบบกลุ่มเพื่อรวมการเรียก API หลายรายการไว้ในคำขอ HTTP รายการเดียว
- ใช้ Exponential Backoff เพื่อลองส่งคำขออีกครั้ง
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"
}
}
วิธีแก้ไขข้อผิดพลาดนี้
- อย่าส่งอีเมลเมื่อแชร์ไฟล์จำนวนมาก
- หากผู้ใช้รายหนึ่งส่งคำขอจำนวนมากในนามของผู้ใช้บัญชี 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."
}
}
วิธีแก้ไขข้อผิดพลาดนี้
ตรวจสอบขีดจำกัดพื้นที่เก็บข้อมูลของบัญชีไดรฟ์ ดูข้อมูลเพิ่มเติมได้ที่ขีดจำกัดพื้นที่เก็บข้อมูลและการอัปโหลดของ Google Workspace
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."
}
}
วิธีแก้ไขข้อผิดพลาดนี้
- แจ้งให้ผู้ใช้ทราบว่าไดรฟ์ที่แชร์ป้องกันไม่ให้วางโฟลเดอร์ลึกลงไปเกิน 100 ระดับ
- หากผู้ใช้ต้องสร้างโฟลเดอร์ที่ฝังอีก ให้แจ้งให้ผู้ใช้จัดระเบียบโฟลเดอร์หลักที่ต้องการใหม่ให้ลึกไม่เกิน 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."
}
}
หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ลองทำตามวิธีใดวิธีหนึ่งต่อไปนี้
ขอให้ผู้จัดการของไดรฟ์ที่แชร์เพิ่มคุณโดยให้สิทธิ์ที่เหมาะสมสําหรับการดำเนินการที่คุณต้องดำเนินการ
โปรดอ่านบทบาทและสิทธิ์ของไดรฟ์เพื่อดูว่าใครบ้างที่มีสิทธิ์เข้าถึงและจัดการไดรฟ์ที่แชร์ และดูข้อมูลเพิ่มเติมเกี่ยวกับระดับการเข้าถึงได้ที่สร้างไดรฟ์ที่แชร์
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"
}
}
หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ลองทำตามวิธีใดวิธีหนึ่งต่อไปนี้
เพิ่มโควต้าต่อผู้ใช้ในโปรเจ็กต์ Google Cloud หากต้องการข้อมูลเพิ่มเติม ให้ขอเพิ่มโควต้า
หากผู้ใช้รายหนึ่งส่งคำขอจำนวนมากในนามของผู้ใช้บัญชี Google Workspace หลายคน ให้พิจารณาใช้บัญชีบริการที่มีการมอบสิทธิ์ทั่วทั้งโดเมนโดยใช้พารามิเตอร์
quotaUser
ใช้ Exponential Backoff เพื่อลองส่งคำขออีกครั้ง
โปรดดูข้อมูลเกี่ยวกับขีดจำกัดของ Drive API ที่หัวข้อขีดจำกัดการใช้งาน
ข้อผิดพลาด 404
ข้อผิดพลาดเหล่านี้หมายความว่าเข้าถึงทรัพยากรที่ขอไม่ได้หรือไม่มีทรัพยากรดังกล่าว
notFound
ข้อผิดพลาดนี้เกิดขึ้นเมื่อผู้ใช้ไม่มีสิทธิ์อ่านไฟล์ หรือไฟล์ไม่มีอยู่ ตัวอย่าง JSON ต่อไปนี้แสดงข้อผิดพลาดนี้
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "File not found {fileId}"
}
],
"code": 404,
"message": "File not found: {fileId}"
}
}
วิธีแก้ไขข้อผิดพลาดนี้
- หากไฟล์อยู่ในไดรฟ์ที่แชร์และคุณใช้เมธอด
files.get
อยู่ โปรดตรวจสอบว่าได้ตั้งค่าพารามิเตอร์การค้นหาsupportsAllDrives
เป็นtrue
- แจ้งให้ผู้ใช้ทราบว่าไม่มีสิทธิ์อ่านไฟล์หรือไฟล์นั้นไม่มีอยู่
- แจ้งให้ผู้ใช้ติดต่อเจ้าของไฟล์และขอสิทธิ์เข้าถึงไฟล์
ข้อผิดพลาด 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 เพื่อส่งคำขออีกครั้ง