معلومات عن استخدام مفاتيح واجهة برمجة التطبيقات وإدارتها لمنصة Firebase
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
مفتاح واجهة برمجة التطبيقات هو سلسلة فريدة تُستخدَم لتوجيه الطلبات إلى مشروعك على Firebase عند التفاعل مع Firebase وخدمات Google. تصف هذه الصفحة
الأساسية حول مفاتيح واجهة برمجة التطبيقات بالإضافة إلى أفضل الممارسات لاستخدام
وإدارة مفاتيح واجهة برمجة التطبيقات باستخدام تطبيقات Firebase.
معلومات عامة عن مفاتيح واجهة برمجة التطبيقات وFirebase
تختلف مفاتيح واجهة برمجة التطبيقات في Firebase عن مفاتيح واجهة برمجة التطبيقات النموذجية.
بخلاف الطريقة التي يتم بها استخدام مفاتيح واجهة برمجة التطبيقات عادةً، تُستخدم مفاتيح واجهة برمجة التطبيقات لخدمات Firebase في
لا تُستخدَم للتحكّم في الوصول إلى الموارد الخلفية. لا يمكن القيام به إلا
مع Firebase Security Rules (لتحديد المستخدمين النهائيين الذين يمكنهم الوصول إلى الموارد)
Firebase App Check (لتحديد التطبيقات التي يمكنها الوصول إلى الموارد).
تحتاج عادةً إلى حماية مفاتيح واجهة برمجة التطبيقات بسرعة (على سبيل المثال،
باستخدام خدمة Vault أو ضبط المفاتيح كمتغيّرات للبيئة) وَلَكِنْ
يمكن تضمين مفاتيح واجهة برمجة التطبيقات لخدمات Firebase في الرمز البرمجي أو الإعدادات التي تم التحقّق منها.
الملفات.
يمكن أن يحتوي مشروع Firebase على العديد من مفاتيح واجهة برمجة التطبيقات، ولكن لا يمكن إلا أن يكون كل مفتاح واجهة برمجة تطبيقات
المرتبطة بمشروع واحد في Firebase.
تنشئ Firebase تلقائيًا مفاتيح واجهة برمجة التطبيقات لمشروعك عند إجراء أي مما يلي:
إنشاء مشروع على Firebase > تم إنشاء "Browser key" تلقائيًا
إنشاء تطبيق Apple على Firebase > تم إنشاء "iOS key" تلقائيًا
إنشاء تطبيق Android على Firebase > تم إنشاء "Android key" تلقائيًا
يمكنك أيضًا إنشاء مفاتيح واجهة برمجة التطبيقات الخاصة بك في
وحدة تحكّم Google Cloud،
على سبيل المثال للتطوير أو تصحيح الأخطاء. يمكنك الاطّلاع على مزيد من المعلومات حول
الحالات التي قد يتم فيها اقتراح ذلك لاحقًا في هذه الصفحة.
تطبيقات Firebase Apple: العثور على مفتاح واجهة برمجة التطبيقات المطابق تلقائيًا في Firebase
GoogleService-Info.plist، في
API_KEY.
تطبيقات Android في Firebase: ابحث عن مفتاح واجهة برمجة التطبيقات الذي تمت مطابقته تلقائيًا فيملف إعدادات Firebase، google-services.json، في الحقل
current_key.
تطبيقات الويب على Firebase: ابحث عن مفتاح واجهة برمجة التطبيقات المطابق تلقائيًا في عنصر ملف تكوين Firebase، في الحقل apiKey.
استخدام مفتاح واجهة برمجة التطبيقات
تُستخدَم مفاتيح واجهة برمجة التطبيقات لتحديد مشروع Firebase عند التفاعل مع
خدمات Firebase/Google ويُستخدَم هذا المفتاح تحديدًا لربط طلبات البيانات من واجهة برمجة التطبيقات
بمشروعك من أجل الحصة والفوترة. وهي مفيدة أيضًا للوصول إلى
البيانات المتاحة للجميع.
على سبيل المثال، يمكنك استخدام مفتاح واجهة برمجة التطبيقات صراحةً عن طريق تمرير قيمته إلى REST
طلب بيانات من واجهة برمجة التطبيقات كمعلمة طلب بحث يوضّح هذا المثال كيفية إرسال طلب
إلى
Dynamic Links واجهة برمجة التطبيقات الخاصة بمختصر الروابط:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
عندما يُجري تطبيقك طلبًا لواجهة برمجة تطبيقات Firebase تتطلّب توفُّر مفتاح واجهة برمجة التطبيقات.
من برنامج الهاتف الجوّال أو الويب، فسيبحث تطبيقك تلقائيًا
ملف/كائن Firebase لمفتاح واجهة برمجة التطبيقات الخاص بمشروعك ومع ذلك، يمكنك
توفير مفاتيح واجهة برمجة التطبيقات لتطبيقك باستخدام آلية مختلفة، بما في ذلك متغيّرات
البيئة.
مراجعة القيود المناسبة وتطبيقها على مفاتيح واجهة برمجة التطبيقات (يُنصح بهذا الخيار)
على الرغم من أنّه ليس من الضروري التعامل مع مفتاح واجهة برمجة التطبيقات لخدمات Firebase على أنّه مفتاح
سري، عليك مراجعة القيود والحدود وتطبيقها كما هو موضّح في
هذا القسم.
مراجعة واجهات برمجة التطبيقات التي تمت إضافتها تلقائيًا إلى القائمة المسموح بها لمفاتيح واجهة برمجة تطبيقات Firebase
عندما ينشئ Firebase مفتاح واجهة برمجة تطبيقات في مشروعك، نضيف إليه تلقائيًا مفتاح واجهة برمجة تطبيقات.
"قيود واجهة برمجة التطبيقات"
إلى المفتاح واجهات برمجة التطبيقات التي تمت إضافتها إلى هذه القائمة المسموح بها هي واجهات برمجة تطبيقات مرتبطة بـ Firebase تتطلب من العميل تقديم مفتاح واجهة برمجة التطبيقات مع الطلب. لاحظ أن معظم
لا يلزم وجود واجهات برمجة التطبيقات المطلوبة لاستخدام خدمات Firebase في
القائمة المسموح بها لمفاتيح واجهة برمجة التطبيقات
بما أنّ Firebase تضيف واجهات برمجة التطبيقات اللازمة لجميع خدمات Firebase، قد تتضمّن قائمة المحتوى المسموح به لمفتاح واجهة برمجة التطبيقات واجهات برمجة تطبيقات للمنتجات التي لا تستخدمها.
ويمكنك إزالة واجهات برمجة التطبيقات من القائمة المسموح بها، ولكن عليك توخي الحذر الشديد من أجل عدم
إزالة واجهات برمجة التطبيقات المطلوبة لمنصة Firebase وخدمات Firebase التي تستخدمها
(اطّلِع على
قائمة بواجهات برمجة التطبيقات المرتبطة بمنصة Firebase
التي يجب إدراجها في القائمة المسموح بها لكل خدمة أو منتج). وإلا،
ستظهر لك أخطاء عند إجراء استدعاءات لخدمات Firebase.
تشديد الحصة في حال استخدام Authentication المستند إلى كلمة المرور
إذا كنت تستخدم Firebase Authentication مستندًا مستندًا إلى كلمة مرور وحصل شخص ما على مفتاح واجهة برمجة التطبيقات، لن يتمكّن من الوصول إلى أي من قاعدة بيانات مشروعك على Firebase
أو بيانات Cloud Storageما دامت هذه البيانات محمية باستخدام
Firebase Security Rules. ومع ذلك، يمكنهم استخدام مفتاح واجهة برمجة التطبيقات لديك للوصول إلى
نقاط نهاية مصادقة Firebase وإجراء طلبات المصادقة
لمشروعك.
للحدّ من احتمالية إساءة استخدام أحد الأشخاص لمفتاح واجهة برمجة التطبيقات بهدف محاولة تنفيذ هجوم عنيف، يمكنك تشديد الحصة التلقائية لنقاط نهاية
identitytoolkit.googleapis.com لتعكس توقّعات الزيارات العادية
لتطبيقك. يُرجى العِلم أنّه في حال تشديد هذه الحصة وجذب تطبيقك فجأة لمزيد من المستخدمين، قد تظهر لك أخطاء تسجيل الدخول إلى أن تزيد الحصة.
يمكنك تغيير حصص واجهة برمجة التطبيقات الخاصة بمشروعك في
وحدة تحكّم Google Cloud.
استخدام مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة لأي خدمة غير تابعة لمنصة Firebase
على الرغم من أنّ مفاتيح واجهة برمجة التطبيقات المُستخدَمة في خدمات Firebase لا تحتاج إلى المعالجة بشكل عام.
سرّيًا، عليك اتخاذ بعض الاحتياطات الإضافية باستخدام مفاتيح واجهة برمجة التطبيقات التي تستخدمها
مع واجهات برمجة تطبيقات Google Cloud الأخرى.
إذا كنت تستخدِم واجهة برمجة تطبيقات Google Cloud (على أيّ منصة) ليست لخدمة أو منتج Firebase، ننصحك بشدة بإنشاء مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة
لاستخدامها مع واجهات برمجة التطبيقات هذه. ويُعدّ ذلك مهمًا بشكل خاص إذا كانت واجهة برمجة التطبيقات مخصّصة للخدمة
Google Cloud التي يتم تحصيل رسومها.
على سبيل المثال، إذا كنت تستخدِم Firebase ML وCloud Vision API على نظام التشغيل iOS، عليك
إنشاء مفاتيح واجهة برمجة تطبيقات منفصلة لا تستخدِمها إلا
للوصول إلى Cloud Vision API.
من خلال استخدام مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة لواجهات برمجة تطبيقات غير تابعة لمنصة Firebase، يمكنك تدوير
استبدال المفاتيح عند الضرورة وإضافة قيود أخرى إلى واجهة برمجة التطبيقات
المفاتيح
بدون تعطيل خدمات Firebase
عرض تعليمات إنشاء مفاتيح خاصة بواجهة برمجة التطبيقات
توضّح هذه التعليمات كيفية إنشاء مفتاح واجهة برمجة تطبيقات منفصل ومحدود لواجهة برمجة تطبيقات
زائفة تُسمى Super Service API.
الخطوة 1: إعداد مفاتيح واجهة برمجة التطبيقات الحالية لمنع الوصول إلى Super Service API
افتح صفحة بيانات الاعتماد
في وحدة تحكّم Google Cloud. اختَر مشروعك عندما يُطلب منك ذلك.
افتح طريقة عرض التعديل لكل مفتاح حالي لواجهة برمجة التطبيقات في القائمة.
في القسم قيود واجهة برمجة التطبيقات، اختَر تقييد المفتاح، ثم أضِف البيانات إلى
قائمة بجميع واجهات برمجة التطبيقات التي تريد أن يصل إليها مفتاح واجهة برمجة التطبيقات. يُرجى التأكد من أنّ:
عدم تضمين واجهة برمجة التطبيقات التي تنشئ لها مفتاح واجهة برمجة تطبيقات منفصل
(في هذا المثال، Super Service API).
عند ضبط قيود واجهة برمجة التطبيقات لمفتاح واجهة برمجة التطبيقات، يعني ذلك أنّك تُعلن بوضوح عن
واجهات برمجة التطبيقات التي يمكن للمفتاح الوصول إليها. بشكلٍ تلقائي، عندما يكون الخيار عدم تقييد المفتاح محدّدًا في القسم
قيود واجهة برمجة التطبيقات، يمكن استخدام مفتاح واجهة برمجة التطبيقات
للوصول إلى أي واجهة برمجة تطبيقات مفعّلة للمشروع.
والآن، لن تمنح مفاتيح واجهة برمجة التطبيقات الحالية إمكانية الوصول إلى Super Service API، ولكن
سيستمر كل مفتاح في العمل على أي واجهات برمجة تطبيقات أضفتها إلى
قائمة قيود واجهة برمجة التطبيقات.
الخطوة 2: إنشاء مفتاح جديد لواجهة برمجة التطبيقات واستخدامه للوصول إلى Super Service API
ارجع إلى صفحة بيانات الاعتماد
. تأكّد من أن مشروعك في Firebase لا يزال محددًا.
انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات. دوِّن مفتاح واجهة برمجة التطبيقات الجديد، ثم انقر على تقييد المفتاح.
في قسم قيود واجهة برمجة التطبيقات، اختَر تقييد المفتاح، ثم أضِف إلى
القائمة فقط الرمز Super Service API.
يمنح مفتاح واجهة برمجة التطبيقات الجديد هذا الإذن بالوصول إلى Super Service API فقط.
يجب ضبط تطبيقاتك وخدماتك لاستخدام مفتاح واجهة برمجة التطبيقات الجديد.
استخدام مفاتيح واجهة برمجة تطبيقات خاصة بالبيئة (إجراء يُنصح به)
في حال إعداد مشاريع مختلفة في Firebase لبيئات مختلفة، مثل
على مراحل والإنتاج، يجب أن يتفاعل كل نسخة افتراضية من التطبيق مع
مشروع Firebase المقابل. على سبيل المثال، يجب ألا تتواصل نسخة تطبيقك الاختبارية أبدًا مع مشروعك على Firebase في قناة الإصدار العلني. وهذا يعني أيضًا أن
إلى استخدام مفاتيح واجهة برمجة التطبيقات المرتبطة بمشروع Firebase المرحلي.
للحدّ من المشاكل المتعلّقة بنشر تغييرات الرموز البرمجية من مرحلة التطوير إلى مرحلة الاختبار إلى مرحلة النشر، بدلاً من تضمين مفاتيح واجهة برمجة التطبيقات في الرمز البرمجي نفسه، يمكنك ضبطها على أنّها متغيّرات بيئة أو تضمينها في ملفّ إعدادات.
يُرجى العلم أنّه في حال استخدام Firebase Local Emulator Suite لتطوير التطبيقات مع Firebase ML، عليك إنشاء مفتاح واجهة برمجة تطبيقات واستخدامه لأغراض تصحيح الأخطاء فقط. الإرشادات
لإنشاء هذا النوع من المفاتيح، يتم
Firebase ML مستندات
الأسئلة الشائعة وتحديد المشاكل وحلّها
الأسئلة الشائعة
هل مفاتيح واجهة برمجة التطبيقات
لخدمات Firebase محظورة تلقائيًا؟
وواجهات برمجة التطبيقات المُضافة إلى هذه القائمة المسموح بها هي واجهات برمجة التطبيقات التي تستدعيها خدمات Firebase من
رمز العميل وتتطلب مفاتيح واجهة برمجة التطبيقات لتحديد مشروعك في Firebase أو
التطبيق. تجدر الإشارة إلى أنّ معظم واجهات برمجة التطبيقات المطلوبة لاستخدام خدمات Firebase لا تستخدمها في الواقع.
يجب أن تكون مُدرَجة في القائمة المسموح بها لمفاتيح واجهة برمجة التطبيقات.
نظرًا لأن Firebase يضيف واجهات برمجة التطبيقات اللازمة لجميع خدمات Firebase، فإن
قد تشتمل القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات على واجهات برمجة تطبيقات للمنتجات التي لا تستخدمها. إِنْتَ
يمكنه إزالة واجهات برمجة التطبيقات من القائمة المسموح بها، ولكن عليك توخي الحذر الشديد من عدم إزالة
واجهات برمجة التطبيقات المطلوبة لمنصة Firebase وخدمات Firebase التي تستخدمها (اطّلِع على
قائمة بواجهات برمجة التطبيقات المرتبطة بمنصة Firebase
التي يجب إدراجها في القائمة المسموح بها لكل خدمة أو منتج). وإلا،
ستظهر لك أخطاء عند إجراء طلبات إلى خدمات Firebase.
خلال شهر أيار (مايو) 2024، سيتم حصر جميع مفاتيح واجهة برمجة التطبيقات الحالية وغير المشروطة التي سبق أن وفّرتها Firebase تلقائيًا في
قائمة واجهات برمجة التطبيقات ذات الصلة بمنصّة Firebaseبالإضافة إلى أي من واجهات برمجة التطبيقات المفعّلة حاليًا في المشروع.
أي مفاتيح واجهة برمجة تطبيقات حالية ومحظورة من قبل، والتي يستخدمها Firebase في السابق
التي تم توفيرها تلقائيًا.
لم يتم
تغيير أي مفاتيح واجهة برمجة التطبيقات الحالية التي لم يوفّرها Firebase تلقائيًا.
كيف يمكنني تحديد مفتاح واجهة برمجة التطبيقات
المرتبط بتطبيقي على Firebase؟
يمكنك استخدام أيّ من الخيارات التالية لتحديد مفتاح واجهة برمجة التطبيقات المرتبط
بتطبيقك على Firebase:
وحدة تحكّم Firebase
انتقلي إلى "settings"
إعدادات المشروع،
ثم انتقِل للأسفل وصولاً إلى بطاقة تطبيقاتك.
اختَر التطبيق الذي يهمّك.
احصل على ملف/عنصر إعدادات Firebase للتطبيق المعنيّ، ثم
ابحث عن مفتاح واجهة برمجة التطبيقات:
تفاح: نزِّل GoogleService-Info.plist ثم ابحث عن
حقل API_KEY
على جهاز Android: نزِّل google-services.json وابحث عن إعدادات
التطبيق محل الاهتمام (ابحث عن اسم الحزمة)، ثم ابحث عن
حقل current_key
الموقع الإلكتروني: اختَر الخيار الضبط، ثم ابحث عن الحقل apiKey.
واجهة سطر الأوامر Firebase
احصل على ملف/كائن إعدادات Firebase للتطبيق المعنيّ من خلال تنفيذ
الأمر التالي:
firebase apps:sdkconfig PLATFORMFIREBASE_APP_ID
PLATFORM (أحد): IOS | ANDROID | WEB
FIREBASE_APP_ID: المعرّف الفريد الذي خصّصه Firebase للموقع الإلكتروني
تطبيقك على Firebase (العثور على رقم تعريف التطبيق)
في إعدادات Firebase المطبوعة للتطبيق، ابحث عن مفتاح واجهة برمجة التطبيقات الخاص به:
Apple: ابحث عن الحقل API_KEY.
Android: ابحث عن إعدادات التطبيق الذي يهمّك (ابحث عن
اسم الحزمة)، ثم ابحث عن حقل current_key
الويب: ابحث عن الحقل apiKey.
واجهة برمجة تطبيقات REST
احصل على apiKeyId (معرّف المستخدم الفريد) لمفتاح واجهة برمجة التطبيقات من خلال الاتصال
بنقطة النهاية السارية للتطبيق المعنيّ، ثمّ نقْل قيمة
apiKeyId إلى الخطوة التالية.
هذه السمة keyString هي القيمة نفسها التي يمكن العثور عليها في قسم
أداة الإعداد
(تفاح |
Android |
الويب).
هل يمكنني
أن أُدرِج مفتاحَي واجهة برمجة تطبيقات لتطبيق Firebase نفسه في ملف/عنصر إعدادات Firebase؟
تطبيقات Firebase Apple: يكون لكل تطبيق ملف إعداد خاص به ويمكن أن يحتوي على
تم إدراج مفتاح واجهة برمجة تطبيقات واحد.
تطبيقات Firebase المتوافقة مع Android: جميع تطبيقات Android في مشروع Firebase
مدرجة في نفس ملف التهيئة، ولا يمكن أن يحتوي كل تطبيق إلا على مفتاح واجهة برمجة تطبيقات واحد
مدرج. يمكن أن يحتوي كل تطبيق في ملف التهيئة هذا على مفتاح مختلف مدرج،
بالرغم من ذلك.
تطبيقات الويب من Firebase - لكل تطبيق كائن إعداد خاص به ولا يمكن أن يحتوي إلا على
تم إدراج مفتاح واجهة برمجة تطبيقات واحد.
ومع ذلك، يمكنك استخدام مفاتيح واجهة برمجة تطبيقات متعددة مع تطبيق واحد. يجب تقديم ما يلي:
آلية وصول تطبيقك إلى مفاتيح واجهة برمجة التطبيقات الأخرى، مثلاً من خلال بيئة
المتغير. لا يمكن أن تعتمد آلية الوصول إلى مفاتيح واجهة برمجة التطبيقات الأخرى على مفاتيح واجهة برمجة التطبيقات المدرَجة في ملف/عنصر إعدادات Firebase.
كيف يعمل Firebase؟
معرفة مفتاح واجهة برمجة التطبيقات الذي يجب مطابقته مع التطبيق (مثل إعدادات Firebase
file/object)؟
إذا لم يعثر Firebase على أي مفاتيح مقيَّدة مطابقة، فإنه سيدرج في
ملف/كائن الضبط في iOS key لتطبيقات Apple، وAndroid key لتطبيقات
تطبيقات Android و"Browser key" لتطبيقات الويب (على افتراض أنّ هذه المفاتيح متوفرة)
وليس فيها "قيود التطبيق" التي تمنعه من المطابقة مع ذلك
التطبيق).
هل يمكنني إجراء ذلك يدويًا
هل تريد حذف مفتاح واجهة برمجة التطبيقات والحقل من عنصر/ملف إعداد Firebase؟
نعم، يمكنك حذف مفتاح واجهة برمجة التطبيقات يدويًا من ملف الإعدادات أو العنصر. ومع ذلك،
يجب توفير آلية أخرى لتطبيقك للوصول إلى مفتاح واجهة برمجة التطبيقات
(مثلاً من خلال متغيّر بيئة). بخلاف ذلك، لن تنجح أي طلبات للاتصال بخدمات Firebase.
هل يمكنني إجراء ذلك يدويًا
هل تريد تعديل ملف/كائن Firebase باستخدام مفاتيح واجهة برمجة تطبيقات مختلفة؟
هل يمكنني نقل
مفتاح واجهة برمجة التطبيقات من مشروع Firebase إلى آخر؟
لا، لا يحدّد مفتاح واجهة برمجة التطبيقات سوى مشروعًا معيّنًا ولا يمكن نقله إلى مشروع آخر
مشروعك.
ماذا يحدث إذا
حذفتُ مفتاح واجهة برمجة التطبيقات المدرَج في وحدة تحكّم Google Cloud؟
إذا حذفت مفتاح واجهة برمجة تطبيقات يستخدمه أحد التطبيقات، فسيتعذّر إكمال طلبات البيانات من واجهة برمجة التطبيقات التي يقدّمها هذا التطبيق. قد تتلقّى تقارير أو رسائل إلكترونية أو أخطاء تفيد بأنّك تحاول استخدام
مفتاح واجهة برمجة تطبيقات غير صالح.
إنّ حذف مفتاح واجهة برمجة التطبيقات إجراء نهائي ولا يمكن التراجع عنه.
ما هي
واجهات برمجة التطبيقات المطلوبة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" لمفتاح واجهة برمجة تطبيقات Firebase؟
بالنسبة إلى مفتاح Firebase API، فإن واجهات برمجة التطبيقات الوحيدة التي يجب وضعها على واجهة
"قيود واجهة برمجة التطبيقات" القائمة المسموح بها هي واجهات برمجة التطبيقات التي تتطلب من العميل توفير
مفتاح واجهة برمجة التطبيقات مع طلب البيانات. تجدر الإشارة إلى أنّ عددًا قليلاً جدًا من واجهات برمجة التطبيقات المرتبطة بمنصّة Firebase تستخدم هذه الميزة
المتطلب. لا يلزم إدراج معظم واجهات برمجة التطبيقات ذات الصلة بـ Firebase والمفعَّلة في مشروعك
في القائمة المسموح بها ضمن "قيود واجهات برمجة التطبيقات" للمفتاح.
استخدِم الجدول التالي لتحديد واجهات برمجة التطبيقات المرتبطة بمنصّة Firebase التي يجب استخدامها.
تم تضمينها في "قيود واجهة برمجة التطبيقات" القائمة المسموح بها لمفتاح واجهة برمجة تطبيقات Firebase. تذكَّر أنّه ينبغي استخدام مفاتيح Firebase API لخدمات Firebase فقط. اطّلِع على مزيد من المعلومات حول
إنشاء
مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة لأنواع معيّنة من واجهات برمجة التطبيقات.
Cloud Messaging وCrashlytics وIn-App MessagingPerformance 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
identitytoolkit.googleapis.com
واجهة برمجة تطبيقات Identity Toolkit
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
Cloud Firestore
firestore.googleapis.com
Google Cloud Firestore API
Cloud Firestore
fcmregistrations.googleapis.com
واجهة برمجة التطبيقات لتسجيل FCM
Cloud Messaging
firebasestorage.googleapis.com
Cloud Storage for 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
firebaseml.googleapis.com
واجهة برمجة تطبيقات تعلُّم الآلة في Firebase
Firebase ML
mlkit.googleapis.com **
واجهة برمجة تطبيقات ML Kit
Firebase ML
mobilecrashreporting.googleapis.com
Mobile Crash Reporting API
Performance Monitoring
play.googleapis.com
واجهة برمجة تطبيقات مطوّر برامج Google Play Android
Performance Monitoring
firebaseremoteconfig.googleapis.com
Firebase Remote Config API
Performance Monitoring، Remote Config
firebaseremoteconfigrealtime.googleapis.com
واجهة برمجة تطبيقات Firebase عن بُعد في الوقت الفعلي
Performance Monitoring، Remote Config
cloudconfig.googleapis.com **
لا ينطبق
Remote Config
firebasedatabase.googleapis.com *
واجهة برمجة تطبيقات قاعدة بيانات Firebase في الوقت الفعلي
Realtime Database
firebasevertexai.googleapis.com
Vertex AI في واجهة برمجة تطبيقات Firebase
Vertex AI in Firebase
* مطلوب فقط في حال استخدام مفتاح واجهة برمجة التطبيقات Firebase مع أدوات
تابعة لجهات خارجية أو الوصول المباشر إلى خدمة / منتج Firebase باستخدام بروتوكول REST.
** مطلوبة للإصدارات السابقة من حزمة SDK للمنتج. إذا كنت تستخدم
أحدث إصدار من حزمة SDK، لن تحتاج واجهة برمجة التطبيقات إلى أن تكون مُدرَجة في القائمة المسموح بها
للمفتاح.
تحديد المشاكل وحلّها
كيف يمكنني
إصلاح خطأ API_KEY_SERVICE_BLOCKED أو خطأ 403 "محظور" الذي يشير إلى
أنّه تم حظر الطلبات المرسَلة إلى واجهة برمجة التطبيقات هذه؟
اتّبِع الإرشادات الواردة في الأسئلة الشائعة هذه إذا كنت تتلقّى 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.
من المحتمل أنّه تم تطبيق "قيود واجهة برمجة التطبيقات" على مفتاح واجهة برمجة التطبيقات الذي يستخدمه تطبيقك لاستدعاء واجهة برمجة التطبيقات، ولا تتضمّن القائمة المسموح بها للمفتاح واجهة برمجة التطبيقات هذه.
إذا ظهر لك هذا الخطأ عند محاولة استخدام خدمة غير تابعة لخدمة Firebase،
ننصحك بشدة بإنشاء مفتاح جديد لواجهة برمجة التطبيقات خصيصًا لهذه الخدمة
وواجهة برمجة التطبيقات. يجب عدم استخدام مفاتيح Firebase API إلا مع خدمات / منتجات Firebase.
مزيد من المعلومات حول الإنشاء
مفاتيح منفصلة ومحدودة لواجهة برمجة التطبيقات لأنواع معيّنة من واجهات برمجة التطبيقات:
كيف يمكنني
إصلاح هذا الخطأ؟ تعذّر استرجاع رقم تعريف القياس لتطبيق Firebase هذا من
الخادم".
من المحتمل أنّه تم تطبيق "قيود واجهة برمجة التطبيقات" على مفتاح واجهة برمجة التطبيقات المستخدَم في تطبيق الويب. في هذه الحالة، عليك التأكّد من استخدام Firebase Management API
في قائمة واجهات برمجة التطبيقات المسموح بها.
تلقّيت رسالة إلكترونية أو خطأ يفيد بأنّه
مفتاح واجهة برمجة التطبيقات غير صالح. ما الذي حدث وكيف يمكنني إصلاحه؟
في ما يلي بعض الأسباب الأكثر شيوعًا لمفاتيح واجهة برمجة التطبيقات غير الصالحة:
تم تطبيق "قيود مفتاح واجهة برمجة التطبيقات"
على مفتاح واجهة برمجة التطبيقات تجعله غير مطابق للتطبيق الذي يحاول استخدام المفتاح
("قيود التطبيق") أو غير قابل للاستخدام لواجهة برمجة التطبيقات التي يتم الاتصال بها ("قيود واجهة برمجة التطبيقات").
تم حذف مفتاح واجهة برمجة التطبيقات من المشروع في وحدة تحكّم Google Cloud.
لم يتم إنشاء مفتاح واجهة برمجة التطبيقات لرقم تعريف المشروع المدرَج في
ملف/كائن إعداد Firebase
تتمثل إحدى طرق حل هذه المشكلة في الحصول على الإصدار المحدَّث من
Firebase config file/object,
ثم استبدِل ملف/كائن الضبط القديم بالملف/الكائن الجديد المُعدَّل.
قبل إرسال ملف تهيئة للتنزيل أو عرض كائن تهيئة في
ستتحقق منصة Firebase من أنّ مفاتيح واجهة برمجة التطبيقات المدرجة
بالتطبيقات.
تاريخ التعديل الأخير: 2024-11-10 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-11-10 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]