درباره استفاده و مدیریت کلیدهای API برای Firebase بیاموزید

یک کلید API یک رشته منحصر به فرد است که برای هدایت درخواست‌ها به پروژه Firebase شما هنگام تعامل با Firebase و سرویس‌های Google استفاده می‌شود. این صفحه اطلاعات اولیه در مورد کلیدهای API و همچنین بهترین روش‌ها برای استفاده و مدیریت کلیدهای API با برنامه‌های Firebase را توضیح می‌دهد.

اطلاعات کلی در مورد کلیدهای API و Firebase

کلیدهای API برای Firebase با کلیدهای API معمولی متفاوت هستند

برخلاف نحوه استفاده از کلیدهای API، کلیدهای API برای سرویس‌های Firebase برای کنترل دسترسی به منابع پشتیبان استفاده نمی‌شوند . که فقط با Firebase Security Rules (برای کنترل اینکه کاربران نهایی می توانند به منابع دسترسی داشته باشند) و Firebase App Check (برای کنترل برنامه هایی که می توانند به منابع دسترسی داشته باشند) انجام می شود.

معمولاً باید به دقت از کلیدهای API محافظت کنید (مثلاً با استفاده از سرویس خزانه یا تنظیم کلیدها به عنوان متغیرهای محیطی). با این حال، کلیدهای API برای سرویس‌های Firebase برای گنجاندن در کد یا فایل‌های پیکربندی تأییدشده مناسب هستند.

اگرچه کلیدهای API برای سرویس‌های Firebase برای گنجاندن در کد بی‌خطر هستند، باید محدودیت‌ها و محدودیت‌های مناسب را برای آن‌ها بررسی و اعمال کنید .

ایجاد کلیدهای API

یک پروژه Firebase می‌تواند کلیدهای API زیادی داشته باشد، اما هر کلید API فقط می‌تواند با یک پروژه Firebase مرتبط باشد.

کلیدهای API به طور خودکار توسط Firebase برای برنامه های Firebase شما ایجاد می شوند

وقتی یکی از کارهای زیر را انجام می دهید، Firebase به طور خودکار کلیدهای API را برای پروژه شما ایجاد می کند:

  • یک پروژه Firebase ایجاد کنید > Browser key به طور خودکار ایجاد شد
  • یک برنامه Firebase Apple ایجاد کنید > iOS key به طور خودکار ایجاد می شود
  • یک برنامه Android Firebase ایجاد کنید > Android key به طور خودکار ایجاد شود

همچنین می توانید کلیدهای API خود را در کنسول Google Cloud ایجاد کنید، به عنوان مثال برای توسعه یا اشکال زدایی . در مورد زمانی که ممکن است بعداً در این صفحه توصیه شود، بیشتر بیاموزید.

پیدا کردن کلیدهای API

می‌توانید تمام کلیدهای API پروژه خود را در APIs & Services > پنل اعتبارنامه‌ها در کنسول Google Cloud مشاهده و مدیریت کنید.

همچنین در مکان‌های زیر می‌توانید بیابید کدام کلید API به طور خودکار با برنامه Firebase مطابقت دارد . به طور پیش‌فرض، همه برنامه‌های Firebase پروژه شما برای یک پلتفرم (Apple vs Android vs Web) از یک کلید API استفاده می‌کنند.

  • Firebase Apple Apps — کلید API منطبق‌شده را در فایل پیکربندی Firebase، GoogleService-Info.plist ، در قسمت API_KEY پیدا کنید.

  • برنامه‌های Android Firebase - کلید API منطبق‌شده را در فایل پیکربندی Firebase، google-services.json ، در قسمت current_key پیدا کنید.

  • برنامه‌های وب Firebase - کلید API منطبق‌شده را در شیء پیکربندی Firebase، در قسمت apiKey پیدا کنید.

استفاده از کلید API

کلیدهای API برای شناسایی پروژه Firebase شما هنگام تعامل با سرویس‌های Firebase/Google استفاده می‌شوند. به طور خاص، از آنها برای مرتبط کردن درخواست های API با پروژه شما برای سهمیه و صورتحساب استفاده می شود. آنها همچنین برای دسترسی به داده های عمومی مفید هستند.

به عنوان مثال، شما می توانید به صراحت از یک کلید API با ارسال مقدار آن به یک فراخوانی REST API به عنوان پارامتر پرس و جو استفاده کنید. این مثال نشان می‌دهد که چگونه می‌توانید به API کوتاه‌کننده پیوند Dynamic Links درخواست بدهید:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

