เอกสารนี้อธิบายขั้นตอนที่จำเป็นในการเริ่มใช้ Geocoding API
|
ตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้น |
เปิด API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google |
กำหนดค่าคีย์ API หรือ OAuth เพื่อส่งคำขอ 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 ดังนี้
ติดตั้งและเริ่มต้นใช้งาน
gcloudCLI ดูข้อมูลเพิ่มเติมได้ที่ติดตั้ง gcloud CLIตรวจสอบสิทธิ์ด้วย
gcloudCLI โดยทำดังนี้gcloud auth application-default login
ทำตามขั้นตอนการลงชื่อเข้าใช้ให้เสร็จสมบูรณ์เพื่อบันทึกข้อมูลเข้าสู่ระบบในไฟล์ข้อมูลเข้าสู่ระบบในเครื่องที่ 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 ให้ทำตามขั้นตอนต่อไปนี้
ในตัวอย่างโค้ดต่อไปนี้ ให้แทนที่ 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"
หากต้องการคัดลอกคำสั่ง
curlให้คลิกคัดลอกในตัวอย่างโค้ดวางคำสั่งในหน้าต่างเทอร์มินัล แล้วเรียกใช้
การแก้ปัญหา
หากคำขอแสดงข้อความแสดงข้อผิดพลาดที่ระบุว่า API นี้ไม่รองรับข้อมูลเข้าสู่ระบบของผู้ใช้ปลายทาง โปรดดูหัวข้อแก้ปัญหาการตั้งค่า ADC