استفاده از کلیدهای API با Distance Matrix API (قدیمی)

محصولات «پلاتفرم Google Maps» با محدود کردن تماس‌های «میانای برنامه‌سازی کاربردی» به تماس‌هایی که اعتبارنامه‌های اصالت‌سنجی مناسب ارائه می‌دهند، دربرابر استفاده غیرمجاز ایمن می‌شوند. این اطلاعات اعتباری به‌صورت کلید API - رشته‌ای منحصربه‌فرد از حروف و اعداد که حساب صورت‌حساب Google شما را با پروژه شما و با API یا SDK خاص مرتبط می‌کند.

این راهنما نحوه ایجاد، محدود کردن، و استفاده از کلید API برای «پلاتفرم Google Maps» را نشان می‌دهد.

قبل‌از شروع

قبل‌از شروع استفاده از «میانای برنامه‌سازی کاربردی ماتریس فاصله» (قدیمی)، به پروژه‌ای با حساب صورت‌حساب و «میانای برنامه‌سازی کاربردی ماتریس فاصله» (قدیمی) فعال نیاز دارید. برای کسب اطلاعات بیشتر، راه‌اندازی در «کنسول Cloud» را ببینید.

درحال ایجاد کلیدهای میانای برنامه‌سازی کاربردی

کلید API یک شناسه یکتا است که درخواست‌های مرتبط با پروژه شما را برای اهداف استفاده و صورت‌حساب تأیید می‌کند. باید حداقل یک کلید API مرتبط با پروژه خود داشته باشید.

برای ایجاد کلید API:

کنسول

  1. به صفحه پلاتفرم Google Maps > اطلاعات اعتباری بروید.

    به صفحه «اطلاعات اعتباری» بروید

  2. در صفحه اطلاعات اعتباری، روی ایجاد اطلاعات اعتباری > کلید API کلیک کنید.
    کادر گفتگوی کلید میانای API ایجاد شد کلید میانای API جدیداً ایجادشده شما را نمایش می‌دهد.
  3. روی بستن کلیک کنید.
    کلید جدید API در صفحه اطلاعات اعتباری در بخش کلیدهای API فهرست شده است.
    (به‌یاد داشته باشید که قبل‌از استفاده از کلید در دسته هدف تولید، میانای برنامه‌سازی کاربردی را محدود کنید.)

Cloud SDK

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

درباره کیت توسعه نرم‌افزار Google Cloud ، نصب کیت توسعه نرم‌افزار Cloud ، و دستورات زیر بیشتر بخوانید:

محدود کردن کلیدهای میانای برنامه‌سازی کاربردی

‫Google قویاً توصیه می‌کند که کلیدهای میانای برنامه‌سازی کاربردی خود را با محدود کردن استفاده آن‌ها به میاناهای برنامه‌سازی کاربردی موردنیاز برنامه‌تان محدود کنید. محدود کردن کلیدهای API با محافظت از برنامه دربرابر درخواست‌های غیرموجه، به برنامه شما امنیت می‌افزاید. شما ازنظر مالی مسئول هزینه‌های ناشی از سوءاستفاده از کلیدهای API بدون محدودیت هستید. برای کسب اطلاعات بیشتر، روال‌های مطلوب امنیت API را ببینید.

برای محدود کردن کلید میانای API:

کنسول

  1. به صفحه پلاتفرم Google Maps > اطلاعات اعتباری بروید.

    به صفحه «اطلاعات اعتباری» بروید

  2. کلید API موردنظرتان را که می‌خواهید برای آن محدودیت تنظیم کنید انتخاب کنید. صفحه دارایی کلید میانای برنامه‌سازی کاربردی ظاهر می‌شود.
  3. در بخش محدودیت‌های کلیدی، محدودیت‌های زیر را تنظیم کنید:
    • محدودیت‌های برنامه:
      1. برای پذیرفتن درخواست‌ها از فهرست نشانی‌های IP سرور وب که ارائه می‌کنید، نشانی‌های IP (سرورهای وب، مشاغل cron، و غیره) را از فهرست محدودیت‌های برنامه انتخاب کنید. یک یا چند نشانی IPv4 یا IPv6، یا زیرشبکه را بااستفاده از نماد CIDR مشخص کنید. نشانی‌های IP باید با نشانی منبعی که سرورهای «پلاتفرم Google Maps» مشاهده می‌کنند مطابقت داشته باشد. اگر از ترجمه نشانی شبکه (NAT) استفاده می‌کنید، این معمولاً با نشانی IP عمومی دستگاه شما مطابقت دارد.
    • محدودیت‌های API:
      1. روی محدود کردن کلید کلیک کنید.
      2. از منو کرکره‌ای انتخاب میاناهای برنامه‌سازی کاربردی، Distance Matrix API (قدیمی) را انتخاب کنید. اگر «میانای برنامه‌سازی کاربردی ماتریس فاصله (قدیمی)» در فهرست نیست، باید آن را فعال کنید.
  4. برای نهایی کردن تغییرات، روی ذخیره کلیک کنید.

Cloud 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=distance-matrix-backend.googleapis.com
    --allowed-ips="IP_ADDRESS"

درباره کیت توسعه نرم‌افزار Google Cloud ، نصب کیت توسعه نرم‌افزار Cloud ، و دستورات زیر بیشتر بخوانید:

درحال افزودن کلید میانای برنامه‌سازی کاربردی به درخواست شما

باید در هر درخواست Distance Matrix API (قدیمی) کلید میانای برنامه‌سازی کاربردی را اضافه کنید. در مثال زیر، YOUR_API_KEY را با کلید API خود جایگزین کنید.

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY

برای درخواست‌هایی که از کلید API استفاده می‌کنند، HTTPS الزامی است.