هنگامی که برنامه شما با یک API Firebase تماس می گیرد که نیاز به یک کلید API ارائه شده توسط سرویس گیرنده تلفن همراه/وب دارد، برنامه شما به طور خودکار در فایل پیکربندی Firebase/شیء کلید API پروژه شما جستجو می کند. با این حال، می توانید کلیدهای API را برای برنامه خود با استفاده از مکانیزم متفاوتی از جمله متغیرهای محیطی ارائه دهید.

بررسی و اعمال محدودیت های مناسب برای کلیدهای API (توصیه می شود)

اگرچه لازم نیست یک کلید API برای سرویس‌های Firebase به عنوان یک راز تلقی شود، باید محدودیت‌ها و محدودیت‌هایی را که در این بخش توضیح داده شد، بررسی و اعمال کنید.

APIهایی را که به طور خودکار به فهرست مجاز برای کلیدهای Firebase API شما اضافه می‌شوند، مرور کنید

هنگامی که Firebase یک کلید API در پروژه شما ایجاد می کند، ما به طور خودکار "محدودیت های API" را به آن کلید اضافه می کنیم. APIهای اضافه شده به این لیست مجاز، APIهای مرتبط با Firebase هستند که از مشتری می‌خواهند یک کلید API را همراه با تماس ارائه کند. توجه داشته باشید که اکثر API های مورد نیاز برای استفاده از سرویس های Firebase در واقع نیازی به قرار گرفتن در لیست مجاز کلیدهای API شما ندارند.

از آنجایی که Firebase API های لازم را برای همه سرویس های Firebase اضافه می کند، لیست مجاز برای یک کلید API ممکن است شامل API هایی برای محصولاتی باشد که شما استفاده نمی کنید. می‌توانید APIها را از لیست مجاز حذف کنید، اما باید بسیار مراقب باشید که APIهای مورد نیاز برای Firebase و سرویس‌های Firebase را که استفاده می‌کنید حذف نکنید ( لیست API‌های مرتبط با Firebase را که باید در لیست مجاز برای هر سرویس/محصول وجود داشته باشند، ببینید). در غیر این صورت، هنگام برقراری تماس با خدمات Firebase با خطا مواجه خواهید شد.

اگر Authentication مبتنی بر رمز عبور استفاده می کنید، سهمیه را تشدید کنید

اگر Firebase Authentication مبتنی بر رمز عبور استفاده می‌کنید و شخصی کلید API شما را در دست می‌گیرد، تا زمانی که این داده‌ها توسط Firebase Security Rules محافظت می‌شوند، نمی‌توانند به هیچ یک از پایگاه داده پروژه Firebase یا داده‌های Cloud Storage شما دسترسی داشته باشند. با این حال، آنها می توانند از کلید API شما برای دسترسی به نقاط پایانی احراز هویت Firebase و درخواست احراز هویت در برابر پروژه شما استفاده کنند.

برای کاهش احتمال سوء استفاده شخصی از یک کلید API برای حمله brute force، می‌توانید سهمیه پیش‌فرض نقاط انتهایی identitytoolkit.googleapis.com را محدود کنید تا انتظارات ترافیک عادی برنامه شما را منعکس کند. توجه داشته باشید که اگر این سهمیه را تشدید کنید و برنامه شما به طور ناگهانی کاربرانی پیدا کند، ممکن است تا زمانی که سهمیه را افزایش ندهید، با خطاهای ورود مواجه شوید. می‌توانید سهمیه‌های API پروژه خود را در کنسول Google Cloud تغییر دهید.

برای هر سرویس غیر Firebase از کلیدهای API جداگانه و محدود استفاده کنید

اگرچه کلیدهای API مورد استفاده برای سرویس‌های Firebase معمولاً نیازی به مخفی بودن ندارند، باید اقدامات احتیاطی بیشتری را در مورد کلیدهای API که با سایر APIهای Google Cloud استفاده می‌کنید، انجام دهید.

اگر از Google Cloud API (در هر پلتفرمی) استفاده می‌کنید که برای سرویس/محصول Firebase نیست، ما قویاً توصیه می‌کنیم کلیدهای API مجزا و محدود را برای استفاده با آن APIها ایجاد کنید. اگر API برای سرویس Google Cloud قابل پرداخت باشد، این امر به ویژه مهم است.

