การใช้คีย์ API

เลือกแพลตฟอร์ม: Android iOS JavaScript บริการเว็บ

ก่อนเริ่มต้น

ก่อนที่คุณจะเริ่มใช้ Places SDK สำหรับ Android คุณต้องมีโปรเจ็กต์ที่มีบัญชีสำหรับการเรียกเก็บเงินและเปิดใช้ Places SDK สำหรับ Android ดูข้อมูลเพิ่มเติมได้ในตั้งค่าใน 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 คุณต้องระบุลายนิ้วมือสำหรับใบรับรอง SHA-1 ของคีย์ Signing ที่ใช้ในการลงนามแอปพลิเคชัน ใบรับรองมี 2 ประเภท ได้แก่

  • ใบรับรองการแก้ไขข้อบกพร่อง: ใช้ใบรับรองประเภทนี้กับแอปที่คุณกำลังทดสอบและโค้ดอื่นๆ ที่ไม่ได้ใช้งานจริงเท่านั้น อย่าพยายามเผยแพร่แอปที่ลงนามด้วยใบรับรองการแก้ไขข้อบกพร่อง เครื่องมือ Android SDK จะสร้างใบรับรองนี้โดยอัตโนมัติเมื่อคุณเรียกใช้บิลด์การแก้ไขข้อบกพร่อง
  • ใบรับรองรุ่น: ใช้ใบรับรองนี้เมื่อคุณพร้อมเผยแพร่แอปใน App Store เครื่องมือ Android SDK จะสร้างใบรับรองนี้เมื่อคุณเรียกใช้บิลด์ของรุ่น

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับรองแอปพลิเคชัน Android และใบรับรอง โปรดดูที่คำแนะนำในการลงนามแอป

ดูวิธีการค้นหาลายนิ้วมือของใบรับรองที่ลงนามได้ที่ข้อมูลอ้างอิงด้านล่าง

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

คอนโซล

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

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

  2. เลือกคีย์ API ที่ต้องการตั้งค่าข้อจำกัด หน้าพร็อพเพอร์ตี้คีย์ API จะปรากฏขึ้น
  3. ในส่วนข้อจำกัดของคีย์ ให้กำหนดข้อจำกัดต่อไปนี้
    • ข้อจำกัดแอปพลิเคชัน:
      1. เลือกแอป Android
      2. คลิก + เพิ่มชื่อแพ็กเกจและลายนิ้วมือ
      3. ป้อนชื่อแพ็กเกจและลายนิ้วมือสำหรับใบรับรอง SHA-1 ดังตัวอย่างต่อไปนี้
        com.example.android.mapexample
        BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    • ข้อจำกัด API:
      1. คลิกจำกัดคีย์
      2. เลือก Places API หรือ Places API (ใหม่) จากเมนูแบบเลื่อนลงเลือก API อย่างใดอย่างหนึ่ง แต่เลือกทั้งคู่ไม่ได้ หาก Places API ไม่อยู่ในรายการ คุณต้องenable
  4. คลิกบันทึกเพื่อสรุปการเปลี่ยนแปลง

Cloud SDK

Places SDK สำหรับ Android (ใหม่)

แสดงรายการคีย์ที่มีอยู่

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="places.googleapis.com"
    --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"

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

Places SDK สำหรับ Android

แสดงรายการคีย์ที่มีอยู่

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="places-backend.googleapis.com"
    --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"

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

ขั้นตอนถัดไป

ตอนนี้คุณมีคีย์ API แล้ว ให้สร้างและกำหนดค่าโปรเจ็กต์ตามที่อธิบายไว้ในตั้งค่าโปรเจ็กต์ Android Studio