Google Drive API, गड़बड़ी की जानकारी के दो लेवल दिखाता है:
- हेडर में एचटीटीपी की गड़बड़ी वाले कोड और मैसेज.
- जवाब के मुख्य भाग में ज़्यादा जानकारी वाला JSON ऑब्जेक्ट, जो गड़बड़ी को ठीक करने का तरीका तय करने में आपकी मदद कर सकता है.
Drive ऐप्लिकेशन को REST API का इस्तेमाल करते समय होने वाली सभी गड़बड़ियों का पता लगाकर उन्हें ठीक करना चाहिए. इस गाइड में, एपीआई से जुड़ी खास गड़बड़ियों को ठीक करने के निर्देश दिए गए हैं.
400 गड़बड़ी ठीक करना: गलत अनुरोध
यह गड़बड़ी, आपके कोड में इनमें से किसी एक समस्या की वजह से हो सकती है:
- ज़रूरी फ़ील्ड या पैरामीटर नहीं दिया गया है.
- दी गई वैल्यू या दिए गए फ़ील्ड का कॉम्बिनेशन अमान्य है.
- आपने 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
फ़ील्ड की जांच करें और उसी के मुताबिक अपने कोड में बदलाव करें.
400 गड़बड़ी ठीक करना: शेयर करने का अनुरोध अमान्य है
यह गड़बड़ी कई वजहों से हो सकती है. तय सीमा से ज़्यादा सीमा तय करने के लिए, लौटाए गए JSON के reason
फ़ील्ड का आकलन करें. आम तौर पर, यह गड़बड़ी
इस वजह से होती है:
- शेयर किया गया, लेकिन सूचना ईमेल सही तरीके से डिलीवर नहीं हुआ.
- इस उपयोगकर्ता को ऐक्सेस कंट्रोल लिस्ट (एसीएल) में बदलाव की अनुमति नहीं है.
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"
}
}
इस गड़बड़ी को ठीक करने के लिए, उपयोगकर्ता (शेयर करने वाले) को बताएं कि उसे शेयर करने में समस्या आ रही है, क्योंकि सूचना ईमेल उस ईमेल पते पर नहीं भेजा जा सका है जिसके साथ उसे शेयर करना था. उपयोगकर्ता को यह पक्का करना चाहिए कि उसके पास सही ईमेल पता हो और उस पर ईमेल मिल सके.
इस उपयोगकर्ता को एसीएल में बदलाव करने की अनुमति नहीं है
नीचे इस गड़बड़ी को JSON फ़ॉर्मैट में दिखाया गया है:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidSharingRequest",
"message": "Bad Request. User message: \"ACL change not allowed.\""
}
],
"code": 400,
"message": "Bad Request"
}
}
इस गड़बड़ी को ठीक करने के लिए, उस डोमेन की Google Workspace शेयर करने की सेटिंग की जांच करें जिससे फ़ाइल जुड़ी है. हो सकता है कि इन सेटिंग की वजह से, डोमेन के बाहर शेयर करने या शेयर की गई ड्राइव को शेयर करने पर पाबंदी लगी हो.
401 गड़बड़ी ठीक करना: अमान्य क्रेडेंशियल
401 की गड़बड़ी यह बताती है कि जिस ऐक्सेस टोकन का इस्तेमाल किया जा रहा है उसकी समयसीमा खत्म हो चुकी है या वह अमान्य है. यह गड़बड़ी, अनुरोध किए गए दायरों के लिए अनुमति न मिलने की वजह से भी हो सकती है. नीचे इस गड़बड़ी को JSON फ़ॉर्मैट में दिखाया गया है:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization",
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
इस गड़बड़ी को ठीक करने के लिए, लंबे समय तक चलने वाले रीफ़्रेश टोकन का इस्तेमाल करके ऐक्सेस टोकन रीफ़्रेश करें. अगर ऐसा नहीं होता है, तो OAuth फ़्लो की मदद से उपयोगकर्ता को बताएं. इसके लिए, एपीआई से जुड़ी अनुमति और पुष्टि करने की जानकारी में बताया गया है.
403 गड़बड़ी को ठीक करना
इस्तेमाल करने की सीमा पार हो जाने या उपयोगकर्ता के पास सही खास अधिकार नहीं होने पर गड़बड़ी 403 होती है. खास तरह की गड़बड़ी तय करने के लिए, दिखाए गए
JSON के reason
फ़ील्ड की जांच करें. यह गड़बड़ी, इन स्थितियों में होती है:
- रोज़ की सीमा पार हो गई.
- इससे ज़्यादा उपयोगकर्ता नहीं जोड़े जा सकते.
- प्रोजेक्ट दर की सीमा पार हो गई है.
- शेयर करने की दर की सीमा पार हो गई है.
- उपयोगकर्ता ने किसी ऐप्लिकेशन को आपके ऐप्लिकेशन के अधिकार नहीं दिए हैं.
- उपयोगकर्ता के पास फ़ाइल के लिए काफ़ी अनुमतियां नहीं हैं.
- साइन इन किए हुए उपयोगकर्ता के डोमेन में आपका ऐप्लिकेशन इस्तेमाल नहीं किया जा सकता.
- किसी फ़ोल्डर में आइटम की संख्या पार हो गई.
Drive API की सीमाओं के बारे में जानकारी के लिए, इस्तेमाल करने की सीमाएं देखें. Drive में मौजूद फ़ोल्डर की सीमाओं के बारे में जानकारी के लिए, Google Drive में सीमाओं की जानकारी देखें.
403 गड़बड़ी ठीक करना: रोज़ की सीमा पार हो गई है
dailyLimitExceeded
गड़बड़ी से पता चलता है कि आपके प्रोजेक्ट के लिए कर्टसी एपीआई की सीमा पूरी हो गई है. नीचे इस गड़बड़ी को JSON फ़ॉर्मैट में दिखाया गया है:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceeded",
"message": "Daily Limit Exceeded"
}
],
"code": 403,
"message": "Daily Limit Exceeded"
}
}
यह गड़बड़ी तब दिखाई देती है, जब ऐप्लिकेशन के मालिक ने किसी खास संसाधन का इस्तेमाल करने के लिए कोटा सीमा सेट की होती है. इस गड़बड़ी को ठीक करने के लिए, हर दिन की क्वेरी" के लिए इस्तेमाल की सीमा हटा दें.
403 गड़बड़ी को ठीक करना: उपयोगकर्ता दर की सीमा पार हो गई है
userRateLimitExceeded
गड़बड़ी से पता चलता है कि हर उपयोगकर्ता अब और कार्ड नहीं बना सकता.
यह Google API कंसोल की सीमा या Drive बैकएंड की सीमा हो सकती है. नीचे इस गड़बड़ी को JSON फ़ॉर्मैट में दिखाया गया है:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "userRateLimitExceeded",
"message": "User Rate Limit Exceeded"
}
],
"code": 403,
"message": "User Rate Limit Exceeded"
}
}
इस गड़बड़ी को ठीक करने के लिए, इनमें से कोई एक तरीका आज़माएं:
- Google Cloud प्रोजेक्ट में हर उपयोगकर्ता के लिए कोटा बढ़ाएं. ज़्यादा जानकारी के लिए, कोटा बढ़ाने का अनुरोध करें.
- अगर कोई उपयोगकर्ता, किसी Google Workspace खाते के कई उपयोगकर्ताओं की ओर से कई अनुरोध कर रहा है, तो
quotaUser
पैरामीटर की मदद से, पूरे डोमेन के लिए सेवा देने वाले खाते का इस्तेमाल करें. - अनुरोध के लिए फिर से कोशिश करने के लिए, एक्सपोनेंशियल बैकऑफ़ का इस्तेमाल करें.
Drive API की सीमाओं के बारे में जानकारी के लिए, इस्तेमाल करने की सीमाएं देखें.
403 गड़बड़ी का समाधान करना: प्रोजेक्ट दर की सीमा पार हो गई है
rateLimitExceeded
की गड़बड़ी से पता चलता है कि प्रोजेक्ट के लिए तय की गई सीमा खत्म हो गई है.
यह संख्या, अनुरोध के टाइप के हिसाब से अलग-अलग हो सकती है. इस गड़बड़ी को JSON के तौर पर
दिखाने के बारे में यहां बताया गया है:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"message": "Rate Limit Exceeded",
"reason": "rateLimitExceeded",
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}
}
इस गड़बड़ी को ठीक करने के लिए, इनमें से कोई एक तरीका आज़माएं:
- Google Cloud प्रोजेक्ट में हर उपयोगकर्ता के लिए कोटा बढ़ाएं. ज़्यादा जानकारी के लिए, कोटा बढ़ाने का अनुरोध करें.
- एपीआई कॉल कम करने के लिए, बैच में अनुरोध करें.
- अनुरोध के लिए फिर से कोशिश करने के लिए, एक्सपोनेंशियल बैकऑफ़ का इस्तेमाल करें.
403 गड़बड़ी का समाधान करना: शेयर करने की दर सीमा पार हो गई है
जब कोई उपयोगकर्ता, शेयर करने की तय सीमा तक पहुंच जाए, तो 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
पैरामीटर की मदद से, पूरे डोमेन के लिए सेवा देने वाले खाते का इस्तेमाल करें.
403 गड़बड़ी ठीक करना: स्टोरेज कोटा पार हो गया
जब उपयोगकर्ता अपने स्टोरेज की सीमा तक पहुंच जाता है, तो
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."
}
}
इस गड़बड़ी को ठीक करने के लिए:
अपने Drive खाते के लिए, स्टोरेज की सीमाएं देखें. ज़्यादा जानकारी के लिए, स्टोरेज और अपलोड की सीमाएं देखें
-
या Google One की सदस्यता लेकर ज़्यादा स्टोरेज पाएं.
403 गड़बड़ी को ठीक करना: उपयोगकर्ता ने ऐप्लिकेशन {appId} {verb} को फ़ाइल {fileId} का ऐक्सेस नहीं दिया है
जब आपका ऐप्लिकेशन, फ़ाइल के लिए एसीएल में नहीं होता है, तब appNotAuthorizedToFile
गड़बड़ी होती है. यह गड़बड़ी उपयोगकर्ता को आपके ऐप्लिकेशन से फ़ाइल खोलने से रोकती है.
इस गड़बड़ी को 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 यूज़र इंटरफ़ेस (यूआई) में इसे खोलें संदर्भ मेन्यू का इस्तेमाल करके, उपयोगकर्ता को फ़ाइल खोलने का निर्देश दें.
आप यह पक्का करने के लिए फ़ाइल पर isAppAuthorized
फ़ील्ड भी देख सकते हैं कि आपके
ऐप्लिकेशन ने फ़ाइल बनाई या खोली.
403 गड़बड़ी को ठीक करना: उपयोगकर्ता के पास फ़ाइल {fileId} के लिए काफ़ी अनुमतियां नहीं हैं
जब उपयोगकर्ता के पास फ़ाइल में लिखने का ऐक्सेस नहीं होता और आपका ऐप्लिकेशन फ़ाइल में बदलाव करने की कोशिश करता है, तो 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
से मिले मेटाडेटा में, उपयोगकर्ता के ऐक्सेस लेवल की जांच करने का विकल्प भी होता है. साथ ही, अनुमति न होने पर भी, रीड-ओनली यूज़र इंटरफ़ेस (यूआई) दिखाया जा सकता है.
403 गड़बड़ी को ठीक करना: {appId} आईडी वाले ऐप्लिकेशन का इस्तेमाल, पुष्टि किए गए उपयोगकर्ता के डोमेन में नहीं किया जा सकता
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."
}
}
इस गड़बड़ी को ठीक करने के लिए:
- उपयोगकर्ता को बताएं कि डोमेन आपके ऐप्लिकेशन को, Drive में मौजूद फ़ाइलों को ऐक्सेस करने की अनुमति नहीं देता.
- आपके ऐप्लिकेशन का ऐक्सेस मांगने के लिए, उपयोगकर्ता को डोमेन एडमिन से संपर्क करने का निर्देश दें.
403 गड़बड़ी को ठीक करना: फ़ोल्डर में आइटम की संख्या पार हो गई थी
किसी फ़ोल्डर के लिए फ़ोल्डर (फ़ोल्डर, फ़ाइलें, और शॉर्टकट) की संख्या, तय सीमा से ज़्यादा होने पर numChildrenInNonRootLimitExceeded
गड़बड़ी होती है. किसी फ़ोल्डर में
फ़ोल्डर, फ़ाइलों, और शॉर्टकट के लिए 5,00,000 आइटम की सीमा है. सब-फ़ोल्डर में नेस्ट
किए गए आइटम को 5,00,000 आइटम की सीमा में नहीं गिना जाता. Drive फ़ोल्डर की सीमाओं के बारे में ज़्यादा जानकारी के लिए, Google Drive में फ़ोल्डर की सीमाएं देखें.
403 गड़बड़ी को ठीक करना: खाते से बनाए गए आइटम की संख्या पार हो गई थी
activeItemCreationLimitExceeded
गड़बड़ी तब होती है, जब इस खाते से आइटम बनाए जाने की संख्या तय सीमा से ज़्यादा हो गई हो. चाहे वह ट्रैश में हो या न हो. फ़ोल्डर के साथ-साथ सभी आइटम, एक समयसीमा में गिने जाते हैं.
404 गड़बड़ी को ठीक करना: फ़ाइल नहीं मिली: {fileId}
notFound
गड़बड़ी तब होती है, जब उपयोगकर्ता के पास फ़ाइल को पढ़ने का ऐक्सेस नहीं होता या फ़ाइल मौजूद नहीं होती.
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "File not found {fileId}"
}
],
"code": 404,
"message": "File not found: {fileId}"
}
}
इस गड़बड़ी को ठीक करने के लिए:
- उपयोगकर्ता को बताएं कि उनके पास फ़ाइल पढ़ने का ऐक्सेस नहीं है या फ़ाइल मौजूद नहीं है.
- उपयोगकर्ता को फ़ाइल के मालिक से संपर्क करने और उसे फ़ाइल ऐक्सेस करने की अनुमति देने का निर्देश दें.
429 गड़बड़ी का समाधान करना: बहुत सारे अनुरोध
rateLimitExceeded
की गड़बड़ी तब होती है, जब उपयोगकर्ता किसी तय समय में बहुत ज़्यादा अनुरोध भेज देता है.
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 429,
"message": "Rate Limit Exceeded"
}
}
इस गड़बड़ी को ठीक करने के लिए, एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करके, फिर से अनुरोध करें.
5xx गड़बड़ी ठीक करें
अनुरोध को प्रोसेस करते समय, अचानक कोई गड़बड़ी होने पर 5xx गड़बड़ी दिखती है. ऐसा कई वजहों से हो सकता है. जैसे, किसी अनुरोध के साथ ज़्यादा समय तक ओवरलैप करना या किसी काम न करने वाली कार्रवाई के लिए अनुरोध करना. उदाहरण के लिए, साइट के बजाय किसी दूसरी साइट के लिए, Google साइट पर अनुमतियों को अपडेट करना.
इस गड़बड़ी को ठीक करने के लिए, एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करके, फिर से अनुरोध करें. यहां 5xx गड़बड़ियों की सूची दी गई है:
- 500 बैकएंड गड़बड़ी
- 502 खराब गेटवे
- 503 सेवा उपलब्ध नहीं है
- 504 गेटवे टाइम आउट