معلومات عن استخدام مفاتيح واجهة برمجة التطبيقات وإدارتها لمنصة Firebase
مفتاح واجهة برمجة التطبيقات هو سلسلة فريدة تُستخدَم لتوجيه الطلبات إلى مشروعك على Firebase عند التفاعل مع Firebase وخدمات Google. توضّح هذه الصفحة
معلومات أساسية عن مفاتيح واجهة برمجة التطبيقات، بالإضافة إلى أفضل الممارسات لاستخدام مفاتيح واجهة برمجة التطبيقات
وإدارتها باستخدام تطبيقات Firebase.
معلومات عامة عن مفاتيح واجهة برمجة التطبيقات وFirebase
تختلف مفاتيح واجهة برمجة التطبيقات في Firebase عن مفاتيح واجهة برمجة التطبيقات العادية.
على عكس الطريقة المعتادة لاستخدام مفاتيح واجهة برمجة التطبيقات، لا يتم
استخدام مفاتيح واجهة برمجة التطبيقات لخدمات Firebase للتحكّم في الوصول إلى موارد الخلفية، إذ لا يمكن إجراء ذلك إلا باستخدام Firebase Security Rules (للتحكّم في المستخدمين النهائيين الذين يمكنهم الوصول إلى الموارد) وFirebase App Check (للتحكّم في التطبيقات التي يمكنها الوصول إلى الموارد).
عادةً ما تحتاج إلى حماية مفاتيح واجهة برمجة التطبيقات بعناية (على سبيل المثال،
باستخدام خدمة تخزين آمن أو ضبط المفاتيح كمتغيّرات بيئة)، ومع ذلك،
يُسمح بتضمين مفاتيح واجهة برمجة التطبيقات لخدمات Firebase في الرموز البرمجية أو في ملفات الإعدادات التي تم تسجيلها.
يمكن أن يتضمّن مشروع Firebase العديد من مفاتيح واجهة برمجة التطبيقات، ولكن لا يمكن ربط كل مفتاح من مفاتيح واجهة برمجة التطبيقات سوى
بمشروع واحد على Firebase.
تنشئ Firebase تلقائيًا مفاتيح واجهة برمجة التطبيقات لمشروعك عند إجراء أي مما يلي:
إنشاء مشروع على Firebase > Browser key تم إنشاؤه تلقائيًا
إنشاء تطبيق Apple على Firebase > iOS key تم إنشاؤه تلقائيًا
إنشاء تطبيق Android على Firebase > Android key تم إنشاؤه تلقائيًا
يمكنك أيضًا إنشاء مفاتيح واجهة برمجة التطبيقات الخاصة بك في
وحدة تحكّم Google Cloud،
على سبيل المثال للتطوير أو تصحيح الأخطاء. يمكنك الاطّلاع على مزيد من المعلومات حول الحالات التي قد يتم فيها اقتراح ذلك لاحقًا في هذه الصفحة.
تطبيقات Apple على Firebase: ابحث عن مفتاح واجهة برمجة التطبيقات المطابق تلقائيًا في ملف إعدادات Firebase، GoogleService-Info.plist، في الحقل
API_KEY.
تطبيقات Android في Firebase: ابحث عن مفتاح واجهة برمجة التطبيقات الذي تمت مطابقته تلقائيًا فيملف إعدادات Firebase، google-services.json، في الحقل
current_key.
تطبيقات الويب على Firebase: ابحث عن مفتاح واجهة برمجة التطبيقات الذي تمت مطابقته تلقائيًا في عنصر ملف تكوين Firebase، في الحقل apiKey.
استخدام مفتاح واجهة برمجة التطبيقات
تُستخدَم مفاتيح واجهة برمجة التطبيقات لتحديد مشروعك على Firebase عند التفاعل مع خدمات
Firebase/Google. ويُستخدَم هذا المفتاح تحديدًا لربط طلبات البيانات من واجهة برمجة التطبيقات
بمشروعك من أجل الحصة والفوترة. وهي مفيدة أيضًا للوصول إلى
البيانات المتاحة للجميع.
على سبيل المثال، يمكنك استخدام مفتاح واجهة برمجة التطبيقات بشكل صريح من خلال تمرير قيمته إلى طلب واجهة برمجة التطبيقات REST API كمَعلمة طلب بحث. يوضّح هذا المثال كيفية إرسال طلب
إلى
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 للتطبيق المعنيّ، ثم
ابحث عن مفتاح واجهة برمجة التطبيقات:
Apple: نزِّل 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 هي القيمة نفسها التي يمكن العثور عليها في
عنصر الضبط
للتطبيق (Apple |
Android |
الويب).
هل يمكنني
أن أُدرِج مفتاحَي واجهة برمجة تطبيقات لتطبيق Firebase نفسه في ملف/عنصر إعدادات Firebase؟
تطبيقات Apple على Firebase: يحتوي كل تطبيق على ملف الإعدادات الخاص به ويمكن أن يتضمّن
مفتاح واجهة برمجة تطبيقات واحدًا فقط.
تطبيقات Android في Firebase: يتم إدراج جميع تطبيقات Android في مشروع Firebase في ملف الإعدادات نفسه، ولا يمكن أن يحتوي كل تطبيق إلا على مفتاح واجهة برمجة تطبيقات واحد. ومع ذلك، يمكن أن يحتوي كل تطبيق في ملف الإعدادات هذا على مفتاح مختلف مُدرَج.
تطبيقات Firebase على الويب: يحتوي كل تطبيق على عنصر إعدادات خاص به ويمكن أن يتضمّن
مفتاح واجهة برمجة تطبيقات واحدًا فقط.
ومع ذلك، يمكنك استخدام مفاتيح واجهة برمجة تطبيقات متعددة مع تطبيق واحد. يجب توفير أسلوب
لتطبيقك للوصول إلى مفاتيح واجهة برمجة التطبيقات الأخرى، مثل استخدام متغيّر
البيئة. لا يمكن أن تعتمد آلية الوصول إلى مفاتيح واجهة برمجة التطبيقات الأخرى على مفاتيح واجهة برمجة التطبيقات المدرَجة في ملف/عنصر إعدادات Firebase.
كيف تعرف منصة Firebase
مفتاح واجهة برمجة التطبيقات الذي يجب مطابقته مع تطبيق (مثل ملف/عنصر إعدادات Firebase)؟
عند الحصول على ملف/عنصر إعدادات Firebase لتطبيقك لأول مرة،
تحقّق منصة Firebase ممّا إذا كانت هناك أي مفاتيح حالية لواجهة برمجة التطبيقات في مشروعك تتضمّن "قيود التطبيق"
تتطابق مع التطبيق (على سبيل المثال، رقم تعريف حِزمة مطابق لتطبيق Apple).
إذا لم تعثر خدمة Firebase على أي مفاتيح محظورة مطابقة، ستُدرج فيملف الإعدادات/العنصر iOS key لتطبيقات Apple وAndroid key لتطبيقات Android وBrowser key لتطبيقات الويب (على افتراض أنّ هذه المفاتيح متوفّرة
ولا تتضمّن "قيودًا على التطبيقات" تمنع مطابقتها مع
هذا التطبيق).
هل يمكنني يدوياً
حذف مفتاح واجهة برمجة التطبيقات والحقل من ملف/عنصر إعدادات Firebase؟
نعم، يمكنك حذف مفتاح واجهة برمجة التطبيقات يدويًا من ملف الإعدادات أو العنصر. ومع ذلك،
يجب توفير آلية أخرى لتطبيقك للوصول إلى مفتاح واجهة برمجة التطبيقات
(مثلاً من خلال متغيّر بيئة). بخلاف ذلك، لن تنجح أي طلبات إلى خدمات Firebase.
هل يمكنني تعديل ملف/عنصر إعدادات Firebase يدويًا باستخدام مفاتيح واجهة برمجة تطبيقات مختلفة؟
هل يمكنني نقل
مفتاح واجهة برمجة التطبيقات من مشروع Firebase إلى آخر؟
لا، يحدِّد مفتاح واجهة برمجة التطبيقات مشروعًا معيّنًا فقط ولا يمكن نقله إلى مشروع
آخر.
ماذا يحدث إذا
حذفتُ مفتاح واجهة برمجة تطبيقات مُدرَجًا في وحدة تحكّم Google Cloud؟
إذا حذفت مفتاح واجهة برمجة تطبيقات يستخدمه أحد التطبيقات، فسيتعذّر إتمام طلبات البيانات من واجهة برمجة التطبيقات من هذا التطبيق. قد تتلقّى تقارير أو رسائل إلكترونية أو أخطاء تفيد بأنّك تحاول استخدام
مفتاح واجهة برمجة تطبيقات غير صالح.
إنّ حذف مفتاح واجهة برمجة التطبيقات إجراء نهائي ولا يمكن التراجع عنه.
ما هي
واجهات برمجة التطبيقات المطلوبة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" لمفتاح واجهة برمجة تطبيقات Firebase؟
بالنسبة إلى مفتاح واجهة برمجة تطبيقات Firebase، فإنّ واجهات برمجة التطبيقات الوحيدة التي يجب أن تكون مُدرَجة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" للمفتاح هي واجهات برمجة التطبيقات التي تتطلّب من العميل تقديم مفتاح واجهة برمجة التطبيقات مع الطلب. تجدر الإشارة إلى أنّ واجهتَي برمجة تطبيقات مرتبطتَين بمنصّة Firebase فقط تفرضان هذا ال requirement. لا يلزم إدراج معظم واجهات برمجة التطبيقات ذات الصلة بـ 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 API
In-App Messaging
firebaseml.googleapis.com
Firebase ML API
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 Remote Config Realtime API
Performance Monitoring، Remote Config
cloudconfig.googleapis.com **
لا ينطبق
Remote Config
firebasedatabase.googleapis.com *
Firebase Realtime Database API
Realtime Database
firebasevertexai.googleapis.com
Vertex AI في Firebase API
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 Management API
مدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها.
تلقّيت رسالة إلكترونية أو خطأ يفيد بأنّه
مفتاح واجهة برمجة التطبيقات غير صالح. ما الذي حدث وكيف يمكنني حلّ هذه المشكلة؟
في ما يلي بعض الأسباب الأكثر شيوعًا لمفتاحَي واجهة برمجة التطبيقات غير الصالحَين:
تم تطبيق "قيود مفتاح واجهة برمجة التطبيقات"
على مفتاح واجهة برمجة التطبيقات تجعله غير مطابق للتطبيق الذي يحاول استخدام المفتاح
("قيود التطبيق") أو غير قابل للاستخدام لواجهة برمجة التطبيقات التي يتم الاتصال بها ("قيود واجهة برمجة التطبيقات").
تم حذف مفتاح واجهة برمجة التطبيقات من المشروع في وحدة تحكّم Google Cloud.
لم يتم إنشاء مفتاح واجهة برمجة التطبيقات لمعرّف المشروع المدرَج فيملف/عنصر إعدادات Firebase للتطبيق.
من الطرق لحلّ هذه المشكلة هي الحصول على الإصدار المحدَّث منملف/عنصر إعدادات Firebase في تطبيقك، ثم استبدال ملف/عنصر الإعدادات القديم بملف/عنصر الإعدادات الجديد المحدَّث.
قبل إرسال ملف إعدادات لتنزيله أو عرض عنصر إعدادات في
وحدة التحكّم، تتحقّق Firebase من أنّ مفاتيح واجهة برمجة التطبيقات المدرَجة
تتوافق مع التطبيقات.