به عنوان مثال، اگر از Firebase ML و API های Cloud Vision در iOS استفاده می کنید، باید کلیدهای API جداگانه ای ایجاد کنید که فقط برای دسترسی به API های Cloud Vision استفاده می کنید.

با استفاده از کلیدهای API مجزا و محدود برای APIهای غیر Firebase، می‌توانید در صورت لزوم کلیدها را بچرخانید یا جایگزین کنید و بدون ایجاد اختلال در استفاده از سرویس‌های Firebase ، محدودیت‌های اضافی به کلیدهای API اضافه کنید .

این دستورالعمل‌ها نحوه ایجاد یک کلید API مجزا و محدود برای یک API جعلی به نام Super Service API را توضیح می‌دهند.

مرحله 1: کلیدهای API موجود خود را پیکربندی کنید تا دسترسی به Super Service API ممنوع شود

  1. صفحه اعتبارنامه کنسول Google Cloud را باز کنید. وقتی از شما خواسته شد، پروژه خود را انتخاب کنید.

  2. برای هر کلید API موجود در لیست، نمای ویرایش را باز کنید.

  3. در بخش محدودیت‌های API ، Restrict key را انتخاب کنید، سپس همه APIهایی را که می‌خواهید کلید API به آنها دسترسی داشته باشد، به لیست اضافه کنید. اطمینان حاصل کنید که API را که برای آن یک کلید API جداگانه ایجاد می‌کنید (در این مثال، Super Service API ) درج نکنید .

    وقتی محدودیت‌های API کلید API را پیکربندی می‌کنید، به صراحت APIهایی را که کلید به آنها دسترسی دارد، اعلام می‌کنید. به‌طور پیش‌فرض، زمانی که در بخش محدودیت‌های API کلید Don't limited key انتخاب شده باشد، می‌توان از یک کلید API برای دسترسی به هر API که برای پروژه فعال است استفاده کرد.

اکنون، کلیدهای API موجود شما اجازه دسترسی به Super Service API را نمی‌دهند، اما هر کلید برای هر APIهایی که به فهرست محدودیت‌های API اضافه کرده‌اید به کار خود ادامه می‌دهد.

مرحله 2: یک کلید API جدید برای دسترسی به Super Service API ایجاد کنید و از آن استفاده کنید

  1. به صفحه اعتبارنامه بازگردید. مطمئن شوید که پروژه Firebase شما هنوز انتخاب شده است.

  2. روی ایجاد اعتبارنامه > کلید API کلیک کنید. کلید API جدید را یادداشت کنید، سپس روی Restrict key کلیک کنید.

  3. در بخش محدودیت‌های API ، Restrict key را انتخاب کنید، سپس فقط Super Service API به لیست اضافه کنید.

    این کلید API جدید فقط به Super Service API دسترسی می دهد.

  4. برنامه و خدمات خود را برای استفاده از کلید API جدید پیکربندی کنید.

استفاده از کلیدهای API مخصوص محیط (توصیه می شود)

اگر پروژه‌های Firebase مختلفی را برای محیط‌های مختلف راه‌اندازی می‌کنید، مانند مرحله‌بندی و تولید، مهم است که هر نمونه برنامه با پروژه Firebase مربوطه خود تعامل داشته باشد. به عنوان مثال، نمونه برنامه استیجینگ شما هرگز نباید با پروژه Firebase تولیدی شما صحبت کند. این همچنین به این معنی است که برنامه مرحله‌بندی شما باید از کلیدهای API مرتبط با پروژه مرحله‌بندی Firebase شما استفاده کند.

برای کاهش مشکلات ترویج تغییرات کد از توسعه به مرحله‌بندی تا تولید، به جای قرار دادن کلیدهای API در خود کد، آنها را به عنوان متغیرهای محیطی تنظیم کنید یا در یک فایل پیکربندی قرار دهید.

توجه داشته باشید که اگر از Firebase Local Emulator Suite برای توسعه همراه با Firebase ML استفاده می کنید، باید یک کلید API فقط اشکال زدایی ایجاد کرده و از آن استفاده کنید. دستورالعمل های ایجاد این نوع کلید در اسناد Firebase ML یافت می شود.

سوالات متداول و عیب یابی

سوالات متداول

بله، به‌طور پیش‌فرض، همه کلیدهای API که Firebase برای استفاده با APIهای مرتبط با Firebase فراهم می‌کند، «محدودیت‌های API» را به‌طور خودکار اعمال می‌کنند. فهرست API های مرتبط با Firebase را که در این لیست مجاز قرار دارند، ببینید.

