معلومات عن استخدام مفاتيح واجهة برمجة التطبيقات وإدارتها لمنصة 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" تلقائيًا
تطبيقات Firebase Apple: العثور على مفتاح واجهة برمجة التطبيقات المطابق تلقائيًا في Firebase
GoogleService-Info.plist، في
API_KEY.
تطبيقات Firebase المتوافقة مع Android: يمكنك العثور على مفتاح واجهة برمجة التطبيقات الذي تتم المطابقة تلقائيًا معه في
ملف إعداد 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 على iOS، عليك
إنشاء مفاتيح واجهة برمجة تطبيقات منفصلة تستخدمها فقط
للوصول إلى واجهات برمجة تطبيقات Cloud Vision
من خلال استخدام مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة لواجهات برمجة تطبيقات غير تابعة لمنصة 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 المطبوعة للتطبيق، ابحث عن مفتاح واجهة برمجة التطبيقات الخاص به:
تفاح: البحث عن حقل API_KEY
Android: ابحث عن إعدادات التطبيق الذي يهمّك (ابحث عن
اسم الحزمة)، ثم ابحث عن حقل current_key
الويب: البحث عن حقل apiKey
واجهة برمجة تطبيقات REST
احصل على apiKeyId (المعرّف الفريد) لمفتاح واجهة برمجة التطبيقات من خلال استدعاء
نقطة النهاية السارية للتطبيق المعني، ثم اجتياز
apiKeyId إلى الخطوة التالية.
هذه السمة keyString هي القيمة نفسها التي يمكن العثور عليها في قسم
أداة الإعداد
(تفاح |
Android |
الويب).
هل يمكنني
يحتوي على مفتاحين لواجهة برمجة التطبيقات مدرجين لتطبيق Firebase نفسه في إعدادات Firebase
file/object؟
تطبيقات 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 لخدمات Firebase فقط. مزيد من المعلومات حول
قيد الإنشاء
مفاتيح منفصلة ومحدودة لواجهة برمجة التطبيقات لأنواع معيّنة من واجهات برمجة التطبيقات:
واجهة برمجة تطبيقات تخزين البيانات في السحابة الإلكترونية
Cloud Firestore
firestore.googleapis.com
واجهة برمجة تطبيقات Google Cloud Firestore
Cloud Firestore
fcmregistrations.googleapis.com
واجهة برمجة تطبيقات تسجيل FCM
Cloud Messaging
firebasestorage.googleapis.com
واجهة برمجة تطبيقات التخزين في السحابة الإلكترونية لمنصّة Firebase
Cloud Storage
firebasedynamiclinks.googleapis.com
واجهة برمجة تطبيقات روابط Firebase الديناميكية
Dynamic Links
firebasehosting.googleapis.com *
واجهة برمجة تطبيقات استضافة Firebase
Hosting
firebaseinappmessaging.googleapis.com
واجهة برمجة تطبيقات المراسلة داخل التطبيق من Firebase
In-App Messaging
firebaseml.googleapis.com
واجهة برمجة تطبيقات تعلُّم الآلة في Firebase
Firebase ML، Vertex AI in Firebase
mlkit.googleapis.com **
واجهة برمجة تطبيقات تعلّم الآلة
Firebase ML
mobilecrashreporting.googleapis.com
Mobile Crash Reporting API
Performance Monitoring
play.googleapis.com
واجهة برمجة تطبيقات مطوّر برامج Google Play Android
Performance Monitoring
firebaseremoteconfig.googleapis.com
واجهة برمجة التطبيقات عن بُعد في Firebase
Performance Monitoring، Remote Config
firebaseremoteconfigrealtime.googleapis.com
واجهة برمجة تطبيقات Firebase عن بُعد في الوقت الفعلي
Performance Monitoring، Remote Config
cloudconfig.googleapis.com **
لا ينطبق
Remote Config
firebasedatabase.googleapis.com *
واجهة برمجة تطبيقات قاعدة بيانات Firebase في الوقت الفعلي
Realtime Database
* مطلوب فقط في حال استخدام مفتاح واجهة برمجة تطبيقات Firebase مع جهة خارجية
أو وصول مباشر إلى REST إلى خدمة أو منتج Firebase.
** مطلوبة للإصدارات السابقة من حزمة 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 إلا لخدمات / منتجات Firebase.
مزيد من المعلومات حول الإنشاء
مفاتيح منفصلة ومحدودة لواجهة برمجة التطبيقات لأنواع معيّنة من واجهات برمجة التطبيقات:
كيف يمكنني
إصلاح هذا الخطأ؟ تعذّر استرجاع رقم تعريف القياس لتطبيق Firebase هذا من
الخادم".
من المحتمل أن يحتوي مفتاح واجهة برمجة التطبيقات الذي يستخدمه تطبيق الويب الخاص بك على
"قيود واجهة برمجة التطبيقات"
الذي تم تطبيقه عليه. في هذه الحالة، عليك التأكّد من استخدام Firebase Management API
في قائمة واجهات برمجة التطبيقات المسموح بها.
وصلتك رسالة إلكترونية أو خطأ
مفتاح واجهة برمجة التطبيقات الخاص بي غير صالح. ما الذي حدث وكيف يمكنني إصلاحه؟
في ما يلي بعض الأسباب الأكثر شيوعًا لمفاتيح واجهة برمجة التطبيقات غير الصالحة:
يحتوي مفتاح واجهة برمجة التطبيقات على
"قيود مفتاح واجهة برمجة التطبيقات"
تجعله غير قابل للمطابقة مع التطبيق الذي يحاول استخدام المفتاح
("قيود التطبيق") أو يتعذّر استخدامها لواجهة برمجة التطبيقات التي يتم استدعاؤها ("واجهة برمجة التطبيقات")
القيود").
تم حذف مفتاح واجهة برمجة التطبيقات من المشروع في وحدة تحكّم Google Cloud.
لم يتم إنشاء مفتاح واجهة برمجة التطبيقات لرقم تعريف المشروع المدرَج في
ملف/كائن إعداد Firebase
تتمثل إحدى طرق حل هذه المشكلة في الحصول على الإصدار المحدَّث من
Firebase config file/object,
ثم استبدِل ملف/كائن الضبط القديم بالملف/الكائن الجديد المُعدَّل.
قبل إرسال ملف تهيئة للتنزيل أو عرض كائن تهيئة في
ستتحقق منصة Firebase من أنّ مفاتيح واجهة برمجة التطبيقات المدرجة
بالتطبيقات.