این سند برخی از کدهای خطا و پیامهایی را که Google API برمیگرداند، شناسایی میکند. به طور خاص، خطاهای فهرست شده در اینجا در دامنه جهانی یا پیش فرض برای API های Google هستند. بسیاری از APIها نیز دامنه های خود را تعریف می کنند که خطاهای خاص API را که در دامنه جهانی نیستند، شناسایی می کنند. برای آن خطاها، مقدار ویژگی domain
در پاسخ JSON یک مقدار خاص API خواهد بود، مانند youtube.parameter
.
این صفحه خطاها را بر اساس کدهای وضعیت HTTP آنها که در RFC 7231 تعریف شده است فهرست می کند.
نمونه پاسخ JSON در زیر نشان می دهد که چگونه یک خطای سراسری مخابره می شود:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidParameter",
"message": "Invalid string value: 'asdf'. Allowed values: [mostpopular]",
"locationType": "parameter",
"location": "chart"
}
],
"code": 400,
"message": "Invalid string value: 'asdf'. Allowed values: [mostpopular]"
}
}
خطاها
- MOVED_PERMANENTLY (301)
- SEE_OTHER (303)
- NOT_MODIFIED (304)
- TEMPORARY_REDIRECT (307)
- BAD_REQUEST (400)
- غیر مجاز (401)
- PAYMENT_REQUIRED (402)
- ممنوع (403)
- NOT_FOUND (404)
- METHOD_NOT_ALLOWED (405)
- درگیری (409)
- رفته (410)
- PRECONDITION_FAILED (412)
- REQUEST_ENTITY_TOO_LARGE (413)
- REQUESTED_RANGE_NOT_SATISFIABLE (416)
- EXPECTATION_FAILED (417)
- PRECONDITION_REQUIRED (428)
- TOO_MANY_REQUESTS (429)
- INTERNAL_SERVER_ERROR (500)
- NOT_IMPLEMENTED (501)
- SERVICE_UNAVAILABLE (503)
MOVED_PERMANENTLY (301)
کد خطا | شرح |
---|
movedPermanently | این درخواست و درخواستهای آینده برای همان عملیات باید به نشانی اینترنتی مشخصشده در سرصفحه Location این پاسخ به جای نشانی اینترنتی که این درخواست به آن ارسال شده است، ارسال شود. |
SEE_OTHER (303)
کد خطا | شرح |
---|
seeOther | درخواست شما با موفقیت پردازش شد. برای دریافت پاسخ خود، یک درخواست GET به URL مشخص شده در هدر Location ارسال کنید. |
mediaDownloadRedirect | درخواست شما با موفقیت پردازش شد. برای دریافت پاسخ خود، یک درخواست GET به URL مشخص شده در هدر Location ارسال کنید. |
NOT_MODIFIED (304)
کد خطا | شرح |
---|
notModified | شرط تعیین شده برای هدر If-None-Match برآورده نشد. این پاسخ نشان می دهد که سند درخواستی اصلاح نشده است و یک پاسخ ذخیره شده باید بازیابی شود. مقدار هدر درخواست HTTP If-None-Match را بررسی کنید. |
TEMPORARY_REDIRECT (307)
کد خطا | شرح |
---|
temporaryRedirect | برای پردازش درخواست شما، آن را دوباره به URL مشخص شده در سرصفحه Location این پاسخ ارسال کنید. |
BAD_REQUEST (400)
کد خطا | شرح |
---|
badRequest | درخواست API نامعتبر است یا به درستی تشکیل نشده است. در نتیجه، سرور API نمی تواند درخواست را درک کند. |
badBinaryDomainRequest | درخواست دامنه باینری نامعتبر است. |
badContent | نوع محتوای دادههای درخواست یا نوع محتوای بخشی از درخواست چندبخشی پشتیبانی نمیشود. |
badLockedDomainRequest | درخواست دامنه قفل شده نامعتبر است. |
corsRequestWithXOrigin | درخواست CORS حاوی یک هدر XD3 X-Origin است که نشان دهنده درخواست بد CORS است. |
endpointConstraintMismatch | درخواست انجام نشد زیرا با API مشخص شده مطابقت نداشت. مقدار مسیر URL را بررسی کنید تا مطمئن شوید که درست است. |
invalid | درخواست ناموفق بود زیرا حاوی یک مقدار نامعتبر بود. مقدار می تواند یک مقدار پارامتر، یک مقدار سرصفحه یا یک مقدار ویژگی باشد. |
invalidAltValue | مقدار پارامتر alt یک فرمت خروجی ناشناخته را مشخص می کند. |
invalidParameter | درخواست ناموفق بود زیرا حاوی یک پارامتر یا مقدار پارامتر نامعتبر بود. برای تعیین اینکه کدام پارامتر برای درخواست شما معتبر است، اسناد API را بررسی کنید. |
invalidQuery | درخواست نامعتبر است. اسناد API را بررسی کنید تا تعیین کنید چه پارامترهایی برای درخواست پشتیبانی می شوند و ببینید آیا درخواست دارای ترکیب نامعتبری از پارامترها یا مقدار پارامتر نامعتبر است. مقدار پارامتر درخواست q را بررسی کنید. |
keyExpired | کلید API ارائه شده در درخواست منقضی شده است، به این معنی که سرور API قادر به بررسی محدودیت سهمیه برای برنامه درخواست کننده نیست. برای اطلاعات بیشتر یا دریافت کلید جدید، کنسول توسعه دهندگان Google را بررسی کنید. |
keyInvalid | کلید API ارائه شده در درخواست نامعتبر است، به این معنی که سرور API قادر به بررسی محدودیت سهمیه برنامه درخواست کننده نیست. از Google Developers Console برای پیدا کردن کلید API یا به دست آوردن آن استفاده کنید. |
lockedDomainCreationFailure | نشانه OAuth در رشته پرس و جو دریافت شد، که این API برای فرمت های پاسخ به غیر از JSON یا XML ممنوع است. در صورت امکان، به جای آن، رمز OAuth را در هدر مجوز ارسال کنید. |
notDownload | فقط درخواست های بارگیری رسانه را می توان به مسیرهای URL /download/* ارسال کرد. درخواست را دوباره به همان مسیر ارسال کنید، اما بدون پیشوند /download . |
notUpload | درخواست شکست خورد زیرا یک درخواست آپلود نیست و فقط درخواست های آپلود را می توان به /upload/* URI ارسال کرد. درخواست را دوباره به همان مسیر ارسال کنید، اما بدون پیشوند /upload . |
parseError | سرور API نمی تواند بدنه درخواست را تجزیه کند. |
required | درخواست API اطلاعات لازم را ندارد. اطلاعات مورد نیاز می تواند یک پارامتر یا ویژگی منبع باشد. |
tooManyParts | درخواست چند قسمتی ناموفق بود زیرا حاوی بخش های بسیار زیادی است |
unknownApi | API که درخواست در حال فراخوانی آن است شناسایی نمی شود. |
unsupportedMediaProtocol | کلاینت از پروتکل رسانه ای پشتیبانی نشده استفاده می کند. |
unsupportedOutputFormat | مقدار پارامتر alt فرمت خروجی را مشخص می کند که برای این سرویس پشتیبانی نمی شود. مقدار پارامتر درخواست alt را بررسی کنید. |
wrongUrlForUpload | این درخواست یک درخواست آپلود است، اما به دلیل ارسال نشدن به URI مناسب انجام نشد. درخواست های آپلود باید به URI هایی ارسال شوند که دارای پیشوند /upload/* هستند. سعی کنید درخواست را دوباره به همان مسیر ارسال کنید، اما با پیشوند /upload . |
UNAUTHORIZED (401)
کد خطا | شرح |
---|
unauthorized | کاربر مجاز به ارائه درخواست نیست. |
authError | اعتبار مجوز ارائه شده برای درخواست نامعتبر است. مقدار هدر درخواست Authorization HTTP را بررسی کنید. |
expired | جلسه تمام شده. مقدار هدر درخواست Authorization HTTP را بررسی کنید. |
lockedDomainExpired | درخواست انجام نشد زیرا دامنه قفل شده معتبر قبلی منقضی شده است. |
required | کاربر باید برای انجام این درخواست API وارد سیستم شود. مقدار هدر درخواست Authorization HTTP را بررسی کنید. |
PAYMENT_REQUIRED (402)
کد خطا | شرح |
---|
dailyLimitExceeded402 | به محدودیت بودجه روزانه تعیین شده توسط توسعه دهنده رسیده است. |
quotaExceeded402 | عملیات درخواستی به منابع بیشتری از حد مجاز نیاز دارد. برای تکمیل عملیات پرداخت لازم است. |
user402 | عملیات درخواستی به نوعی پرداخت از سوی کاربر احراز هویت شده نیاز دارد. |
FORBIDDEN (403)
کد خطا | شرح |
---|
forbidden | عملیات درخواستی ممنوع است و تکمیل نمی شود. |
accessNotConfigured | پروژه شما برای دسترسی به این API پیکربندی نشده است. لطفاً از Google Developers Console برای فعال کردن API برای پروژه خود استفاده کنید. |
accessNotConfigured | پروژه به دلیل سوء استفاده مسدود شده است. به http://support.google.com/code/go/developer_compliance مراجعه کنید. |
accessNotConfigured | پروژه برای حذف علامت گذاری شده است. |
accountDeleted | حساب کاربری مرتبط با اعتبارنامه مجوز درخواست حذف شده است. مقدار هدر درخواست Authorization HTTP را بررسی کنید. |
accountDisabled | حساب کاربری مرتبط با اعتبارنامه مجوز درخواست غیرفعال شده است. مقدار هدر درخواست Authorization HTTP را بررسی کنید. |
accountUnverified | آدرس ایمیل کاربر درخواست کننده تأیید نشده است. مقدار هدر درخواست Authorization HTTP را بررسی کنید. |
concurrentLimitExceeded | درخواست انجام نشد زیرا به محدودیت استفاده همزمان رسیده است. |
dailyLimitExceeded | به حد نصاب روزانه برای API رسیده است. |
dailyLimitExceeded | به حد نصاب روزانه رسیده است و پروژه به دلیل سوء استفاده مسدود شده است. برای کمک به حل مشکل، فرم پشتیبانی سازگاری Google APIs را ببینید. |
dailyLimitExceededUnreg | درخواست ناموفق بود زیرا محدودیت روزانه برای استفاده از API احراز هویت نشده است. ادامه استفاده از API نیاز به ثبت نام از طریق کنسول توسعه دهندگان Google دارد. |
downloadServiceForbidden | API از سرویس دانلود پشتیبانی نمی کند. |
insufficientAudience | درخواست برای این مخاطب قابل تکمیل نیست. |
insufficientAuthorizedParty | درخواست را نمی توان برای این برنامه تکمیل کرد. |
insufficientPermissions | کاربر احراز هویت شده مجوزهای کافی برای اجرای این درخواست را ندارد. |
limitExceeded | به دلیل محدودیت دسترسی یا نرخ، درخواست نمیتواند تکمیل شود. |
lockedDomainForbidden | این API از دامنه های قفل شده پشتیبانی نمی کند. |
quotaExceeded | عملیات درخواستی به منابع بیشتری از حد مجاز نیاز دارد. |
rateLimitExceeded | تعداد زیادی درخواست در یک بازه زمانی معین ارسال شده است. |
rateLimitExceededUnreg | از محدودیت نرخ فراتر رفته است و شما باید درخواست خود را ثبت کنید تا بتوانید به تماس با API ادامه دهید. لطفاً با استفاده از Google Developers Console ثبت نام کنید. |
responseTooLarge | منبع درخواستی برای بازگشت خیلی بزرگ است. |
servingLimitExceeded | محدودیت نرخ کلی مشخص شده برای API قبلاً رسیده است. |
sslRequired | SSL برای انجام این عملیات مورد نیاز است. |
unknownAuth | سرور API طرح مجوز استفاده شده برای درخواست را تشخیص نمی دهد. مقدار هدر درخواست Authorization HTTP را بررسی کنید. |
userRateLimitExceeded | درخواست ناموفق بود زیرا به محدودیت نرخ هر کاربر رسیده است. |
userRateLimitExceededUnreg | درخواست ناموفق بود زیرا به محدودیت نرخ برای هر کاربر رسیده است و توسعهدهنده مشتری در درخواست شناسایی نشده است. لطفاً از Google Developer Console (https://console.developers.google.com) برای ایجاد یک پروژه برای برنامه خود استفاده کنید. |
variableTermExpiredDailyExceeded | درخواست ناموفق بود زیرا یک سهمیه مدت متغیر منقضی شده بود و به محدودیت روزانه رسیده بود. |
variableTermLimitExceeded | درخواست ناموفق بود زیرا به محدودیت سهمیه مدت متغیر رسیده بود. |
NOT_FOUND (404)
کد خطا | شرح |
---|
notFound | عملیات درخواستی انجام نشد زیرا منبع مرتبط با درخواست یافت نشد. |
notFound | منبع مرتبط با درخواست یافت نشد. اگر در دو هفته گذشته از این API استفاده نکردهاید، لطفاً برنامه App Engine را دوباره اجرا کنید و دوباره با آن تماس بگیرید. |
unsupportedProtocol | پروتکل استفاده شده در درخواست پشتیبانی نمی شود. |
METHOD_NOT_ALLOWED (405)
کد خطا | شرح |
---|
httpMethodNotAllowed | روش HTTP مرتبط با درخواست پشتیبانی نمی شود. |
CONFLICT (409)
کد خطا | شرح |
---|
conflict | درخواست API را نمی توان تکمیل کرد زیرا عملیات درخواستی با یک مورد موجود در تضاد است. برای مثال، درخواستی که سعی میکند یک آیتم تکراری ایجاد کند، یک تضاد ایجاد میکند، اگرچه موارد تکراری معمولاً با خطاهای خاصتری شناسایی میشوند. |
duplicate | عملیات درخواستی ناموفق بود زیرا سعی در ایجاد منبعی داشت که از قبل وجود دارد. |
GONE (410)
کد خطا | شرح |
---|
deleted | درخواست انجام نشد زیرا منبع مرتبط با درخواست حذف شده است |
PRECONDITION_FAILED (412)
کد خطا | شرح |
---|
conditionNotMet | شرط تنظیم شده در هدر درخواست HTTP If-Match یا If-None-Match درخواست برآورده نشد. برای جزئیات بیشتر به بخش ETag مشخصات HTTP مراجعه کنید. مقدار هدر درخواست HTTP If-Match را بررسی کنید. |
REQUEST_ENTITY_TOO_LARGE (413)
کد خطا | شرح |
---|
backendRequestTooLarge | درخواست خیلی بزرگ است. |
batchSizeTooLarge | درخواست دسته ای حاوی عناصر بسیار زیادی است. |
uploadTooLarge | درخواست انجام نشد زیرا داده های ارسال شده در درخواست بسیار بزرگ است. |
REQUESTED_RANGE_NOT_SATISFIABLE (416)
کد خطا | شرح |
---|
requestedRangeNotSatisfiable | درخواست محدوده ای را مشخص کرد که نمی توان آن را برآورده کرد. |
EXPECTATION_FAILED (417)
کد خطا | شرح |
---|
expectationFailed | انتظارات مشتری نمی تواند توسط سرور برآورده شود. |
PRECONDITION_REQUIRED (428)
کد خطا | شرح |
---|
preconditionRequired | درخواست نیاز به پیش شرطی دارد که ارائه نشده است. برای موفقیت این درخواست، باید یک هدر If-Match یا If-None-Match را همراه با درخواست ارائه دهید. |
TOO_MANY_REQUESTS (429)
کد خطا | شرح |
---|
rateLimitExceeded | تعداد زیادی درخواست در یک بازه زمانی معین ارسال شده است. |
INTERNAL_SERVER_ERROR (500)
کد خطا | شرح |
---|
internalError | درخواست به دلیل یک خطای داخلی انجام نشد. |
NOT_IMPLEMENTED (501)
کد خطا | شرح |
---|
notImplemented | عملیات درخواستی اجرا نشده است. |
unsupportedMethod | درخواست ناموفق بود زیرا در تلاش است یک روش یا عملیات ناشناخته را اجرا کند. |
SERVICE_UNAVAILABLE (503)
کد خطا | شرح |
---|
backendError | یک خطای Backend رخ داد. |
backendNotConnected | درخواست به دلیل خطای اتصال ناموفق بود. |
notReady | سرور API آماده پذیرش درخواست ها نیست. |