APIهای اضافه شده به این لیست مجاز، آن دسته از APIهایی هستند که توسط سرویس های Firebase از کد مشتری فراخوانی می شوند و برای شناسایی پروژه یا برنامه Firebase شما به کلیدهای API نیاز دارند. توجه داشته باشید که اکثر API های مورد نیاز برای استفاده از سرویس های Firebase در واقع نیازی به قرار گرفتن در لیست مجاز کلیدهای API شما ندارند.

از آنجایی که Firebase API های لازم را برای همه سرویس های Firebase اضافه می کند، لیست مجاز برای یک کلید API ممکن است شامل API هایی برای محصولاتی باشد که شما استفاده نمی کنید. می‌توانید APIها را از لیست مجاز حذف کنید، اما باید بسیار مراقب باشید که APIهای مورد نیاز برای Firebase و سرویس‌های Firebase را که استفاده می‌کنید حذف نکنید ( لیست API‌های مرتبط با Firebase را که باید در لیست مجاز برای هر سرویس/محصول وجود داشته باشند، ببینید). در غیر این صورت، هنگام برقراری تماس با خدمات Firebase با خطا مواجه خواهید شد.

می‌توانید همه کلیدهای API خود و «محدودیت‌های API» آنها را در قسمت APIs & Services > Credentials در کنسول Google Cloud مشاهده کنید.

در مورد نحوه اعمال «محدودیت‌های API» Firebase به موارد زیر توجه کنید:

  • از ماه مه 2024، همه کلیدهای API جدید ارائه شده توسط Firebase به طور خودکار به فهرست APIهای مرتبط با Firebase محدود می شوند.

  • در ماه می 2024، تمام کلیدهای API موجود و نامحدودی که Firebase قبلاً به صورت خودکار ارائه کرده بود، به فهرست APIهای مرتبط با Firebase به اضافه هر یک از APIهای فعال در حال حاضر پروژه محدود می‌شوند.

  • هیچ کلید API موجود و از قبل محدود شده ای که Firebase قبلاً به صورت خودکار ارائه کرده بود، تغییر نکرد.

  • کلیدهای API موجود که به صورت خودکار توسط Firebase ارائه نشده بودند، تغییر نکردند.

برای تعیین اینکه کدام کلید API با برنامه Firebase شما مرتبط است، می توانید از یکی از گزینه های زیر استفاده کنید:

  1. به تنظیمات پروژه بروید و سپس به سمت پایین به کارت برنامه های شما بروید.

  2. برنامه مورد علاقه را انتخاب کنید.

  3. فایل/شیء پیکربندی Firebase را برای برنامه مورد نظر دریافت کنید و سپس کلید API آن را پیدا کنید:

    • Apple : GoogleService-Info.plist را دانلود کنید و سپس قسمت API_KEY پیدا کنید

    • Android : google-services.json را دانلود کنید، پیکربندی برنامه مورد نظر را پیدا کنید (نام بسته آن را جستجو کنید)، و سپس فیلد current_key را پیدا کنید.

    • Web : گزینه Config را انتخاب کنید و سپس قسمت apiKey را پیدا کنید

  1. با اجرای دستور زیر، فایل/شیء پیکربندی Firebase را برای برنامه مورد نظر دریافت کنید:

    firebase apps:sdkconfig PLATFORM FIREBASE_APP_ID
  2. در پیکربندی Firebase چاپ شده برنامه، کلید API آن را پیدا کنید:

    • Apple : فیلد API_KEY را پیدا کنید

    • Android : پیکربندی برنامه مورد نظر را پیدا کنید (نام بسته آن را جستجو کنید)، و سپس فیلد current_key را پیدا کنید

    • وب : فیلد apiKey را پیدا کنید

  1. apiKeyId (UID) کلید API را با فراخوانی نقطه پایانی قابل اجرا برای برنامه مورد نظر، و سپس ارسال مقدار apiKeyId به مرحله بعد، دریافت کنید.

  2. رشته کلید API را با فراخوانی projects.locations.keys.getKeyString دریافت کنید.

    این keyString همان مقداری است که در آرتیفکت پیکربندی برنامه ( اپل | اندروید | وب ) یافت می شود.

  • Firebase Apple Apps – هر برنامه فایل پیکربندی مخصوص به خود را دارد و می تواند تنها یک کلید API را در لیست داشته باشد.

  • برنامه‌های Android Firebase - همه برنامه‌های Android در پروژه Firebase در یک فایل پیکربندی فهرست شده‌اند و هر برنامه فقط می‌تواند یک کلید API فهرست شده داشته باشد. با این حال، هر برنامه در این فایل پیکربندی می‌تواند یک کلید متفاوت در لیست داشته باشد.

  • برنامه های وب Firebase - هر برنامه دارای شی پیکربندی خاص خود است و می تواند فقط یک کلید API را در لیست داشته باشد.

