کلید API یک رشته منحصر به فرد است که برای هدایت درخواستها به پروژه Firebase شما هنگام تعامل با سرویسهای Firebase و Google استفاده میشود. این صفحه اطلاعات اولیه در مورد کلیدهای API و همچنین بهترین شیوهها برای استفاده و مدیریت کلیدهای API با برنامههای Firebase را شرح میدهد.
اطلاعات عمومی در مورد کلیدهای API و Firebase
کلیدهای API برای Firebase با کلیدهای API معمولی متفاوت هستند
برخلاف نحوهی معمول استفاده از کلیدهای API، کلیدهای API برای سرویسهای Firebase برای کنترل دسترسی به منابع backend استفاده نمیشوند ؛ این کار فقط با استفاده از Firebase Security Rules (برای کنترل اینکه کدام کاربران نهایی میتوانند به منابع دسترسی داشته باشند) و Firebase App Check (برای کنترل اینکه کدام برنامهها میتوانند به منابع دسترسی داشته باشند) قابل انجام است.
معمولاً، شما باید با دقت از کلیدهای API محافظت کنید (برای مثال، با استفاده از یک سرویس vault یا تنظیم کلیدها به عنوان متغیرهای محیطی)؛ با این حال، کلیدهای API برای سرویسهای Firebase برای قرار دادن در کد یا فایلهای پیکربندی check-in مشکلی ندارند.
اگرچه کلیدهای API برای سرویسهای Firebase برای قرار دادن در کد بیخطر هستند، اما باید آنها را بررسی کرده و محدودیتها و محدودیتهای مناسبی را برای آنها اعمال کنید .
ایجاد کلیدهای API
یک پروژه Firebase میتواند کلیدهای API زیادی داشته باشد، اما هر کلید API فقط میتواند به یک پروژه Firebase مرتبط باشد.

