تعرَّف على كيفية استخدام مفاتيح واجهة برمجة التطبيقات وإدارتها في Firebase.
مفتاح واجهة برمجة التطبيقات هو سلسلة فريدة تُستخدَم لتوجيه الطلبات إلى مشروعك في Firebase
عند التفاعل مع خدمات Firebase وGoogle. تصف هذه الصفحة
معلومات أساسية حول مفاتيح واجهة برمجة التطبيقات بالإضافة إلى أفضل الممارسات لاستخدام
مفاتيح واجهة برمجة التطبيقات وإدارتها مع تطبيقات Firebase.
معلومات عامة عن مفاتيح واجهة برمجة التطبيقات وFirebase
تختلف مفاتيح واجهة برمجة التطبيقات لمنصّة Firebase عن مفاتيح واجهة برمجة التطبيقات النموذجية
على عكس طريقة استخدام مفاتيح واجهة برمجة التطبيقات عادةً، لا تُستخدَم مفاتيح واجهة برمجة التطبيقات في خدمات Firebase
للتحكّم في الوصول إلى الموارد الخلفية، إذ لا يمكن إجراء ذلك
إلا من خلال "قواعد أمان Firebase" (للتحكُّم في المستخدمين النهائيين الذين يمكنهم الوصول إلى الموارد)
وميزة "فحص التطبيقات من Firebase" (للتحكّم في التطبيقات التي يمكنها الوصول إلى الموارد).
عليك عادةً حماية مفاتيح واجهة برمجة التطبيقات بسرعة (على سبيل المثال، باستخدام خدمة Vault أو ضبط المفاتيح كمتغيّرات للبيئة)، ومع ذلك، يُسمح بتضمين مفاتيح واجهة برمجة التطبيقات لخدمات Firebase في الرموز البرمجية أو ملفات الإعداد التي تم تسجيل الوصول إليها.
ويمكن أن يتضمّن مشروع Firebase العديد من مفاتيح واجهة برمجة التطبيقات، ولكن يمكن ربط كل مفتاح واجهة برمجة التطبيقات بمشروع واحد فقط في Firebase.
ينشئ Firebase تلقائيًا مفاتيح واجهة برمجة التطبيقات لمشروعك عند تنفيذ أيٍّ من الإجراءات التالية:
إنشاء مشروع في Firebase > Browser key تم إنشاؤه تلقائيًا
إنشاء تطبيق Firebase على Apple > iOS key مُنشأ تلقائيًا
إنشاء تطبيق Android في Firebase > إنشاء تطبيق "Android key" تلقائيًا
يمكنك أيضًا إنشاء مفاتيح واجهة برمجة التطبيقات الخاصة بك في Google Cloud Console، على سبيل المثال للتطوير أو تصحيح الأخطاء. تعرف على المزيد حول متى يمكن
اقتراح هذا لاحقًا في هذه الصفحة.
تطبيقات Firebase من Apple: ابحث عن مفتاح واجهة برمجة التطبيقات الذي تتم مطابقته تلقائيًا في ملف إعداد Firebase
"GoogleService-Info.plist"، في الحقل
API_KEY.
تطبيقات Android على Firebase: يمكنك العثور على مفتاح واجهة برمجة التطبيقات الذي تتم مطابقته تلقائيًا في
ملف إعداد Firebase، google-services.json، في الحقل
current_key.
تطبيقات الويب لمنصة Firebase: يمكنك البحث عن مفتاح واجهة برمجة التطبيقات الذي تتم مطابقته تلقائيًا في عنصر ضبط Firebase
ضمن الحقل apiKey.
استخدام مفتاح واجهة برمجة التطبيقات
تُستخدم مفاتيح واجهة برمجة التطبيقات لتحديد مشروع Firebase عند التفاعل مع خدمات Firebase/Google. على وجه التحديد، تُستخدم لربط طلبات واجهة برمجة التطبيقات
بمشروعك من أجل الحصة والفوترة. كما أنها مفيدة للوصول إلى
البيانات العامة.
على سبيل المثال، يمكنك بشكل صريح استخدام مفتاح واجهة برمجة التطبيقات عن طريق تمرير قيمته إلى طلب REST API باعتباره معلَمة طلب بحث. يوضّح هذا المثال كيفية تقديم طلب إلى
واجهة برمجة التطبيقات لتقصير الروابط الديناميكية:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
عندما يجري تطبيقك اتصالاً بواجهة برمجة تطبيقات Firebase تتطلب مفتاح واجهة برمجة تطبيقات يوفّره
برنامج الأجهزة الجوّالة/الويب، سيبحث تطبيقك تلقائيًا في
ملف/كائن إعداد Firebase لمفتاح واجهة برمجة التطبيقات لمشروعك. ومع ذلك، يمكنك توفير مفاتيح واجهة برمجة التطبيقات لتطبيقك باستخدام آلية مختلفة، بما في ذلك متغيرات البيئة.
على الرغم من أنّه ليس من الضروري التعامل مع مفتاح واجهة برمجة التطبيقات لخدمات Firebase
على أنّه سري، يجب مراجعة القيود والحدود وتطبيقها كما هو موضَّح في هذا
القسم.
مراجعة واجهات برمجة التطبيقات التي تمت إضافتها تلقائيًا إلى القائمة المسموح بها لمفاتيح واجهة برمجة تطبيقات Firebase
عندما ينشئ Firebase مفتاح واجهة برمجة تطبيقات في مشروعك، نضيف تلقائيًا
"قيود واجهة برمجة التطبيقات"
إلى ذلك المفتاح. إنّ واجهات برمجة التطبيقات المضافة إلى هذه القائمة المسموح بها هي واجهات برمجة تطبيقات مرتبطة بمنصة Firebase
وتتطلب من العميل تقديم مفتاح واجهة برمجة تطبيقات مع الطلب. تجدر الإشارة إلى أنّ معظم واجهات برمجة التطبيقات المطلوبة لاستخدام خدمات Firebase لا يلزم أن تكون مدرَجة في القائمة المسموح بها لمفاتيح واجهة برمجة التطبيقات.
بما أنّ Firebase يضيف واجهات برمجة التطبيقات اللازمة لجميع خدمات Firebase، قد تتضمّن القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات واجهات برمجة التطبيقات للمنتجات التي لا تستخدمها.
يمكنك إزالة واجهات برمجة التطبيقات من القائمة المسموح بها، ولكن عليك توخي الحذر الشديد لتجنُّب
إزالة واجهات برمجة التطبيقات المطلوبة لخدمات Firebase وخدمات Firebase التي تستخدمها
(راجِع
قائمة واجهات برمجة التطبيقات (API) ذات الصلة بمنصة Firebase
التي يجب أن تكون ضمن القائمة المسموح بها لكل خدمة أو منتج). وإلا ستظهر لك أخطاء عند إجراء طلبات بخدمات Firebase.
تشديد الحصة في حالة استخدام المصادقة المستندة إلى كلمة المرور
إذا كنت تستخدم مصادقة Firebase المستندة إلى كلمة المرور وحصل أحد الأشخاص على مفتاح واجهة برمجة التطبيقات الخاص بك، لن يتمكّن من الوصول إلى أي من قاعدة بيانات مشروعك على Firebase
أو بيانات Cloud Storage طالما أنّ هذه البيانات محمية بموجب
قواعد الأمان في Firebase. ومع ذلك، يمكنهم استخدام مفتاح واجهة برمجة التطبيقات للوصول إلى نقاط نهاية مصادقة Firebase وإجراء طلبات مصادقة على مشروعك.
للحدّ من احتمالية إساءة استخدام أحد مفاتيح واجهة برمجة التطبيقات لمحاولة
هجوم القوة الغاشمة، يمكنك تضييق الحصة التلقائية لنقاط النهاية
identitytoolkit.googleapis.com لتعكس توقعات الزيارات
العادية لتطبيقك. واعلم أنه في حال حصر هذه الحصة وتطبيق تطبيقك فجأة
لمستخدمين، قد تظهر لك أخطاء في تسجيل الدخول إلى أن يتم زيادة الحصة.
يمكنك تغيير حصص واجهات برمجة التطبيقات لمشروعك من خلال
Google Cloud Console.
استخدام مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة لأي خدمة غير تابعة لمنصة Firebase
على الرغم من أنّ مفاتيح واجهة برمجة التطبيقات المستخدَمة في خدمات Firebase لا تحتاج بشكل عام إلى التعامل معها على أنّها سرية، إلا أنّه يجب اتخاذ بعض الاحتياطات الإضافية بشأن مفاتيح واجهة برمجة التطبيقات التي تستخدمها
مع واجهات Google Cloud API الأخرى.
إذا كنت تستخدم واجهة برمجة تطبيقات Google Cloud API (على أي نظام أساسي) ليست مخصّصة لخدمة أو منتج Firebase، ننصحك بشدة بإنشاء مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة، وذلك لاستخدامها مع واجهات برمجة التطبيقات هذه. وهذا مهم بشكل خاص إذا كانت واجهة برمجة التطبيقات خاصة
بخدمة Google Cloud قابلة للفوترة.
على سبيل المثال، إذا كنت تستخدم تعلُّم الآلة في Firebase وواجهات Cloud Vision API على نظام التشغيل iOS، عليك إنشاء مفاتيح واجهة برمجة تطبيقات منفصلة لا تستخدمها إلا للوصول إلى واجهات برمجة التطبيقات Cloud Vision.
باستخدام مفاتيح واجهة برمجة التطبيقات المنفصلة والمحظورة لواجهات برمجة تطبيقات غير Firebase، يمكنك تدوير المفاتيح أو استبدالها عند الضرورة وإضافة قيود إضافية إلى مفاتيح واجهة برمجة التطبيقات
بدون تعطيل استخدامك لخدمات Firebase.
عرض تعليمات إنشاء مفاتيح خاصة بواجهة برمجة التطبيقات
توضّح هذه التعليمات كيفية إنشاء مفتاح واجهة برمجة تطبيقات منفصل ومحدود لواجهة برمجة تطبيقات مزيّفة تُسمى Super Service API.
الخطوة 1: ضبط مفاتيح واجهة برمجة التطبيقات الحالية لمنع الوصول إلى Super Service API
افتح صفحة بيانات الاعتماد
في وحدة تحكُّم Google Cloud. اختَر مشروعك عندما يُطلب منك ذلك.
افتح عرض التعديل لكل مفتاح واجهة برمجة تطبيقات حالي في القائمة.
في القسم قيود واجهة برمجة التطبيقات، اختَر Restrict key (المفتاح)، ثم أضِف جميع واجهات برمجة التطبيقات التي تريد منح مفتاح واجهة برمجة التطبيقات إذن الوصول إليها إلى القائمة. تأكَّد من
عدم تضمين واجهة برمجة التطبيقات التي تنشئ لها مفتاح واجهة برمجة تطبيقات منفصلاً
(في هذا المثال، Super Service API).
عند ضبط قيود واجهة برمجة التطبيقات الخاصة بمفتاح واجهة برمجة التطبيقات، يتم الإفصاح صراحةً عن واجهات برمجة التطبيقات التي يمكن للمفتاح الوصول إليها. بشكل تلقائي، عند اختيار عدم تقييد المفتاح في قسم قيود واجهة برمجة التطبيقات، يمكن استخدام مفتاح واجهة برمجة التطبيقات للوصول إلى أي واجهة برمجة تطبيقات تم تفعيلها للمشروع.
لن تمنح مفاتيح واجهة برمجة التطبيقات الحالية إذن الوصول إلى "Super Service API"، ولكن
سيستمر عمل كل مفتاح مع أي واجهات برمجة تطبيقات أضفتها إلى قائمة
قيود واجهة برمجة التطبيقات الخاصة به.
الخطوة 2: إنشاء مفتاح واجهة برمجة تطبيقات جديد واستخدامه للوصول إلى Super Service API
ارجع إلى صفحة بيانات الاعتماد. تأكّد من استمرار اختيار مشروعك في Firebase.
انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات. دوِّن مفتاح واجهة برمجة التطبيقات الجديد، ثم انقر
على تقييد المفتاح.
في قسم قيود واجهة برمجة التطبيقات، اختَر تقييد المفتاح، ثم أضِف Super Service API إلى القائمة فقط.
يمنح مفتاح واجهة برمجة التطبيقات الجديد هذا إمكانية الوصول إلى Super Service API فقط.
استخدام مفاتيح واجهة برمجة التطبيقات الخاصة بالبيئة (يُنصح به)
في حال إعداد مشاريع مختلفة على Firebase لبيئات مختلفة، مثل مرحلة الإنتاج والإنتاج، من المهم أن يتفاعل كل مثيل تطبيق مع مشروع Firebase المقابل. على سبيل المثال، يجب ألا تتحدث مثيل التطبيق المرحلي أبدًا
مع مشروع Firebase للإنتاج. وهذا يعني أيضًا أنّ تطبيقك المرحلي يحتاج إلى استخدام مفاتيح واجهة برمجة التطبيقات المرتبطة بمشروع Firebase المرحلي.
وللحدّ من المشاكل التي تؤدي إلى حدوث تغييرات في الرموز البرمجية من مرحلة التطوير إلى مرحلة الإنتاج، وبدلاً من تضمين مفاتيح واجهة برمجة التطبيقات في الرمز البرمجي نفسه، يمكنك ضبطها كمتغيّرات بيئة أو تضمينها في ملف إعداد.
تجدر الإشارة إلى أنّك إذا كنت تستخدم "حزمة محاكي Firebase المحلية" للتطوير إلى جانب تعلُّم الآلة في Firebase، يجب إنشاء واستخدام مفتاح واجهة برمجة تطبيقات لتصحيح الأخطاء فقط. يمكن الاطّلاع على تعليمات إنشاء هذا النوع من المفاتيح في مستندات تعلُّم الآلة من Firebase.
الأسئلة الشائعة وتحديد المشاكل وحلّها
الأسئلة الشائعة
هل تكون مفاتيح واجهة برمجة التطبيقات
لخدمات Firebase محظورة تلقائيًا؟
واجهات برمجة التطبيقات المضافة إلى هذه القائمة المسموح بها هي واجهات برمجة التطبيقات التي تطلبها خدمات Firebase من رمز العميل وتتطلب مفاتيح واجهة برمجة التطبيقات لتحديد مشروعك أو تطبيقك على Firebase. ويُرجى العلم بأنّ معظم واجهات برمجة التطبيقات المطلوبة لاستخدام خدمات Firebase لا يلزم أن تكون ضمن القائمة المسموح بها لمفاتيح واجهة برمجة التطبيقات الخاصة بك.
بما أنّ Firebase يضيف واجهات برمجة التطبيقات اللازمة لجميع خدمات Firebase، قد تتضمّن القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات واجهات برمجة التطبيقات للمنتجات التي لا تستخدمها. يمكنك إزالة
واجهات برمجة التطبيقات من القائمة المسموح بها، ولكن عليك توخي الحذر الشديد لتجنُّب إزالة
واجهات برمجة التطبيقات المطلوبة لخدمات Firebase وخدمات Firebase التي تستخدمها (راجِع
قائمة واجهات برمجة التطبيقات (API) ذات الصلة بمنصة 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 CLI
احصل على ملف/كائن إعداد Firebase للتطبيق المعنيّ عن طريق تشغيل الأمر التالي:
في إعدادات Firebase المطبوعة الخاصة بالتطبيق، ابحث عن مفتاح واجهة برمجة التطبيقات الخاص به:
تفاح: ابحث عن حقل API_KEY.
Android: ابحث عن إعدادات التطبيق المعنيّ (ابحث عن اسم الحزمة)، ثم ابحث عن حقل current_key.
الويب: البحث عن حقل apiKey
واجهة برمجة تطبيقات REST
يمكنك الحصول على apiKeyId (المعرّف الفريد) لمفتاح واجهة برمجة التطبيقات من خلال طلب نقطة النهاية المناسبة للتطبيق المعنيّ، ثم ضبط القيمة apiKeyId على الخطوة التالية.
هذه القيمة keyString هي القيمة نفسها التي يمكن العثور عليها في أداة إعداد
التطبيق
(Apple |
Android |
الويب).
هل يمكنني
إدراج مفتاحَي واجهة برمجة تطبيقات لتطبيق Firebase نفسه في ملف/كائن إعداد
Firebase؟
تطبيقات Firebase Apple - لكل تطبيق ملف إعداد خاص به ويمكن إدراج مفتاح واجهة برمجة تطبيقات واحد فقط لكل تطبيق.
تطبيقات 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 Console؟
في حال حذفت مفتاح واجهة برمجة تطبيقات يستخدمه أحد التطبيقات، لن تنجح طلبات البيانات من هذا التطبيق. قد تتلقّى تقارير أو رسائل إلكترونية أو أخطاء تفيد بأنّك تحاول استخدام مفتاح واجهة برمجة تطبيقات غير صالح.
حذف مفتاح واجهة برمجة التطبيقات هو إجراء نهائي ولا يمكن التراجع عنه.
ما هي
واجهات برمجة التطبيقات المطلوبة في القائمة المسموح بها "قيود واجهة برمجة التطبيقات" لمفتاح واجهة برمجة تطبيقات Firebase؟
بالنسبة إلى مفتاح واجهة برمجة تطبيقات Firebase، فإنّ واجهات برمجة التطبيقات الوحيدة التي يلزم أن تكون ضمن قائمة "قيود واجهة برمجة التطبيقات"
الخاصة بالمفتاح هي واجهات برمجة التطبيقات التي تتطلّب من العميل تقديم
مفتاح واجهة برمجة تطبيقات مع الطلب. تجدر الإشارة إلى أنّ عددًا قليلاً جدًا من واجهات برمجة التطبيقات المرتبطة بمنصة Firebase
تتضمّن هذا الشرط. معظم واجهات برمجة التطبيقات (API) ذات الصلة بمنصة Firebase المفعَّلة في مشروعك لا يلزم أن تكون مُدرَجة في القائمة المسموح بها الخاصة بـ "قيود واجهة برمجة التطبيقات" (API) الخاصة بالمفتاح.
استخدِم الجدول التالي لتحديد واجهات برمجة التطبيقات ذات الصلة بمنصة Firebase التي يجب تضمينها في القائمة المسموح بها "قيود واجهة برمجة التطبيقات" الخاصة بمفتاح واجهة برمجة تطبيقات Firebase. تذكّر أنّه يجب استخدام مفاتيح واجهة برمجة تطبيقات Firebase مع خدمات Firebase فقط. تعرَّف على مزيد من المعلومات حول
إنشاء
مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة لأنواع محددة من واجهات برمجة التطبيقات.
واجهة برمجة تطبيقات تسجيل الدخول إلى السحابة الإلكترونية
كل المنتجات
firebaseinstallations.googleapis.com
واجهة برمجة تطبيقات عمليات تثبيت Firebase
خدمة Cloud Messaging وCrashlytics والمراسلة داخل التطبيق ومراقبة الأداء والإعداد عن بُعد وتعلُّم الآلة في Firebase
firebaseappcheck.googleapis.com
واجهة برمجة التطبيقات لفحص التطبيقات من Firebase
فحص التطبيقات
firebaseappdistribution.googleapis.com
واجهة برمجة التطبيقات Firebase App Distribution
App Distribution
firebaseapptesters.googleapis.com
واجهة برمجة التطبيقات لمختبري تطبيقات Firebase
App Distribution
identitytoolkit.googleapis.com
واجهة برمجة تطبيقات مجموعة أدوات الهوية
المصادقة
securetoken.googleapis.com
واجهة برمجة تطبيقات خدمة الرمز المميز
المصادقة
firebaserules.googleapis.com *
واجهة برمجة التطبيقات لقواعد Firebase
Cloud Firestore وCloud Storage وقاعدة بيانات الوقت الفعلي
datastore.googleapis.com
واجهة برمجة تطبيقات Cloud Datastore API
Cloud Firestore
firestore.googleapis.com
واجهة برمجة تطبيقات Google Cloud Firestore
Cloud Firestore
fcmregistrations.googleapis.com
واجهة برمجة تطبيقات تسجيل FCM
خدمة المراسلة عبر السحابة الإلكترونية
firebasestorage.googleapis.com
خدمة Cloud Storage لواجهة برمجة تطبيقات Firebase
Cloud Storage
firebasedynamiclinks.googleapis.com
واجهة برمجة تطبيقات "روابط Firebase الديناميكية"
الروابط الديناميكية
firebasehosting.googleapis.com *
واجهة برمجة تطبيقات استضافة Firebase
الاستضافة
firebaseinappmessaging.googleapis.com
واجهة برمجة التطبيقات لخدمة "المراسلة داخل التطبيق من Firebase"
المراسلة داخل التطبيق
firebaseml.googleapis.com
واجهة برمجة التطبيقات لتعلُّم الآلة في Firebase
تعلُّم الآلة في Firebase وVertex AI for Firebase
mlkit.googleapis.com **
واجهة برمجة تطبيقات ML Kit
Firebase ML
mobilecrashreporting.googleapis.com
Mobile Crash Reporting API
مراقبة الأداء
play.googleapis.com
واجهة برمجة تطبيقات مطوّر برامج Google Play Android
مراقبة الأداء
firebaseremoteconfig.googleapis.com
واجهة برمجة التطبيقات في Firebase عن بُعد في "الإعداد عن بُعد"
مراقبة الأداء، ميزة "الإعداد عن بُعد"
firebaseremoteconfigrealtime.googleapis.com
واجهة برمجة التطبيقات في الوقت الفعلي لـ "الإعداد عن بُعد في Firebase"
مراقبة الأداء، ميزة "الإعداد عن بُعد"
cloudconfig.googleapis.com **
لا ينطبق
الإعداد عن بُعد
firebasedatabase.googleapis.com *
واجهة برمجة التطبيقات لقاعدة بيانات Firebase في الوقت الفعلي
قاعدة بيانات الوقت الفعلي
* مطلوبة فقط في حال استخدام مفتاح واجهة برمجة تطبيقات 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 مُدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها.
تلقّيتُ رسالة إلكترونية أو خطأ تفيد بأنّ
مفتاح واجهة برمجة التطبيقات غير صالح. ماذا حدث وكيف يمكنني حلّ هذه المشكلة؟
وفي ما يلي بعض الأسباب الأكثر شيوعًا لمفاتيح واجهة برمجة التطبيقات غير الصالحة:
تم تطبيق "قيود مفتاح واجهة برمجة التطبيقات"
عليه في مفتاح واجهة برمجة التطبيقات، ما يجعله غير قابل للمطابقة مع التطبيق الذي يحاول استخدام المفتاح
("Application Restrictions") أو غير قابل للاستخدام بالنسبة إلى واجهة برمجة التطبيقات التي يُطلق عليها ("API
Restrictions").
تم حذف مفتاح واجهة برمجة التطبيقات من المشروع في وحدة تحكُّم Google Cloud.
لم يتم إنشاء مفتاح واجهة برمجة التطبيقات لرقم تعريف المشروع المدرَج في
ملف/كائن الإعداد الخاص بالتطبيق على Firebase.