با این حال، می توانید از چندین کلید API با یک برنامه استفاده کنید. شما باید مکانیزمی را برای برنامه خود فراهم کنید تا به این کلیدهای API دیگر دسترسی داشته باشد، مانند یک متغیر محیطی. مکانیسم دسترسی به سایر کلیدهای API نمی تواند به فهرست آن کلیدهای API در فایل/شیء پیکربندی Firebase بستگی داشته باشد.

هنگامی که برای اولین بار فایل/شیء پیکربندی Firebase برنامه خود را دریافت می‌کنید ، Firebase بررسی می‌کند که آیا کلیدهای API موجود در پروژه شما دارای «محدودیت‌های برنامه» هستند که با برنامه مطابقت دارند (به عنوان مثال، شناسه بسته منطبق برای برنامه Apple).

اگر Firebase هیچ کلید محدودی را پیدا نکرد که مطابقت داشته باشد، iOS key برای برنامه‌های Apple، Android key برای برنامه‌های Android و Browser key برای برنامه‌های وب را در فایل پیکربندی/اشیاء فهرست می‌کند (با فرض اینکه این کلیدها وجود داشته باشند و «محدودیت‌های برنامه» نداشته باشند که مانع از تطبیق آنها با آن برنامه شود).

بله، می‌توانید کلید API خود را به صورت دستی از فایل/شیء پیکربندی خود حذف کنید. با این حال، شما باید مکانیسم دیگری برای دسترسی برنامه خود به یک کلید API (مانند از طریق یک متغیر محیطی) فراهم کنید . در غیر این صورت، هر تماسی با خدمات Firebase ناموفق خواهد بود.

بله، می‌توانید به صورت دستی یک فایل/شیء پیکربندی را ویرایش کنید تا یک کلید API دیگر را با یک برنامه مرتبط کنید.

توجه داشته باشید که اگر فایل/شیء پیکربندی برنامه خود را مجدداً از کنسول دریافت کنید، همیشه کلیدهای API را که Firebase به طور خودکار با آن برنامه مطابقت می‌دهد فهرست می‌کند. بنابراین، در صورت نیاز، باید ویرایش های دستی خود را تکرار کنید.

خیر، یک کلید API فقط یک پروژه خاص را شناسایی می کند و نمی تواند به پروژه دیگری منتقل شود.

اگر یک کلید API را که توسط یک برنامه استفاده می شود حذف کنید، تماس های API از آن برنامه با شکست مواجه می شوند. ممکن است گزارش‌ها، ایمیل‌ها یا خطاهایی دریافت کنید که می‌خواهید از کلید API استفاده کنید که نامعتبر است.

حذف یک کلید API دائمی است و قابل بازگشت نیست.

برای یک کلید API Firebase، تنها APIهایی که باید در لیست مجاز «محدودیت‌های API» کلید قرار گیرند، APIهایی هستند که از مشتری می‌خواهند یک کلید API را همراه با تماس ارائه کند. توجه داشته باشید که تعداد بسیار کمی از APIهای مرتبط با Firebase این نیاز را دارند. لازم نیست اکثر APIهای مرتبط با Firebase که در پروژه شما فعال هستند در لیست مجاز "محدودیت های API" کلید قرار داشته باشند.

از جدول زیر برای تعیین اینکه کدام APIهای مرتبط با Firebase باید در لیست مجاز «محدودیت‌های API» برای یک کلید API Firebase گنجانده شوند، استفاده کنید. به یاد داشته باشید، کلیدهای Firebase API فقط باید برای خدمات Firebase استفاده شوند. درباره ایجاد کلیدهای API مجزا و محدود برای انواع خاصی از API بیشتر بیاموزید.

می‌توانید کلیدهای API پروژه خود را در APIs & Services > پنل اعتبارنامه‌ها در کنسول Google Cloud مشاهده و مدیریت کنید.

