การใช้คีย์ 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 ของคีย์การรับรองที่ใช้ลงนามแอปพลิเคชัน ใบรับรองมี 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 ไม่แสดงในรายการ คุณต้องเปิดใช้
  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/locations/global/keys/KEY_ID \
    --api-target=service=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/locations/global/keys/KEY_ID \
    --api-target=service=places-backend.googleapis.com
    --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"

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

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

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