استخدام مفاتيح واجهة برمجة التطبيقات مع Directions API (الإصدار القديم)

تتم حماية منتجات "منصة خرائط Google" من الاستخدام غير المصرّح به من خلال حصر طلبات البيانات من واجهة برمجة التطبيقات بتلك التي توفّر بيانات اعتماد المصادقة المناسبة. تتخذ بيانات الاعتماد هذه شكل مفتاح واجهة برمجة التطبيقات، وهو سلسلة فريدة من الأحرف الأبجدية الرقمية تربط حساب الفوترة في Google بمشروعك وبواجهة برمجة التطبيقات أو حزمة تطوير البرامج (SDK) المحدّدة.

تعرَّف على كيفية إنشاء مفتاح واجهة برمجة التطبيقات وحظره واستخدامه في "منصة خرائط Google".

قبل البدء

قبل البدء في استخدام Directions API (الإصدار القديم)، يجب أن يكون لديك مشروع يتضمّن حساب فوترة وأن تكون Directions API (الإصدار القديم) مفعَّلة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة الإعداد في Cloud Console.

إنشاء مفاتيح واجهة برمجة التطبيقات

مفتاح واجهة برمجة التطبيقات هو معرّف فريد يصادق على الطلبات المرتبطة بمشروعك لأغراض الاستخدام والفوترة. يجب أن يكون لديك مفتاح واجهة برمجة تطبيقات واحد على الأقل مرتبط بمشروعك.

لإنشاء مفتاح واجهة برمجة تطبيقات، اتّبِع الخطوات التالية:

وحدة التحكّم

  1. انتقِل إلى صفحة منصة خرائط Google > بيانات الاعتماد.

    الانتقال إلى صفحة "بيانات الاعتماد"

  2. في صفحة بيانات الاعتماد، انقر على إنشاء بيانات الاعتماد > مفتاح واجهة برمجة التطبيقات.
    يعرض مربّع الحوار تم إنشاء مفتاح واجهة برمجة التطبيقات مفتاح واجهة برمجة التطبيقات الذي تم إنشاؤه حديثًا.
  3. انقر على إغلاق.
    يتم إدراج مفتاح واجهة برمجة التطبيقات الجديد في صفحة بيانات الاعتماد ضمن مفاتيح واجهة برمجة التطبيقات.
    (يُرجى تذكُّر فرض قيود على مفتاح واجهة برمجة التطبيقات قبل استخدامه في مرحلة الإنتاج).

SDK للسحاب

gcloud services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

يمكنك الاطّلاع على مزيد من المعلومات حول Google Cloud SDK و تثبيت Cloud SDK والأوامر التالية:

فرض قيود على مفاتيح واجهة برمجة التطبيقات

تنصح Google بشدة بفرض قيود على مفاتيح واجهة برمجة التطبيقات من خلال حصر استخدامها على واجهات برمجة التطبيقات اللازمة لتطبيقك فقط. يؤدي فرض قيود على مفاتيح واجهة برمجة التطبيقات إلى تعزيز أمان تطبيقك من خلال حمايته من الطلبات غير المبرَّرة. أنت مسؤول ماليًا عن الرسوم الناتجة عن إساءة استخدام مفاتيح واجهة برمجة التطبيقات غير المقيّدة. لمزيد من المعلومات، يُرجى الاطّلاع على أفضل ممارسات أمان واجهة برمجة التطبيقات.

لفرض قيود على مفتاح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:

وحدة التحكّم

  1. انتقِل إلى صفحة منصة خرائط Google > بيانات الاعتماد.

    الانتقال إلى صفحة "بيانات الاعتماد"

  2. اختَر مفتاح واجهة برمجة التطبيقات الذي تريد فرض قيود عليه. ستظهر صفحة خصائص مفتاح واجهة برمجة التطبيقات.
  3. ضمن قيود المفاتيح، اضبط القيود التالية:
    • قيود التطبيق:
      1. لقبول الطلبات من قائمة عناوين IP لخوادم الويب التي تقدّمها، اختَر عناوين IP (خوادم الويب ومهام cron وما إلى ذلك) من قائمة قيود التطبيقات. حدِّد عنوان IPv4 أو IPv6 واحدًا أو أكثر، أو شبكة فرعية باستخدام تدوين CIDR. يجب أن تتطابق عناوين IP مع عنوان المصدر الذي ترصده خوادم "منصة خرائط Google". إذا كنت تستخدم ترجمة عنوان الشبكة (NAT)، سيتوافق ذلك عادةً مع عنوان IP العام لجهازك.
    • قيود واجهة برمجة التطبيقات:
      1. انقر على تقييد المفتاح.
      2. اختَر Directions API (Legacy)‎ من القائمة المنسدلة اختيار واجهات برمجة التطبيقات. إذا لم تكن واجهة برمجة التطبيقات Directions API (الإصدار القديم) مُدرَجة، عليك تفعيلها.
  4. لإنهاء التغييرات، انقر على حفظ.

SDK للسحاب

عرض قائمة بالمفاتيح الحالية

gcloud services api-keys list --project="PROJECT"

محو القيود الحالية على المفتاح الحالي

gcloud services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

ضبط قيود جديدة على المفتاح الحالي

gcloud services api-keys update projects/PROJECT/locations/global/keys/KEY_ID \
    --api-target=service=directions-backend.googleapis.com
    --allowed-ips="IP_ADDRESS"

يمكنك الاطّلاع على مزيد من المعلومات حول Google Cloud SDK و تثبيت Cloud SDK والأوامر التالية:

إضافة مفتاح واجهة برمجة التطبيقات إلى طلبك

يجب تضمين مفتاح واجهة برمجة التطبيقات مع كل طلب من Directions API (الإصدار القديم). في المثال التالي، استبدِل YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات:

https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY

بالنسبة إلى الطلبات التي تستخدم مفتاح واجهة برمجة التطبيقات، يجب استخدام HTTPS.