ใช้คีย์ API กับ Roads API

ผลิตภัณฑ์ Google Maps Platform มีความปลอดภัยจากการใช้งานที่ไม่ได้รับอนุญาตโดยจํากัดการเรียก API ไว้เฉพาะกับข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่เหมาะสม ข้อมูลเข้าสู่ระบบเหล่านี้จะอยู่ในรูปแบบคีย์ API ซึ่งเป็นสตริงที่เป็นตัวอักษรและตัวเลขคละกันแบบไม่ซ้ําซึ่งเชื่อมโยงบัญชีสําหรับการเรียกเก็บเงินของ Google กับโปรเจ็กต์ของคุณ และใช้กับ API หรือ SDK ที่เฉพาะเจาะจง

คู่มือนี้จะแสดงวิธีสร้าง จํากัด และใช้คีย์ API สําหรับ Google Maps Platform

ข้อควรทราบก่อนที่จะเริ่มต้น

ก่อนที่จะเริ่มใช้ Roads API คุณต้องมีโปรเจ็กต์ที่เปิดใช้บัญชีสําหรับการเรียกเก็บเงินและมีการเปิดใช้ Roads API ดูข้อมูลเพิ่มเติมได้ในตั้งค่าใน Cloud Console

การสร้างคีย์ API

คีย์ API คือตัวระบุที่ไม่ซ้ํากัน ซึ่งจะตรวจสอบสิทธิ์คําขอที่เชื่อมโยงกับโปรเจ็กต์เพื่อการใช้งานและการเรียกเก็บเงิน คุณต้องมีคีย์ API อย่างน้อย 1 รายการที่เชื่อมโยงกับโปรเจ็กต์

วิธีสร้างคีย์ API

คอนโซล

  1. ไปที่หน้า Google Maps Platform > ข้อมูลเข้าสู่ระบบ

    ไปที่หน้าข้อมูลเข้าสู่ระบบ

  2. ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API
    กล่องโต้ตอบคีย์ API ที่สร้างจะแสดงคีย์ API ที่คุณสร้างใหม่
  3. คลิกปิด
    คีย์ API ใหม่จะแสดงในหน้าข้อมูลเข้าสู่ระบบในส่วนคีย์ API
    (อย่าลืมจํากัดคีย์ API ก่อนใช้ในเวอร์ชันที่ใช้งานจริง)

Cloud SDK

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

อ่านเพิ่มเติมเกี่ยวกับ Google Cloud SDK, การติดตั้ง Cloud SDK และคําสั่งต่อไปนี้

การจํากัดคีย์ API

Google ขอแนะนําอย่างยิ่งให้คุณจํากัดคีย์ API ด้วยการจํากัดการใช้งาน API เหล่านั้นซึ่งจําเป็นต่อแอปพลิเคชันเท่านั้น การจํากัดคีย์ API จะเพิ่มความปลอดภัยให้กับแอปพลิเคชันของคุณด้วยการปกป้องคีย์จากคําขอที่ไม่มีการรับประกัน ดูข้อมูลเพิ่มเติมได้ในแนวทางปฏิบัติแนะนําด้านความปลอดภัยของ API

วิธีจํากัดคีย์ API

คอนโซล

  1. ไปที่หน้า Google Maps Platform > ข้อมูลเข้าสู่ระบบ

    ไปที่หน้าข้อมูลเข้าสู่ระบบ

  2. เลือกคีย์ API ที่ต้องการตั้งข้อจํากัด หน้าพร็อพเพอร์ตี้ของคีย์ API จะปรากฏขึ้น
  3. ในส่วนข้อจํากัดของคีย์ ให้ตั้งค่าข้อจํากัดต่อไปนี้
    • ข้อจำกัดแอปพลิเคชัน:
      1. หากต้องการยอมรับคําขอจากรายการที่อยู่ IP ของเว็บเซิร์ฟเวอร์ที่คุณระบุ ให้เลือกที่อยู่ IP (เว็บเซิร์ฟเวอร์, งาน Cron ฯลฯ) จากรายการข้อจํากัดของแอปพลิเคชัน ระบุที่อยู่ IPv4 หรือ IPv6 หรือซับเน็ตโดยใช้รูปแบบ CIDR (เช่น 192.168.0.0/22) เนื่องจากคําขอบริการเว็บจะตรวจสอบและเปรียบเทียบที่อยู่ IP ภายนอกกับข้อจํากัดของคีย์ API ให้ใช้ที่อยู่ IP สาธารณะของเซิร์ฟเวอร์
    • ข้อจำกัด API:
      1. คลิกจํากัดคีย์
      2. เลือก Roads API จากเมนูแบบเลื่อนลงเลือก API หาก Roads API ไม่อยู่ในรายการ คุณต้อง เปิดใช้ API นั้น
  4. หากต้องการเปลี่ยนแปลงให้เสร็จสมบูรณ์ ให้คลิกบันทึก

Cloud SDK

ระบุคีย์ที่มีอยู่

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

ล้างข้อจํากัดที่มีอยู่ในคีย์ที่มีอยู่

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

กําหนดข้อจํากัดใหม่ในคีย์ที่มีอยู่

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --api_target="roads.googleapis.com"
    --allowed-ips="IP_ADDRESS"

อ่านเพิ่มเติมเกี่ยวกับ Google Cloud SDK, การติดตั้ง Cloud SDK และคําสั่งต่อไปนี้

การเพิ่มคีย์ API ในคําขอ

คุณต้องรวมคีย์ API ไว้กับคําขอ Roads API ทุกรายการ ในตัวอย่างต่อไปนี้ ให้แทนที่ YOUR_API_KEY ด้วยคีย์ API

https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836 &interpolate=true &key=YOUR_API_KEY

ต้องใช้ HTTPS กับคําขอที่ใช้คีย์ API