التعرّف على مفاتيح واجهة برمجة التطبيقات في Firebase وإدارتها
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
مفتاح واجهة برمجة التطبيقات هو سلسلة فريدة تُستخدَم لتوجيه الطلبات إلى مشروعك على Firebase عند التفاعل مع خدمات Firebase وGoogle. توضّح هذه الصفحة
المعلومات الأساسية حول مفاتيح واجهة برمجة التطبيقات، بالإضافة إلى أفضل الممارسات لاستخدام
مفاتيح واجهة برمجة التطبيقات وإدارتها مع تطبيقات Firebase.
إذا تلقّيت رسالة إلكترونية من Google Cloud بشأن "مفتاح Google API متاح للجميع لمشروعك على Google Cloud" وكان مفتاح واجهة برمجة التطبيقات المُدرَج في الرسالة الإلكترونية هو مفتاح Firebase API، تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات يستوفي المتطلبات التالية ليكون من الآمن تضمينه في الرمز البرمجي أو ملفات الإعداد. يمكنك التحقّق مما يلي في صفحة واجهات برمجة التطبيقات والخدمات >
بيانات الاعتماد
في وحدة تحكّم Google Cloud.
هو مفتاح واجهة برمجة التطبيقات الذي تستخدمه لتطبيق Firebase وفقط لخدمات Firebase. تُسمّى هذه المفاتيح عادةً
Browser key (auto created by Firebase) أو
Android key (auto created by Firebase) أو
iOS key (auto created by Firebase).
لا يتضمّن أي واجهات برمجة تطبيقات أخرى في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات". وعلى وجه الخصوص، يجب ألّا
تحتوي القائمة على Generative Language API.
تأكَّد أيضًا من استخدام Firebase Security Rules وApp Check على النحو المقترَح
لمنتجات Firebase التي تستخدمها.
يوفّر الجزء المتبقي من هذه الصفحة معلومات تفصيلية حول مفاتيح واجهة برمجة التطبيقات في Firebase، بالإضافة إلى قائمة بالأسئلة الشائعة حول هذه المفاتيح.
معلومات عامة حول مفاتيح واجهة برمجة التطبيقات وFirebase
تختلف مفاتيح واجهة برمجة التطبيقات في Firebase عن مفاتيح واجهة برمجة التطبيقات العادية
على عكس الطريقة التي تُستخدم بها مفاتيح واجهة برمجة التطبيقات عادةً، لا تُستخدم مفاتيح واجهة برمجة التطبيقات لخدمات Firebase للتحكّم في الوصول إلى موارد الخلفية، ولا يمكن إجراء ذلك إلا من خلال Firebase Security Rules (للتحكّم في المستخدمين النهائيين الذين يمكنهم الوصول إلى الموارد) وFirebase App Check (للتحكّم في التطبيقات التي يمكنها الوصول إلى الموارد).
عادةً ما تحتاج إلى حماية مفاتيح واجهة برمجة التطبيقات بدقة (على سبيل المثال،
باستخدام خدمة تخزين أو ضبط المفاتيح كمتغيرات بيئة)، ولكن
يمكن تضمين مفاتيح واجهة برمجة التطبيقات لخدمات Firebase في الرمز البرمجي أو ملفات الإعداد
التي تم تسجيلها.
يمكن أن يتضمّن مشروع Firebase العديد من مفاتيح واجهة برمجة التطبيقات، ولكن لا يمكن ربط كل مفتاح واجهة برمجة تطبيقات إلا بمشروع واحد على Firebase.
تنشئ Firebase تلقائيًا مفاتيح واجهة برمجة التطبيقات لمشروعك عند تنفيذ أيّ مما يلي:
إنشاء مشروع Firebase > تم إنشاء Browser key تلقائيًا
إنشاء تطبيق Apple في Firebase > تم إنشاء iOS key تلقائيًا
إنشاء تطبيق Firebase Android > تم إنشاء Android key تلقائيًا
يمكنك أيضًا إنشاء مفاتيح واجهة برمجة التطبيقات الخاصة بك في
وحدة تحكّم Google Cloud،
على سبيل المثال لأغراض التطوير أو تصحيح الأخطاء. يمكنك الاطّلاع على مزيد من المعلومات حول الحالات التي يُنصح فيها باستخدام هذا الخيار في هذه الصفحة أدناه.
العثور على مفاتيح واجهة برمجة التطبيقات
يمكنك الاطّلاع على جميع مفاتيح واجهة برمجة التطبيقات الخاصة بمشروعك وإدارتها في
واجهات برمجة التطبيقات والخدمات >
صفحة "بيانات الاعتماد"
ضمن وحدة تحكّم Google Cloud.
تطبيقات Firebase Apple: يمكنك العثور على مفتاح واجهة برمجة التطبيقات الذي تمت مطابقته تلقائيًا في ملف إعداد Firebase، GoogleService-Info.plist، في الحقل API_KEY.
تطبيقات Firebase لنظام التشغيل Android: يمكنك العثور على مفتاح واجهة برمجة التطبيقات المطابق تلقائيًا في ملف إعداد Firebase، google-services.json، في الحقل current_key.
تطبيقات الويب في Firebase: يمكنك العثور على مفتاح واجهة برمجة التطبيقات الذي تمت مطابقته تلقائيًا في عنصر إعدادات Firebase، في الحقل apiKey.
استخدام مفتاح واجهة برمجة التطبيقات
تُستخدَم مفاتيح واجهة برمجة التطبيقات في Firebase لتحديد مشروعك على Firebase عند
التفاعل مع Firebase أو خدمات Google. على وجه التحديد، يتم استخدامها لربط طلبات البيانات من واجهة برمجة التطبيقات بمشروعك من أجل الحصة والفوترة. وهي مفيدة أيضًا
للوصول إلى البيانات العامة.
بالنسبة إلى الغالبية العظمى من المطوّرين وحالات الاستخدام، لا يتم التفاعل مع
مفاتيح واجهة برمجة التطبيقات هذه مباشرةً. بدلاً من ذلك، عندما يُجري تطبيقك طلبًا إلى واجهة برمجة تطبيقات Firebase
تتطلّب مفتاح واجهة برمجة تطبيقات يوفّره برنامج الويب أو البرنامج المتوافق مع الأجهزة الجوّالة، سيبحث تطبيقك
تلقائيًا عن مفتاح واجهة برمجة التطبيقات في
إعدادات Firebase الخاصة بتطبيقك. تمت إضافة هذا الإعداد إلى قاعدة الرموز البرمجية لتطبيقك عند ربط تطبيقك بمنصة Firebase.
يُرجى العِلم أنّه يمكنك تقديم مفتاح واجهة برمجة التطبيقات الخاص بتطبيقك داخل التطبيق باستخدام آلية مختلفة، مثل خيارات Firebase أو باستخدام متغيّرات البيئة.
بالإضافة إلى ذلك، بالنسبة إلى بعض واجهات برمجة التطبيقات REST لخدمات Firebase، قد تحتاج إلى تمرير قيمة مفتاح واجهة برمجة التطبيقات بشكل صريح إلى الطلب كمَعلمة طلب بحث.
يوضّح هذا المثال كيفية إرسال طلب باستخدام واجهة برمجة التطبيقات Firebase Authentication:
مراجعة القيود المناسبة وتطبيقها على مفاتيح واجهة برمجة التطبيقات
بالنسبة إلى جميع مفاتيح واجهة برمجة التطبيقات في مشروعك، من الضروري التأكّد من أنّها تتضمّن
القيود والحدود المناسبة لواجهة برمجة التطبيقات، كما هو موضّح في هذا القسم.
مراجعة واجهات برمجة التطبيقات التي تمت إضافتها تلقائيًا إلى القائمة المسموح بها لمفاتيح واجهة برمجة التطبيقات في 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 خاضعة للفوترة. على وجه الخصوص، لا تدرِج أبدًا
Gemini Developer API في القائمة المسموح بها لمفتاح واجهة برمجة تطبيقات متاح للجميع
أو مفتاح مستخدَم لخدمات أخرى.
من خلال استخدام مفاتيح واجهة برمجة تطبيقات منفصلة ومقيَّدة لواجهات برمجة التطبيقات غير التابعة لـ Firebase، يمكنك تدوير المفاتيح أو استبدالها عند الضرورة وإضافة قيود أخرى إلى مفاتيح واجهة برمجة التطبيقات بدون تعطيل استخدامك لخدمات Firebase.
عرض تعليمات إنشاء مفاتيح خاصة بواجهة برمجة التطبيقات
توضّح هذه التعليمات كيفية إنشاء مفتاح واجهة برمجة تطبيقات منفصل ومقيّد لواجهة برمجة تطبيقات وهمية تُسمى Super Service API.
الخطوة 1: ضبط مفاتيح واجهة برمجة التطبيقات الحالية لعدم السماح بالوصول إلى Super Service API
في وحدة تحكّم Google Cloud، انتقِل إلى صفحة واجهات برمجة التطبيقات والخدمات >
بيانات الاعتماد.
اختَر مشروعك إذا طُلب منك ذلك.
افتح عرض التعديل لكل مفتاح واجهة برمجة تطبيقات حالي في القائمة.
في قسم قيود واجهة برمجة التطبيقات، اختَر تقييد المفتاح، ثم أضِف إلى القائمة جميع واجهات برمجة التطبيقات التي تريد أن يتمكّن مفتاح واجهة برمجة التطبيقات من الوصول إليها. تأكَّد من عدم تضمين واجهة برمجة التطبيقات التي تنشئ لها مفتاحًا منفصلاً (في هذا المثال، Super Service API).
عند ضبط قيود واجهة برمجة التطبيقات لمفتاح واجهة برمجة التطبيقات، أنت تعلن صراحةً
عن واجهات برمجة التطبيقات التي يمكن للمفتاح الوصول إليها. **بشكل تلقائي، عندما يكون خيار عدم تقييد المفتاح محدّدًا في قسم قيود واجهة برمجة التطبيقات، يمكن استخدام مفتاح واجهة برمجة التطبيقات للوصول إلى أي واجهة برمجة تطبيقات مفعَّلة للمشروع.**
الآن، لن تسمح مفاتيح واجهة برمجة التطبيقات الحالية بالوصول إلى Super Service API، ولكن
سيستمر كل مفتاح في العمل مع أي واجهات برمجة تطبيقات أضفتها إلى قائمة
قيود واجهة برمجة التطبيقات.
الخطوة 2: إنشاء مفتاح واجهة برمجة التطبيقات جديد واستخدامه للوصول إلى Super Service API
ارجع إلى صفحة APIs & Services (واجهات برمجة التطبيقات والخدمات) >
Credentials (بيانات الاعتماد).
تأكَّد من أنّ مشروع Firebase لا يزال محدّدًا.
انقر على إنشاء بيانات الاعتماد > مفتاح واجهة برمجة التطبيقات. دوِّن مفتاح واجهة برمجة التطبيقات الجديد، ثم انقر على تقييد المفتاح.
في قسم قيود واجهة برمجة التطبيقات، اختَر تقييد المفتاح، ثم أضِف Super Service API إلى القائمة فقط.
يمنح مفتاح واجهة برمجة التطبيقات الجديد هذا إمكانية الوصول إلى Super Service API فقط.
إذا أعددت مشاريع Firebase مختلفة لبيئات مختلفة، مثل
التنظيم والإنتاج، من المهم أن يتفاعل كل مثيل تطبيق مع
مشروع Firebase المقابل له. على سبيل المثال، يجب ألا يتصل مثيل تطبيقك التجريبي
بمشروع Firebase الإنتاجي. يعني هذا أيضًا أنّ تطبيقك في مرحلة الإعداد يجب أن يستخدم مفاتيح واجهة برمجة التطبيقات المرتبطة بمشروع Firebase في مرحلة الإعداد.
للحدّ من المشاكل التي تحدث عند نقل تغييرات الرمز البرمجي من مرحلة التطوير إلى مرحلة الاختبار ثم إلى مرحلة الإنتاج، ننصحك بعدم تضمين مفاتيح واجهة برمجة التطبيقات في الرمز البرمجي نفسه، بل ضبطها كمتغيّرات بيئة أو تضمينها في ملف إعداد.
الأسئلة الشائعة وتحديد المشاكل وحلّها
الأسئلة الشائعة
هل يتم فرض قيود على مفاتيح واجهة برمجة التطبيقات
لخدمات Firebase تلقائيًا؟
واجهات برمجة التطبيقات التي تمت إضافتها إلى هذه القائمة المسموح بها هي تلك التي يتم طلبها من خلال خدمات Firebase من رمز العميل وتتطلّب مفاتيح واجهة برمجة التطبيقات لتحديد مشروعك أو تطبيقك على Firebase. يُرجى العِلم أنّ معظم واجهات برمجة التطبيقات المطلوبة لاستخدام خدمات Firebase لا تحتاج في الواقع إلى أن تكون مدرَجة في القائمة المسموح بها لمفاتيح واجهة برمجة التطبيقات.
بما أنّ Firebase تضيف واجهات برمجة التطبيقات اللازمة لجميع خدمات Firebase، قد تتضمّن القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات واجهات برمجة تطبيقات لمنتجات لا تستخدمها. يمكنك
إزالة واجهات برمجة التطبيقات من القائمة المسموح بها، ولكن عليك توخي الحذر الشديد لعدم إزالة
واجهات برمجة التطبيقات المطلوبة لمنصة Firebase وخدمات Firebase التي تستخدمها (اطّلِع على
قائمة واجهات برمجة التطبيقات ذات الصلة بمنصة Firebase
التي يجب أن تكون مدرَجة في القائمة المسموح بها لكل خدمة أو منتج). وإلا ستظهر لك أخطاء عند إجراء طلبات إلى خدمات Firebase.
يمكنك الاطّلاع على جميع مفاتيح واجهة برمجة التطبيقات و"قيود واجهة برمجة التطبيقات" في صفحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة تحكّم Google Cloud.
يُرجى ملاحظة ما يلي بشأن كيفية تطبيق Firebase لهذه "القيود المفروضة على واجهة برمجة التطبيقات":
خلال شهر مايو 2024، سيتم حصر جميع مفاتيح واجهة برمجة التطبيقات الحالية وغير المقيّدة التي سبق أن وفّرها Firebase تلقائيًا في قائمة واجهات برمجة التطبيقات ذات الصلة بـ Firebaseبالإضافة إلى أي من واجهات برمجة التطبيقات المفعَّلة حاليًا في المشروع.
لم يتم تغيير أي مفاتيح واجهة برمجة تطبيقات حالية ومحظورة سبق أن وفّرتها Firebase تلقائيًا.
لم يتم تغيير أي مفاتيح حالية لواجهة برمجة التطبيقات لم يتم توفيرها تلقائيًا من خلال Firebase.
كيف يمكنني تحديد مفتاح واجهة برمجة التطبيقات
المرتبط بتطبيق Firebase؟
يمكنك استخدام أي من الخيارات التالية لتحديد مفتاح واجهة برمجة التطبيقات
المرتبط بتطبيق Firebase:
هل يمكنني
إدراج مفتاحَي واجهة برمجة تطبيقات لتطبيق Firebase نفسه في ملف/عنصر إعدادات
Firebase؟
تطبيقات Firebase Apple: لكل تطبيق ملف إعداد خاص به ويمكن أن يتضمّن مفتاح واجهة برمجة تطبيقات واحدًا فقط.
تطبيقات Android على Firebase: يتم إدراج جميع تطبيقات Android في مشروع Firebase في ملف الإعداد نفسه، ويمكن أن يكون لكل تطبيق مفتاح واحد فقط لواجهة برمجة التطبيقات. ومع ذلك، يمكن أن يكون لكل تطبيق في ملف الإعداد هذا مفتاح مختلف مدرج.
تطبيقات الويب في Firebase: لكل تطبيق عنصر إعداد خاص به ويمكن أن يتضمّن مفتاح واجهة برمجة تطبيقات واحدًا فقط.
يمكنك استخدام مفاتيح متعددة لواجهة برمجة التطبيقات مع تطبيق واحد. يجب توفير آلية لتطبيقك للوصول إلى مفاتيح واجهة برمجة التطبيقات الأخرى هذه، مثلاً من خلال متغيّر بيئة. لا يمكن أن تعتمد آلية الوصول إلى مفاتيح واجهة برمجة التطبيقات الأخرى على إدراج مفاتيح واجهة برمجة التطبيقات هذه في ملف إعداد/عنصر Firebase.
كيف تتعرّف Firebase على مفتاح واجهة برمجة التطبيقات الذي يجب مطابقته مع تطبيق معيّن (مثل ملف/عنصر إعدادات Firebase)؟
إذا لم تعثر Firebase على أي مفاتيح مقيّدة مطابقة، ستُدرج في ملف إعداد/عنصر الإعدادات iOS key لتطبيقات Apple وAndroid key لتطبيقات Android وBrowser key لتطبيقات الويب (بافتراض أنّ هذه المفاتيح متوفّرة ولا تتضمّن أي "قيود على التطبيقات" تمنعها من مطابقة هذا التطبيق).
هل يمكنني حذف مفتاح واجهة برمجة التطبيقات والحقل يدويًا من ملف إعداد/عنصر Firebase؟
نعم، يمكنك حذف مفتاح واجهة برمجة التطبيقات يدويًا من ملف/عنصر الإعداد. ومع ذلك،
يجب توفير آلية أخرى لتطبيقك للوصول إلى مفتاح واجهة برمجة التطبيقات
(مثل متغيّر بيئة). وإلا، ستفشل أي مكالمات
لخدمات Firebase.
هل يمكنني تعديل ملف/عنصر إعدادات Firebase يدويًا باستخدام مفاتيح واجهة برمجة تطبيقات مختلفة؟
هل يمكنني نقل
مفتاح واجهة برمجة تطبيقات من مشروع Firebase إلى آخر؟
لا، يحدّد مفتاح واجهة برمجة التطبيقات مشروعًا معيّنًا فقط ولا يمكن نقله إلى مشروع آخر.
ماذا يحدث إذا حذفتُ مفتاح واجهة برمجة تطبيقات مدرَجًا في وحدة تحكّم Google Cloud؟
إذا حذفت مفتاح واجهة برمجة تطبيقات مستخدَمًا في أحد التطبيقات، ستتعذّر طلبات البيانات من واجهة برمجة التطبيقات التي يرسلها هذا التطبيق. قد تتلقّى تقارير أو رسائل إلكترونية أو أخطاء تفيد بأنّك تحاول استخدام
مفتاح واجهة برمجة تطبيقات غير صالح.
يُعدّ حذف مفتاح واجهة برمجة التطبيقات إجراءً نهائيًا ولا يمكن التراجع عنه.
ما هي واجهات برمجة التطبيقات المطلوبة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" لمفتاح واجهة برمجة تطبيقات Firebase؟
بالنسبة إلى مفتاح واجهة برمجة التطبيقات في Firebase، فإنّ واجهات برمجة التطبيقات الوحيدة التي يجب أن تكون مدرَجة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" للمفتاح هي واجهات برمجة التطبيقات التي تتطلّب من العميل تقديم مفتاح واجهة برمجة التطبيقات مع الطلب. يُرجى العِلم أنّ هذا الشرط ينطبق على عدد قليل جدًا من واجهات برمجة التطبيقات ذات الصلة بمنصة Firebase. لا تحتاج معظم واجهات برمجة التطبيقات المرتبطة بمنصة Firebase والمفعَّلة في مشروعك إلى أن تكون
مُدرَجة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" للمفتاح.
يمكنك الاطّلاع على مفاتيح واجهة برمجة التطبيقات الخاصة بمشروعك وإدارتها في صفحة واجهات برمجة التطبيقات والخدمات >
بيانات الاعتماد
في وحدة تحكّم Google Cloud.
واجهة برمجة تطبيقات مطوّر برامج 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
Firebase AI Logic API
حِزم تطوير البرامج (SDK) لعملاء Firebase AI Logic
fpnv.googleapis.com
Firebase Phone Number Verification API
Firebase Phone Number Verification
* مطلوب فقط في حال استخدام مفتاح واجهة برمجة التطبيقات في 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 Management API
مُدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها.
تلقّيتُ رسالة إلكترونية أو رسالة خطأ تفيد بأنّ
مفتاح واجهة برمجة التطبيقات غير صالح. ما الذي حدث وكيف يمكنني حلّ هذه المشكلة؟
في ما يلي بعض الأسباب الأكثر شيوعًا لعدم صلاحية مفاتيح واجهة برمجة التطبيقات:
تم تطبيق "قيود مفتاح واجهة برمجة التطبيقات" على مفتاح واجهة برمجة التطبيقات، ما يجعله غير متوافق مع التطبيق الذي يحاول استخدام المفتاح ("قيود التطبيق") أو غير قابل للاستخدام مع واجهة برمجة التطبيقات التي يتم طلبها ("قيود واجهة برمجة التطبيقات").
تم حذف مفتاح واجهة برمجة التطبيقات من المشروع في وحدة تحكّم Google Cloud.
لم يتم إنشاء مفتاح واجهة برمجة التطبيقات لرقم تعريف المشروع المُدرَج في ملف/عنصر إعدادات Firebase الخاص بالتطبيق.