نام API (نام سرویس) نام نمایشی API Firebase مرتبط
خدمات / محصول
firebase.googleapis.com Firebase Management API همه محصولات
logging.googleapis.com Cloud Logging API همه محصولات
firebaseinstallations.googleapis.com Firebase Installations API Cloud Messaging ، Crashlytics ، In-App Messaging ، Performance Monitoring ، Remote Config ، Firebase ML
firebaseappcheck.googleapis.com Firebase App Check API App Check
firebaseappdistribution.googleapis.com Firebase App Distribution API App Distribution
firebaseapptesters.googleapis.com Firebase App Testers API App Distribution
identitettoolkit.googleapis.com Identity Toolkit API Authentication
SecureToken.googleapis.com Token Service API Authentication
firebaserules.googleapis.com * Firebase Rules API Cloud Firestore ، Cloud Storage ، Realtime Database
datastore.googleapis.com Cloud Datastore API Cloud Firestore
firestore.googleapis.com Google Cloud Firestore API Cloud Firestore
fcmregistrations.googleapis.com API ثبت FCM Cloud Messaging
firebasestorage.googleapis.com Cloud Storage برای Firebase API Cloud Storage
firebasedynamiclinks.googleapis.com Firebase Dynamic Links API Dynamic Links
firebasehosting.googleapis.com * Firebase Hosting API Hosting
firebaseinappmessaging.googleapis.com Firebase In-App Messaging API In-App Messaging
firebaseml.googleapis.com Firebase ML API Firebase ML
mlkit.googleapis.com ** ML Kit API Firebase ML
mobilecrashreporting.googleapis.com API گزارش خرابی موبایل Performance Monitoring
play.googleapis.com Google Play Android Developer API Performance Monitoring
firebaseremoteconfig.googleapis.com Firebase Remote Config API Performance Monitoring ، Remote Config
firebaseremoteconfigrealtime.googleapis.com Firebase Remote Config Realtime API Performance Monitoring ، Remote Config
cloudconfig.googleapis.com ** N/A Remote Config
firebasedatabase.googleapis.com * Firebase Realtime Database API Realtime Database
firebasevertexai.googleapis.com Vertex AI در Firebase API Vertex AI در Firebase

* فقط در صورت استفاده از کلید API Firebase با ابزارهای شخص ثالث یا دسترسی مستقیم REST به سرویس / محصول Firebase لازم است.

** برای نسخه های قبلی SDK محصول مورد نیاز است. اگر از آخرین نسخه SDK استفاده می‌کنید، نیازی نیست که API در لیست مجاز کلید باشد.

عیب یابی

اگر با یک خطای API_KEY_SERVICE_BLOCKED یا خطایی شبیه به زیر می‌شوید، دستورالعمل‌های این پرسش‌های متداول را دنبال کنید:

Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.

کلید API که برنامه شما برای فراخوانی API استفاده می‌کند احتمالاً دارای «محدودیت‌های API» است و فهرست مجاز کلید شامل آن API نمی‌شود.

کلید API استفاده شده توسط برنامه وب شما احتمالاً دارای "محدودیت های API" است. در این صورت، مطمئن شوید که Firebase Management API در لیست API های مجاز است.

در اینجا چند مورد از رایج ترین دلایل کلیدهای API نامعتبر آورده شده است:

  • کلید API دارای «محدودیت‌های کلیدی API» روی آن اعمال شده است که باعث می‌شود آن را با برنامه‌ای که تلاش می‌کند از کلید استفاده کند («محدودیت‌های برنامه») یا برای API نام‌گذاری شده غیرقابل استفاده («محدودیت‌های API») مطابقت نداشته باشد.

  • کلید API از پروژه در کنسول Google Cloud حذف شد.

  • کلید API برای شناسه پروژه فهرست شده در فایل/شیء پیکربندی Firebase برنامه ایجاد نشده است.

یکی از راه های رفع این مشکل این است که نسخه به روز شده فایل/شیء پیکربندی Firebase برنامه خود را دریافت کنید ، سپس فایل/شیء پیکربندی قدیمی خود را با فایل/شیء به روز شده جدید جایگزین کنید . قبل از ارسال یک فایل پیکربندی برای دانلود یا نمایش یک شیء پیکربندی در کنسول، Firebase بررسی می‌کند که کلید(های) API فهرست شده با برنامه(های) مطابقت داشته باشد .