ตั้งค่า Geocoding API

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (EEA)

เอกสารนี้อธิบายขั้นตอนที่จำเป็นในการเริ่มใช้ Geocoding API

ผลิตภัณฑ์ Google Maps Platform กำหนดให้การเรียก API ต้องมีคีย์ API หรือโทเค็น OAuth เพื่อป้องกันการใช้งานที่ไม่ได้รับอนุญาต คุณสามารถเลือกขั้นตอนการตั้งค่าที่ตรงกับสภาพแวดล้อมการติดตั้งใช้งานของคุณได้

สร้างโทเค็น OAuth

Geocoding API รองรับ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ Google รองรับสถานการณ์ OAuth 2.0 ทั่วไป เช่น สถานการณ์สำหรับเว็บเซิร์ฟเวอร์

เอกสารนี้อธิบายวิธีส่งโทเค็น OAuth ไปยังการเรียก Geocoding API ในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ OAuth ในสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ได้ที่หัวข้อวิธีการตรวจสอบสิทธิ์ที่ Google

คุณสามารถเรียกใช้ Google Maps API ได้โดยตรงด้วยการส่งคำขอ API ไปยังเซิร์ฟเวอร์ หรือจะใช้ไลบรารีของไคลเอ็นต์เพื่อลดความซับซ้อนของโค้ดก็ได้ Google Maps มีไลบรารีของไคลเอ็นต์สำหรับ Go, Java, Node.js และ Python ดูข้อมูลเพิ่มเติมได้ที่ไลบรารีของไคลเอ็นต์ Geocoding API

ภาพรวมของ OAuth

คุณสร้างและจัดการโทเค็นเพื่อการเข้าถึงด้วย OAuth ได้หลายวิธี โดยขึ้นอยู่กับสภาพแวดล้อมการติดตั้งใช้งาน

คุณสามารถใช้ OAuth 2.0 สำหรับการโต้ตอบระหว่างเซิร์ฟเวอร์กับเซิร์ฟเวอร์ระหว่างแอปพลิเคชันของคุณกับบริการของ Google ในสถานการณ์นี้ คุณจะใช้บัญชีบริการที่เชื่อมโยงกับแอปพลิเคชันของคุณแทนที่จะเป็นผู้ใช้แต่ละราย คุณสามารถส่งคำขอ API โดยใช้บัญชีบริการโดยไม่ต้องเกี่ยวข้องกับผู้ใช้โดยตรง ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการตรวจสอบสิทธิ์ได้ที่หัวข้อวิธีการตรวจสอบสิทธิ์ที่ Google

หรือจะผสานรวม Geocoding API เข้ากับแอปบนอุปกรณ์เคลื่อนที่ Android หรือ iOS ก็ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ OAuth และการจัดการโทเค็นเพื่อการเข้าถึงสำหรับสภาพแวดล้อมการติดตั้งใช้งานต่างๆ ได้ที่หัวข้อการใช้ OAuth 2.0 เพื่อเข้าถึง Google API

ขอบเขต OAuth

หากต้องการใช้ OAuth กับ Geocoding API คุณต้องกำหนดขอบเขตที่ถูกต้องให้กับโทเค็น OAuth Geocoding API รองรับขอบเขตต่อไปนี้

  • https://www.googleapis.com/auth/maps-platform.geocode - ใช้กับเมธอด Geocoding API ทั้งหมด
  • https://www.googleapis.com/auth/maps-platform.destinations - ใช้กับ SearchDestinations สำหรับคำค้นหาปลายทางและการมาถึงเท่านั้น
  • https://www.googleapis.com/auth/maps-platform.geocode.address—ใช้กับ GeocodeAddress เท่านั้นสำหรับการเข้ารหัสที่อยู่เป็นพิกัดภูมิศาสตร์
  • https://www.googleapis.com/auth/maps-platform.geocode.location - ใช้กับ GeocodeLocation เท่านั้นสำหรับการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
  • https://www.googleapis.com/auth/maps-platform.geocode.place - ใช้กับ GeocodePlace เท่านั้นสำหรับการเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่

นอกจากนี้ คุณยังใช้ขอบเขตทั่วไป https://www.googleapis.com/auth/cloud-platform สำหรับเมธอด Geocoding API ทั้งหมดได้ด้วย ขอบเขตดังกล่าวมีประโยชน์ในระหว่างการพัฒนา เนื่องจากเป็นขอบเขตเริ่มต้นเมื่อคุณสร้างโทเค็นด้วย CLI ของ gcloud

ตัวอย่าง: ลองเรียกใช้ REST API ในสภาพแวดล้อมการพัฒนาซอฟต์แวร์ในเครื่อง

หากไม่มีสภาพแวดล้อมที่สร้างโทเค็นและต้องการลองใช้ Geocoding API กับโทเค็น OAuth ให้ใช้ขั้นตอนในส่วนนี้

ตัวอย่างนี้อธิบายวิธีใช้โทเค็น OAuth ที่ได้จากข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อทำการเรียก ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ ADC เพื่อเรียกใช้ Google API ด้วยไลบรารีของไคลเอ็นต์ได้ที่หัวข้อตรวจสอบสิทธิ์โดยใช้ไลบรารีของไคลเอ็นต์

ใช้ขั้นตอน REST ต่อไปนี้สำหรับการพัฒนาหรือการทดสอบเท่านั้น ไม่ใช่สำหรับการใช้งานจริง

ข้อกำหนดเบื้องต้น

ก่อนส่งคำขอ REST โดยใช้ ADC ให้ใช้ gcloud CLI เพื่อระบุข้อมูลเข้าสู่ระบบให้กับ ADC ดังนี้

  1. ติดตั้งและเริ่มต้นใช้งาน gcloud CLI ดูข้อมูลเพิ่มเติมได้ที่ติดตั้ง gcloud CLI

  2. ตรวจสอบสิทธิ์ด้วย gcloud CLI โดยทำดังนี้

    gcloud auth application-default login
  3. ทำตามขั้นตอนการลงชื่อเข้าใช้ให้เสร็จสมบูรณ์เพื่อบันทึกข้อมูลเข้าสู่ระบบในไฟล์ข้อมูลเข้าสู่ระบบในเครื่องที่ ADC ใช้

ดูข้อมูลเพิ่มเติมได้ที่หัวข้อตั้งค่า ADC สำหรับสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่อง

ส่งคำขอ REST

ในตัวอย่างนี้ คุณส่งส่วนหัวของคำขอ 2 รายการดังนี้

  • ส่งโทเค็น OAuth ในส่วนหัว Authorization โดยใช้คำสั่งต่อไปนี้เพื่อสร้างโทเค็น

    gcloud auth application-default print-access-token

    โทเค็นที่แสดงผลมีขอบเขตเป็น https://www.googleapis.com/auth/cloud-platform

  • ส่งรหัสหรือชื่อโปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงินในส่วนหัว X-Goog-User-Project

หากต้องการเรียกใช้ Geocoding API โดยใช้โทเค็น OAuth ให้ทำตามขั้นตอนต่อไปนี้

  1. ในตัวอย่างโค้ดต่อไปนี้ ให้แทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ Google Cloud

    curl -X GET -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://geocode.googleapis.com/v4/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
    
  2. หากต้องการคัดลอกคำสั่ง curl ให้คลิกคัดลอกในตัวอย่างโค้ด

  3. วางคำสั่งในหน้าต่างเทอร์มินัล แล้วเรียกใช้

การแก้ปัญหา

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