فایربیس به طور خودکار کلیدهای API را برای پروژه شما ایجاد میکند، زمانی که هر یک از موارد زیر را انجام دهید:
- ایجاد یک پروژه Firebase > ایجاد خودکار
Browser key - ایجاد یک برنامه اپل Firebase > ایجاد خودکار
iOS key - ایجاد یک برنامه اندروید Firebase > ایجاد خودکار
Android key
همچنین میتوانید کلیدهای API خودتان را در کنسول Google Cloud ایجاد کنید، مثلاً برای توسعه یا اشکالزدایی . در ادامهی این صفحه، دربارهی زمان توصیهی این کار بیشتر بدانید.
پیدا کردن کلیدهای API شما
شما میتوانید تمام کلیدهای API پروژه خود را در پنل APIs & Services > Credentials در کنسول Google Cloud مشاهده و مدیریت کنید.
همچنین میتوانید در مکانهای زیر ببینید که کدام کلید API به طور خودکار با یک برنامه Firebase مطابقت دارد . به طور پیشفرض، تمام برنامههای Firebase پروژه شما برای یک پلتفرم مشابه (اپل، اندروید و وب) از یک کلید API مشابه استفاده میکنند.
برنامههای اپل فایربیس - کلید API منطبق خودکار را در فایل پیکربندی فایربیس،
، در فیلدGoogleService-Info.plist API_KEYپیدا کنید.برنامههای اندروید فایربیس - کلید API تطبیق خودکار را در فایل پیکربندی فایربیس،
، در فیلدgoogle-services.json current_keyپیدا کنید.برنامههای وب فایربیس - کلید API منطبق خودکار را در شیء پیکربندی فایربیس، در فیلد
apiKeyپیدا کنید.
استفاده از کلید API
کلیدهای API برای Firebase برای شناسایی پروژه Firebase شما هنگام تعامل با سرویسهای Firebase یا Google استفاده میشوند. به طور خاص، از آنها برای مرتبط کردن درخواستهای API با پروژه شما برای سهمیهبندی و صدور صورتحساب استفاده میشود. آنها همچنین برای دسترسی به دادههای عمومی مفید هستند.
برای اکثر توسعهدهندگان و موارد استفاده، شما مستقیماً با این کلیدهای API تعامل ندارید. در عوض، وقتی برنامه شما یک API فایربیس را فراخوانی میکند که به یک کلید API ارائه شده توسط کلاینت موبایل یا وب نیاز دارد، برنامه شما به طور خودکار به دنبال یک کلید API در پیکربندی فایربیس برنامه شما میگردد. این پیکربندی هنگام اتصال برنامه شما به فایربیس به کدبیس برنامه شما اضافه شده است.
توجه داشته باشید که میتوانید کلید API برنامه خود را با استفاده از مکانیسمهای متفاوتی مانند گزینههای Firebase یا استفاده از متغیرهای محیطی، درون برنامه خود ارائه دهید.
همچنین، برای تعدادی از APIهای REST برای سرویسهای Firebase، ممکن است لازم باشد مقدار کلید API را به صورت صریح به عنوان پارامتر پرسوجو به فراخوانی ارسال کنید. این مثال نشان میدهد که چگونه میتوانید با استفاده از API Firebase Authentication درخواستی ارسال کنید:
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=API_KEY
بررسی و اعمال محدودیتهای مناسب برای کلیدهای API (توصیه میشود)
اگرچه لازم نیست با کلید API برای سرویسهای Firebase به عنوان یک راز رفتار کنید، اما باید محدودیتها و ضوابطی را که در این بخش توضیح داده شده است، بررسی و اعمال کنید.
APIهایی که به طور خودکار به لیست مجاز کلیدهای API فایربیس شما اضافه شدهاند را بررسی کنید.
وقتی فایربیس یک کلید API در پروژه شما ایجاد میکند، ما به طور خودکار "محدودیتهای API" را به آن کلید اضافه میکنیم. APIهای اضافه شده به این لیست مجاز، APIهای مرتبط با فایربیس هستند که از کلاینت میخواهند یک کلید API را همراه با فراخوانی ارائه دهد. توجه داشته باشید که اکثر APIهای مورد نیاز برای استفاده از سرویسهای فایربیس در واقع نیازی به قرار گرفتن در لیست مجاز کلیدهای API شما ندارند.
از آنجایی که فایربیس APIهای لازم را برای همه سرویسهای فایربیس اضافه میکند، لیست مجاز برای یک کلید API ممکن است شامل APIهایی برای محصولاتی باشد که شما استفاده نمیکنید. میتوانید APIها را از لیست مجاز حذف کنید، اما باید بسیار مراقب باشید که APIهای مورد نیاز برای فایربیس و سرویسهای فایربیس مورد استفاده خود را حذف نکنید (به لیست APIهای مرتبط با فایربیس که باید برای هر سرویس/محصول در لیست مجاز باشند مراجعه کنید). در غیر این صورت، هنگام فراخوانی سرویسهای فایربیس با خطا مواجه خواهید شد.
اگر از Authentication مبتنی بر رمز عبور استفاده میکنید، سهمیه را محدودتر کنید
اگر Firebase Authentication مبتنی بر رمز عبور استفاده میکنید و شخصی کلید API شما را به دست آورد، تا زمانی که این دادهها توسط Firebase Security Rules محافظت شوند، نمیتوانند به هیچ یک از پایگاههای داده یا دادههای Cloud Storage پروژه Firebase شما دسترسی پیدا کنند. با این حال، آنها میتوانند از کلید API شما برای دسترسی به نقاط پایانی احراز هویت Firebase استفاده کرده و درخواستهای احراز هویت را علیه پروژه شما ارسال کنند.
برای کاهش احتمال سوءاستفادهی شخصی از کلید API برای انجام حملهی brute force، میتوانید سهمیهی پیشفرض نقاط پایانی identitytoolkit.googleapis.com را محدود کنید تا منعکسکنندهی انتظارات ترافیکی عادی برنامهی شما باشد. توجه داشته باشید که اگر این سهمیه را محدود کنید و برنامهی شما ناگهان کاربران بیشتری جذب کند، ممکن است تا زمانی که سهمیه را افزایش دهید، با خطاهای ورود به سیستم مواجه شوید. میتوانید سهمیههای API پروژهی خود را در کنسول Google Cloud تغییر دهید.
برای هر سرویس غیر فایربیس از کلیدهای API جداگانه و محدود استفاده کنید
اگرچه کلیدهای API مورد استفاده برای سرویسهای Firebase معمولاً نیازی به محرمانه بودن ندارند، اما باید اقدامات احتیاطی بیشتری را در مورد کلیدهای API که با سایر APIهای Google Cloud استفاده میکنید، انجام دهید.
اگر از یک API Google Cloud (روی هر پلتفرمی) استفاده میکنید که برای سرویس/محصول فایربیس نیست، اکیداً توصیه میکنیم کلیدهای API جداگانه و محدود شدهای برای استفاده با آن APIها ایجاد کنید. این امر به ویژه در صورتی اهمیت دارد که API برای یک سرویس Google Cloud قابل پرداخت باشد.
برای مثال، اگر از Firebase ML و APIهای Cloud Vision در iOS استفاده میکنید، باید کلیدهای API جداگانهای ایجاد کنید که فقط برای دسترسی به APIهای Cloud Vision از آنها استفاده کنید.
با استفاده از کلیدهای API جداگانه و محدود برای APIهای غیر Firebase، میتوانید در صورت لزوم کلیدها را بچرخانید یا جایگزین کنید و محدودیتهای بیشتری را به کلیدهای API اضافه کنید بدون اینکه استفاده شما از سرویسهای Firebase مختل شود.
این دستورالعملها نحوه ایجاد یک کلید API جداگانه و محدود برای یک API جعلی به نام Super Service API را شرح میدهند.
مرحله ۱: کلیدهای API موجود خود را پیکربندی کنید تا دسترسی به Super Service API را غیرفعال کنید
صفحه Credentials کنسول Google Cloud را باز کنید. در صورت درخواست، پروژه خود را انتخاب کنید.
برای هر کلید API موجود در لیست، نمای ویرایش را باز کنید.
در بخش محدودیتهای API ، گزینه Restrict key را انتخاب کنید، سپس تمام APIهایی را که میخواهید کلید API به آنها دسترسی داشته باشد، به لیست اضافه کنید. مطمئن شوید که APIای را که برای آن کلید API جداگانه ایجاد میکنید (در این مثال،
Super Service API) را وارد نکنید .وقتی محدودیتهای API یک کلید API را پیکربندی میکنید، به صراحت APIهایی را که کلید به آنها دسترسی دارد، اعلام میکنید. به طور پیشفرض، وقتی در بخش محدودیتهای API ، گزینه «کلید را محدود نکنید» انتخاب شده باشد، میتوان از کلید API برای دسترسی به هر API فعال شده برای پروژه استفاده کرد.
اکنون، کلیدهای API موجود شما به Super Service API دسترسی نخواهند داد، اما هر کلید برای هر API که به لیست محدودیتهای API آن اضافه کردهاید، به کار خود ادامه خواهد داد.
مرحله ۲: یک کلید API جدید برای دسترسی به Super Service API ایجاد و استفاده کنید
به صفحه اعتبارنامهها برگردید. مطمئن شوید که پروژه Firebase شما هنوز انتخاب شده است.
روی ایجاد اعتبارنامهها > کلید API کلیک کنید. کلید API جدید را یادداشت کنید، سپس روی محدود کردن کلید کلیک کنید.
در بخش محدودیتهای API ، گزینه Restrict key را انتخاب کنید، سپس فقط
Super Service APIبه لیست اضافه کنید.این کلید API جدید فقط به
Super Service APIدسترسی میدهد.برنامه و سرویسهای خود را برای استفاده از کلید 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 شما ندارند.
از آنجایی که فایربیس APIهای لازم را برای همه سرویسهای فایربیس اضافه میکند، لیست مجاز برای یک کلید API ممکن است شامل APIهایی برای محصولاتی باشد که شما استفاده نمیکنید. میتوانید APIها را از لیست مجاز حذف کنید، اما باید بسیار مراقب باشید که APIهای مورد نیاز برای فایربیس و سرویسهای فایربیس مورد استفاده خود را حذف نکنید (به لیست APIهای مرتبط با فایربیس که باید برای هر سرویس/محصول در لیست مجاز باشند مراجعه کنید). در غیر این صورت، هنگام فراخوانی سرویسهای فایربیس با خطا مواجه خواهید شد.
شما میتوانید تمام کلیدهای API خود و «محدودیتهای API» آنها را در پنل APIها و خدمات > اعتبارنامهها در کنسول Google Cloud مشاهده کنید.
به موارد زیر در مورد نحوه اعمال این "محدودیتهای API" توسط Firebase توجه کنید:
از ماه مه 2024، تمام کلیدهای API جدید که به صورت خودکار توسط Firebase ارائه میشوند، به طور خودکار به لیست APIهای مرتبط با Firebase محدود میشوند.
در طول ماه مه ۲۰۲۴، تمام کلیدهای API موجود و بدون محدودیت که Firebase قبلاً به صورت خودکار ارائه کرده بود، به لیست APIهای مرتبط با Firebase به علاوه هر یک از APIهای فعال فعلی پروژه محدود میشوند.
هیچ یک از کلیدهای API موجود و از قبل محدود شده که Firebase قبلاً به صورت خودکار ارائه کرده بود، تغییر نکردند.
هیچ یک از کلیدهای API موجود که توسط Firebase به صورت خودکار ارائه نشده بودند، تغییر داده نشدند.
میتوانید از هر یک از گزینههای زیر برای تعیین اینکه کدام کلید API با برنامه Firebase شما مرتبط است، استفاده کنید:
کنسول Firebase
به پروژه بروید و سپس به کارت برنامههای شما (Your apps ) بروید.
برنامه مورد علاقه را انتخاب کنید.
فایل/شیء پیکربندی Firebase را برای برنامه مورد نظر خود دریافت کنید و سپس کلید API آن را پیدا کنید:
اپل : فایل
GoogleService-Info.plistرا دانلود کنید و سپس فیلدAPI_KEYپیدا کنید.اندروید : فایل
google-services.jsonرا دانلود کنید، فایل پیکربندی برنامه مورد نظر (نام بسته آن را جستجو کنید) را پیدا کنید و سپس فیلدcurrent_keyرا پیدا کنید.وب : گزینه پیکربندی را انتخاب کنید و سپس فیلد
apiKeyرا پیدا کنید
رابط خط فرمان Firebase
با اجرای دستور زیر، فایل/شیء پیکربندی Firebase را برای برنامه مورد نظر خود دریافت کنید:
firebase apps:sdkconfig PLATFORM FIREBASE_APP_ID
- PLATFORM (یکی از موارد):
IOS|ANDROID|WEB - FIREBASE_APP_ID : شناسه منحصر به فرد اختصاص داده شده توسط Firebase برای برنامه Firebase شما ( شناسه برنامه خود را پیدا کنید )
- PLATFORM (یکی از موارد):
در پیکربندی Firebase چاپشدهی برنامه، کلید API آن را پیدا کنید:
اپل : فیلد
API_KEYرا پیدا کنیداندروید : فایل پیکربندی برنامه مورد نظر (نام بسته آن را جستجو کنید) و سپس فیلد
current_keyرا پیدا کنید.وب : فیلد
apiKeyرا پیدا کنید
API رست
با فراخوانی نقطه پایانی مربوط به برنامه مورد نظر،
apiKeyId(شناسه رابط کاربری) کلید API را بدست آورید و سپس مقدارapiKeyIdرا به مرحله بعدی منتقل کنید.- اپل : با
projects.iosApps.getتماس بگیرید - اندروید : فراخوانی
projects.androidApps.get - وب : فراخوانی
projects.webApps.get
- اپل : با
رشته کلید API را با فراخوانی
projects.locations.keys.getKeyStringبه دست آورید.این
keyStringهمان مقداری است که در پیکربندی برنامه ( Apple | Android | Web ) یافت میشود.
برنامههای اپل فایربیس - هر برنامه فایل پیکربندی مخصوص به خود را دارد و میتواند فقط یک کلید API در آن فهرست شود.
برنامههای اندروید فایربیس - تمام برنامههای اندروید در پروژه فایربیس در یک فایل پیکربندی فهرست شدهاند و هر برنامه فقط میتواند یک کلید API فهرست شده داشته باشد. البته هر برنامه در این فایل پیکربندی میتواند یک کلید متفاوت فهرست شده داشته باشد.
برنامههای وب فایربیس - هر برنامه شیء پیکربندی مخصوص به خود را دارد و میتواند فقط یک کلید API فهرستشده داشته باشد.
با این حال، میتوانید از چندین کلید API در یک برنامه استفاده کنید. شما باید مکانیزمی برای برنامه خود فراهم کنید تا به این کلیدهای API دیگر دسترسی داشته باشد، مثلاً از طریق یک متغیر محیطی. مکانیزم دسترسی به سایر کلیدهای API نمیتواند به لیست شدن آن کلیدهای API در فایل/شیء پیکربندی Firebase شما بستگی داشته باشد.
وقتی برای اولین بار فایل/شیء پیکربندی Firebase برنامه خود را دریافت میکنید ، Firebase بررسی میکند که آیا کلیدهای API موجود در پروژه شما دارای "محدودیتهای برنامه" مطابق با برنامه هستند یا خیر (برای مثال، یک شناسه بسته منطبق برای برنامه Apple).
اگر فایربیس هیچ کلید محدود شدهای که با آن مطابقت داشته باشد پیدا نکند، در فایل/شیء پیکربندی iOS key برای برنامههای اپل، Android key برای برنامههای اندروید و Browser key برای برنامههای وب را فهرست میکند (با فرض اینکه این کلیدها وجود دارند و هیچ «محدودیت برنامهای» که مانع از تطبیق آنها با آن برنامه شود، ندارند).
بله، میتوانید کلید API خود را به صورت دستی از فایل/شیء پیکربندی خود حذف کنید. با این حال، باید مکانیزم دیگری برای دسترسی برنامه خود به کلید API (مانند از طریق یک متغیر محیطی) فراهم کنید . در غیر این صورت، هرگونه فراخوانی به سرویسهای Firebase با شکست مواجه خواهد شد.
بله، شما میتوانید به صورت دستی یک فایل/شیء پیکربندی را ویرایش کنید تا یک کلید API متفاوت را با یک برنامه مرتبط کنید.
توجه داشته باشید که اگر فایل/شیء پیکربندی برنامه خود را دوباره از کنسول دریافت کنید ، همیشه کلیدهای API که Firebase به طور خودکار با آن برنامه مطابقت میدهد را فهرست میکند. بنابراین، در صورت نیاز باید ویرایشهای دستی خود را تکرار کنید.
خیر، یک کلید API فقط یک پروژه خاص را مشخص میکند و نمیتوان آن را به پروژه دیگری منتقل کرد.
اگر یک کلید API که توسط یک برنامه در حال استفاده است را حذف کنید، فراخوانیهای API از آن برنامه با شکست مواجه میشوند. ممکن است گزارشها، ایمیلها یا خطاهایی مبنی بر تلاش برای استفاده از یک کلید API نامعتبر دریافت کنید.
حذف کلید API دائمی است و قابل بازگشت نیست.
برای یک کلید API فایربیس، تنها APIهایی که باید در فهرست مجاز «محدودیتهای API» کلید باشند، APIهایی هستند که از کلاینت میخواهند همراه با فراخوانی، یک کلید API ارائه دهد. توجه داشته باشید که تعداد بسیار کمی از APIهای مرتبط با فایربیس این الزام را دارند. اکثر APIهای مرتبط با فایربیس که در پروژه شما فعال شدهاند، نیازی به قرار گرفتن در فهرست مجاز «محدودیتهای API» کلید ندارند.
از جدول زیر برای تعیین اینکه کدام APIهای مرتبط با Firebase باید در لیست مجاز "محدودیتهای API" برای کلید API Firebase گنجانده شوند، استفاده کنید. به یاد داشته باشید، کلیدهای API Firebase فقط باید برای سرویسهای Firebase استفاده شوند. درباره ایجاد کلیدهای API جداگانه و محدود برای انواع خاص APIها بیشتر بیاموزید.
شما میتوانید کلیدهای API پروژه خود را در پنل APIs & Services > Credentials در کنسول Google Cloud مشاهده و مدیریت کنید.
| نام API (نام سرویس) | نام نمایشی API | فایربیس مرتبط خدمات / محصول |
|---|---|---|
| firebase.googleapis.com | رابط برنامهنویسی کاربردی مدیریت فایربیس | همه محصولات |
| logging.googleapis.com | API ثبت وقایع ابری | همه محصولات |
| firebaseinstallations.googleapis.com | API نصب فایربیس | Cloud Messaging ، Crashlytics ، In-App Messaging ، Performance Monitoring ، Remote Config ، Firebase ML |
| firebaseappcheck.googleapis.com | API بررسی برنامه Firebase | App Check |
| firebaseappdistribution.googleapis.com | API توزیع برنامه Firebase | App Distribution |
| firebaseapptesters.googleapis.com | API آزمایشکنندگان برنامه فایربیس | App Distribution |
| identitytoolkit.googleapis.com | رابط برنامهنویسی کاربردی (API) جعبه ابزار هویت | Authentication |
| securetoken.googleapis.com | API سرویس توکن | Authentication |
| firebaserules.googleapis.com * | API قوانین فایربیس | Cloud Firestore ، Cloud Storage ، Realtime Database |
| datastore.googleapis.com | API فروشگاه داده ابری | Cloud Firestore |
| firestore.googleapis.com | رابط برنامهنویسی کاربردی گوگل کلود فایراستور | Cloud Firestore |
| fcmregistrations.googleapis.com | API ثبت نام FCM | Cloud Messaging |
| firebasestorage.googleapis.com | فضای ذخیرهسازی ابری برای Firebase API | Cloud Storage |
| firebasedynamiclinks.googleapis.com | API لینکهای پویای فایربیس | Dynamic Links |
| firebasehosting.googleapis.com * | API میزبانی فایربیس | Hosting |
| firebaseinappmessaging.googleapis.com | API پیامرسانی درونبرنامهای فایربیس | In-App Messaging |
| firebaseml.googleapis.com | رابط برنامهنویسی کاربردی فایربیس | Firebase ML |
| mlkit.googleapis.com ** | API کیت ML | Firebase ML |
| mobilecrashreporting.googleapis.com | API گزارش خرابی موبایل | Performance Monitoring |
| play.googleapis.com | API توسعهدهندگان اندروید گوگل پلی | Performance Monitoring |
| firebaseremoteconfig.googleapis.com | API پیکربندی از راه دور فایربیس | Performance Monitoring ، Remote Config |
| firebaseremoteconfigrealtime.googleapis.com | پیکربندی از راه دور فایربیس، API بلادرنگ | Performance Monitoring ، Remote Config |
| cloudconfig.googleapis.com ** | ناموجود | Remote Config |
| firebasedatabase.googleapis.com * | API پایگاه داده بلادرنگ فایربیس | Realtime Database |
| firebasevertexai.googleapis.com | رابط برنامهنویسی کاربردی منطق هوش مصنوعی فایربیس | SDK های کلاینت Firebase AI Logic |
| fpnv.googleapis.com | API تأیید شماره تلفن Firebase | Firebase Phone Number Verification |
* فقط در صورتی که از کلید API فایربیس با ابزارهای شخص ثالث یا دسترسی مستقیم REST به سرویس/محصول فایربیس استفاده میکنید، مورد نیاز است.
** برای نسخههای قبلی 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 را شامل نمیشود.
اگر هنگام تلاش برای استفاده از یک سرویس/محصول مرتبط با Firebase با این خطا مواجه میشوید، مطمئن شوید که کلید API مورد استفاده شما، تمام APIهای مورد نیاز را در لیست مجاز «محدودیتهای API» کلید، داشته باشد.
اگر هنگام تلاش برای استفاده از یک سرویس غیر Firebase با این خطا مواجه میشوید، اکیداً توصیه میکنیم یک کلید API جدید مخصوص آن سرویس و API ایجاد کنید. کلیدهای API Firebase فقط باید برای سرویسها/محصولات Firebase استفاده شوند. درباره ایجاد کلیدهای API جداگانه و محدود برای انواع خاص APIها بیشتر بدانید.
احتمالاً کلید API مورد استفاده توسط برنامه وب شما دارای "محدودیتهای API" است. در این صورت، مطمئن شوید که API مدیریت Firebase در لیست APIهای مجاز قرار دارد.
در اینجا چند مورد از رایجترین دلایل کلیدهای API نامعتبر آورده شده است:
کلید API دارای «محدودیتهای کلید API» است که آن را برای برنامهای که سعی در استفاده از کلید دارد («محدودیتهای برنامه») غیرقابل تطبیق یا برای API فراخوانی شده («محدودیتهای API») غیرقابل استفاده میکند.
کلید API از پروژه در کنسول Google Cloud حذف شده است.
کلید API برای شناسه پروژه ذکر شده در فایل/شیء پیکربندی Firebase برنامه ایجاد نشده است.
یک راه برای رفع این مشکل، دریافت نسخه بهروز شده فایل/شیء پیکربندی Firebase برنامه شما و سپس جایگزینی فایل/شیء پیکربندی قدیمی با فایل/شیء بهروزرسانی شده جدید است. قبل از ارسال فایل پیکربندی برای دانلود یا نمایش یک شیء پیکربندی در کنسول، Firebase بررسی میکند که کلید(های) API فهرست شده با برنامه(ها) مطابقت داشته باشد .