محدودیتها و سهمیهها از زیرساخت Google در برابر فرآیند خودکاری که از Directory API به روشی نامناسب استفاده میکند محافظت میکند. درخواستهای بیش از حد از یک API ممکن است ناشی از یک اشتباه تایپی بیضرر باشد، یا ممکن است ناشی از طراحی ناکارآمد سیستمی باشد که تماسهای API بیضروری را ایجاد میکند. صرف نظر از علت، مسدود کردن ترافیک از یک منبع خاص پس از رسیدن به سطح مشخصی برای سلامت کلی سیستم Google Workspace ضروری است. این تضمین می کند که اقدامات یک توسعه دهنده نمی تواند تأثیر منفی بر جامعه بزرگتر بگذارد.
در صورتی که درخواست API شما ناموفق باشد، API یک کد وضعیت HTTP و دلیل خطا را برمیگرداند. علاوه بر این، بدنه پاسخ حاوی شرح مفصلی از آنچه باعث خطا شده است.
لیست زیر کدهای خطای احتمالی، دلایل، توضیحات مربوطه، و اقدامات توصیه شده برای خطاهای ناشی از رسیدن به محدودیت های سهمیه را نشان می دهد.
کد | دلیل | شرح | عمل پیشنهاد شده |
---|---|---|---|
403 | userRateLimitExceeded | نشان می دهد که از حد مجاز نرخ کاربر فراتر رفته است. مقدار پیش فرض تنظیم شده در کنسول Google Cloud 2400 پرس و جو در دقیقه برای هر کاربر در هر پروژه Google Cloud است. | محدودیتهای هر کاربر را از صفحه سهمیههای Admin SDK API پروژه Google Cloud خود افزایش دهید یا سرعت ارسال درخواستها را با استفاده از backoff نمایی کاهش دهید. |
403 | سهمیه فراتر رفت | نشان می دهد که به محدودیت درخواست های همزمان برای یک عملیات خاص رسیده است. | با استفاده از عقب نشینی نمایی دوباره امتحان کنید. باید سرعت ارسال درخواست ها را کاهش دهید. |
429 | حد نرخ بیش از | نشان می دهد که به محدودیت درخواست های همزمان برای یک عملیات خاص رسیده است. | با استفاده از عقب نشینی نمایی دوباره امتحان کنید. شما باید سرعت ارسال درخواست ها را کاهش دهید. این محدودیت برای حساب Google Workspace است، نه برای هر مشتری API یا هر کاربر. این حد قابل افزایش نیست. |
پیاده سازی عقب نشینی نمایی
عقب نشینی نمایی فرآیندی است که در آن مشتری به طور دوره ای یک درخواست ناموفق را در مدت زمان فزاینده ای امتحان می کند. این یک استراتژی مدیریت خطای استاندارد برای برنامه های کاربردی شبکه است. استفاده از backoff تصاعدی کارایی استفاده از پهنای باند را افزایش میدهد، تعداد درخواستهای مورد نیاز برای دریافت پاسخ موفق را کاهش میدهد و توان عملیاتی درخواستها را در محیطهای همزمان به حداکثر میرساند.
جریان برای اجرای پسانداز نمایی ساده به شرح زیر است.
- یک درخواست به API بدهید
- پاسخ خطایی را دریافت کنید که دارای کد خطای قابل امتحان مجدد است
- 1 ثانیه +
random_number_milliseconds
ثانیه صبر کنید - درخواست مجدد
- پاسخ خطایی را دریافت کنید که دارای کد خطای قابل امتحان مجدد است
- 2 ثانیه +
random_number_milliseconds
ثانیه صبر کنید - درخواست مجدد
- پاسخ خطایی را دریافت کنید که دارای کد خطای قابل امتحان مجدد است
- 4 ثانیه +
random_number_milliseconds
ثانیه صبر کنید - درخواست مجدد
- پاسخ خطایی را دریافت کنید که دارای کد خطای قابل امتحان مجدد است
- 8 ثانیه +
random_number_milliseconds
ثانیه صبر کنید - درخواست مجدد
- پاسخ خطایی را دریافت کنید که دارای کد خطای قابل امتحان مجدد است
- 16 ثانیه +
random_number_milliseconds
ثانیه صبر کنید - درخواست مجدد
- اگر باز هم با خطا مواجه شدید، توقف کرده و خطا را ثبت کنید.
در جریان فوق، random_number_milliseconds
تعداد تصادفی میلی ثانیه کمتر یا مساوی 1000 است. این برای جلوگیری از خطاهای قفل خاص در برخی از پیاده سازی های همزمان ضروری است. random_number_milliseconds
باید بعد از هر انتظار دوباره تعریف شود.
توجه : انتظار همیشه (2 ^ n) + random_number_milliseconds
است، که در آن n یک عدد صحیح افزایشی یکنواخت است که در ابتدا 0 تعریف شده است. n برای هر تکرار (هر درخواست) 1 افزایش می یابد.
الگوریتم تنظیم شده است تا زمانی که n 5 باشد خاتمه یابد. این سقف فقط برای جلوگیری از تلاش مجدد مشتریان برای بی نهایت وجود دارد و منجر به تأخیر کلی حدود 32 ثانیه قبل از تلقی درخواست "خطای غیرقابل جبران" می شود. کلاینت API شما می تواند در صورت نیاز تعداد بیشتری از تلاش ها را اجرا کند.
محدودیت ها و سهمیه های API
دسته بندی های محدود API | محدودیت ها |
---|---|
ایجاد کاربران | با استفاده از Directory API نمی توانید بیش از 10 کاربر در هر دامنه در ثانیه ایجاد کنید. |
گروه به عنوان عضو به گروه دیگری اضافه شد | ممکن است قبل از ظاهر شدن اعضای گروه فرزند به عنوان اعضای گروه والدین تا 10 دقیقه تاخیر داشته باشد. این محدودیت ممکن است بسته به ظرفیت سیستم تغییر کند. |
دستگاه های موبایل | با استفاده از Directory API، می توانید حداکثر تا زیر را انجام دهید:
|
تغییر نام کاربران | انتشار در همه سرویسها میتواند تا 10 دقیقه طول بکشد. قبل از تغییر نام کاربر، توصیه می شود کاربر را از تمام جلسات و خدمات مرورگر خارج کنید. برای جزئیات بیشتر، بهروزرسانی کاربران را ببینید. |
ایجاد/به روز رسانی واحدهای سازمانی |
|
دسته های سهمیه API | سهمیه ها |
دستگاههای Chrome annotatedLocation ، حداکثر نویسه | حداکثر تعداد کاراکتر برای اطلاعات موقعیت مکانی یک دستگاه 200 کاراکتر است. |
notes دستگاههای کروم، حداکثر نویسه | حداکثر تعداد کاراکتر برای اطلاعات یادداشتهای دستگاه 500 کاراکتر است. |
دستگاههای کروم، حداکثر نویسههای user | حداکثر تعداد کاراکتر برای نام کاربر دستگاه 100 است. |
نام مستعار دامنه، حداکثر | حداکثر تعداد نام مستعار دامنه 20 است. |
گروه ها، توضیحات | حداکثر تعداد کاراکتر در توضیحات 4096 کاراکتر است. |
گروه ها، در هر حساب | با یک حساب نسخه رایگان G Suite Legacy، تعداد گروهها به 10 گروه محدود میشود. نسخههای دیگر محدودیتی برای تعداد گروهها ندارند. |
گروه ها، اعضا در هر گروه | با یک حساب G Suite Legacy Free Edition، یک گروه میتواند تا 100 عضو داشته باشد. سایر نسخه ها محدودیتی برای تعداد اعضایی که یک گروه می تواند داشته باشد ندارند. برای محدودیتهای عضویت در گروه برای هر کاربر، به درک خطمشیها و محدودیتهای گروهها مراجعه کنید |
رشته پرس و جو maxResults | API برمیگرداند:
|
دامنه چندگانه، حداکثر تعداد دامنه های مجاز در یک حساب | 600 (1 دامنه اصلی + 599 دامنه اضافی) |
واحد سازمانی، حداکثر تعداد کاربرانی که در یک زمان جابجا شده اند | 20 کاربر می توانند در یک زمان جابجا شوند. و آدرسهای ایمیل اصلی کاربر باید از قبل در حساب موجود باشد. |
نام مستعار کاربر | تعداد کل نام مستعار مجاز برای هر حساب کاربری 30 است. |
نام مستعار کاربر، با استفاده از نام مستعار حذف شده | نام مستعار حذف شده کاربر را می توان بلافاصله دوباره استفاده کرد. |
انواع دیگر محدودیت ها | محدودیت ها و دستورالعمل ها |
---|---|
صدور صورت حساب و ایجاد کاربران | برای کاربرانی که دارای یک طرح انعطافپذیر برای Google Workspace هستند، ایجاد کاربران با استفاده از این API تأثیر پولی خواهد داشت و منجر به کسر هزینه از حساب صورتحساب مشتری شما میشود. به عنوان مثال، اگر در یک برنامه انعطافپذیر برای Google Workspace هستید، ایجاد 10 کاربر منجر به دریافت هزینههایی برای 10 مجوز Google Workspace میشود که به نسبت زمانی که ایجاد میشود، به حساب شما پست میشود. اگر در یک برنامه سالانه هستید، قبلاً متعهد شدهاید که برای تعداد معینی مجوز از قبل پرداخت کنید و فقط میتوانید به تعداد تعهدات خود کاربر ایجاد کنید. برای اطلاعات بیشتر درباره طرحهای صورتحساب و حساب صورتحساب خود، به مرکز راهنمایی مدیریت مراجعه کنید. |
نام و نام خانوادگی | نام و نام خانوادگی حداکثر 40 کاراکتر باشد. آنها از کاراکترهای Unicode/UTF-8 پشتیبانی می کنند و می توانند شامل فاصله، حروف (az)، اعداد (0-9)، خط تیره (-)، اسلش جلو (/)، و نقطه (.) باشند. برای اطلاعات بیشتر در مورد قوانین استفاده از کاراکتر، به مرکز راهنمایی مدیریت مراجعه کنید. |
گروه ها، در حال حذف | حذف یک گروه، حساب های کاربری اعضای گروه را حذف نمی کند. |
گروه ها و اعضای گروه، تغییر آدرس ایمیل | در این نسخه از API، آدرس ایمیل یک گروه را می توان قبل از فعال شدن سرویس Google Workspace تغییر داد. از کنسول Admin برای تغییر آدرس ایمیل اعضای گروه استفاده کنید. پس از تغییر، API به طور خودکار تغییرات آدرس ایمیل را منعکس می کند. |
گروه ها، تنظیمات | تنظیمات دسترسی گروه ها، گزینه های اشتراک گذاری، نظارت، و آرشیو بحث با استفاده از کنسول مدیریت مدیریت می شود. برای اطلاعات بیشتر درباره تنظیمات گروهها، به مرکز راهنمایی مدیریت مراجعه کنید. |
گروه ها، ارسال پیام | برای جلوگیری از سوء استفاده از هرزنامه و ایمیل، Google تعداد پیامهایی را که میتوانید به یکباره برای گیرندگان خارجی ارسال کنید، محدود میکند. اگر پیامی به گروهی ارسال کنید، هر عضو خارجی به عنوان یک گیرنده حساب می شود. برای اطلاعات بیشتر، محدودیتهای ارسال ایمیل و جلوگیری از مسدود شدن یا ارسال ایمیل به کاربران Gmail به هرزنامه را ببینید. |
گروه ها، ارسال پیام های NDR | شما نمی توانید رسیدهای غیر تحویلی (NDRs) را که "پیام های برگشتی" نیز نامیده می شود، به یک گروه ارسال یا ارسال کنید. |
گروه های ایجاد شده توسط کاربران، محدودیت ها | برای محدودیتهای گروه ایجاد شده توسط کاربر، به مرکز راهنمایی مدیریت مراجعه کنید |
واحد سازمانی، روشن/خاموش کردن خدمات | از کنسول Admin برای مدیریت روشن و خاموش کردن خدمات برای یک واحد سازمانی استفاده کنید. |
رمزهای عبور | می تواند شامل هر ترکیبی از کاراکترها باشد. حداقل 8 کاراکتر مورد نیاز است. حداکثر طول 100 کاراکتر است. |
عکس ها | در این نسخه از API، یک عکس آخرین عکس نمایه گوگل کاربر است. |
نام های کاربری | نام کاربر می تواند شامل حروف (az)، اعداد (0-9)، خط تیره (-)، زیرخط (_) باشد و Google Workspace نقطه یا نقطه (.) را تشخیص می دهد. این همان جیمیل نیست. نام کاربری ممکن است دارای علامت مساوی (=)، پرانتز (<,>)، یا بیش از یک نقطه (.) در یک ردیف نباشد. برای اطلاعات بیشتر، به مرکز راهنمایی مدیریت مراجعه کنید. |
نام کاربری، تغییر نام | Google Hangouts پس از تغییر نام، همه دعوتنامههای گپ به خاطر سپردهشده را کنار میگذارد. کاربر باید برای چت مجدد با دوستان اجازه درخواست کند. نام کاربری قدیمی به عنوان نام مستعار ایمیل برای اطمینان از تحویل مداوم نامه در مورد تنظیمات ارسال ایمیل حفظ می شود و به عنوان نام کاربری جدید در دسترس نخواهد بود. برای جزئیات مهم در مورد تأثیر تغییر نام کاربران، به مرکز راهنمایی مدیریت مراجعه کنید. از عملیات حذف نام مستعار کاربر برای حذف نام مستعار ایمیل پس از تغییر نام استفاده کنید. |
کاربران در چندین دامنه | حساب Google Workspace میتواند شامل هر یک از دامنههای شما باشد. در یک حساب دامنه چندگانه، کاربران در یک دامنه می توانند خدمات را با کاربران در دامنه های حساب دیگر به اشتراک بگذارند. مؤلفه های چند دامنه عبارتند از:
|
هشدار، اعضای گروه | GROUP_CANNOT_CONTAIN_CYCLE - API اجازه چرخه در عضویت گروه را نمی دهد. برای مثال، اگر گروه 1 عضو گروه 2 باشد، گروه 2 نمی تواند عضو گروه 1 باشد. |