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