เอกสารนี้อธิบายขั้นตอนที่จำเป็นในการเริ่มใช้ Geocoding API
|
ตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้น |
เปิดใช้ API ในโปรเจ็กต์ Google Cloud |
กำหนดค่าคีย์ API หรือ OAuth เพื่อส่งคำขอ API ที่มีการตรวจสอบสิทธิ์ |
ผลิตภัณฑ์ Google Maps Platform ได้รับการรักษาความปลอดภัยจากการใช้งานที่ไม่ได้รับอนุญาตโดยกำหนดให้การเรียก API ต้องมีคีย์ API หรือโทเค็น OAuth
สร้างโทเค็น OAuth
Geocoding API รองรับการใช้ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ Google รองรับสถานการณ์ทั่วไปของ OAuth 2.0 เช่น สำหรับเว็บเซิร์ฟเวอร์
เอกสารนี้อธิบายวิธีส่งโทเค็น OAuth ไปยังการเรียก Geocoding API ในสภาพแวดล้อมการพัฒนา ดูวิธีการใช้ OAuth ในสภาพแวดล้อมการใช้งานจริงได้ที่ วิธีการตรวจสอบสิทธิ์ที่ Google
เกี่ยวกับ OAuth
คุณสร้างและจัดการโทเค็นเพื่อการเข้าถึงด้วย OAuth ได้หลายวิธีตามสภาพแวดล้อมการติดตั้งใช้งาน
ตัวอย่างเช่น ระบบ Google OAuth 2.0 รองรับการโต้ตอบระหว่างเซิร์ฟเวอร์กับเซิร์ฟเวอร์ เช่น การโต้ตอบระหว่างแอปพลิเคชันของคุณกับบริการของ Google สำหรับสถานการณ์นี้ คุณต้องมีบัญชีบริการ ซึ่งเป็นบัญชีที่เป็นของแอปพลิเคชันคุณ ไม่ใช่ของผู้ใช้ปลายทางแต่ละราย แอปพลิเคชันของคุณจะเรียก Google APIs ในนามของบัญชีบริการ ผู้ใช้จึงไม่มีส่วนเกี่ยวข้องโดยตรง ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการตรวจสอบสิทธิ์ได้ที่ วิธีการตรวจสอบสิทธิ์ที่ Google
หรือคุณอาจใช้ Geocoding API เป็นส่วนหนึ่งของแอปบนอุปกรณ์เคลื่อนที่ Android หรือ iOS ก็ได้ ดูข้อมูลทั่วไปเกี่ยวกับการใช้ OAuth กับ Geocoding API รวมถึงข้อมูลเกี่ยวกับการจัดการโทเค็นการเข้าถึงสำหรับสภาพแวดล้อมการติดตั้งใช้งานต่างๆ ได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs
เกี่ยวกับขอบเขต OAuth
หากต้องการใช้ OAuth กับ Geocoding API คุณต้องกำหนดขอบเขตที่ถูกต้องให้กับโทเค็น OAuth Geocoding API รองรับขอบเขตต่อไปนี้
https://www.googleapis.com/auth/maps-platform.geocode— ใช้กับปลายทาง Geocoding API ทั้งหมด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 ทั้งหมดได้ด้วย ขอบเขตดังกล่าวมีประโยชน์ในระหว่างการพัฒนาเนื่องจากเป็นขอบเขตเริ่มต้นที่ใช้เมื่อสร้างโทเค็นโดยใช้ gcloud
ตัวอย่าง: ลองเรียกใช้ REST API ในสภาพแวดล้อมการพัฒนาในเครื่อง
หากต้องการลองใช้ Geocoding API โดยใช้โทเค็น OAuth แต่ยังไม่ได้ตั้งค่าสภาพแวดล้อม เพื่อสร้างโทเค็น คุณสามารถใช้ขั้นตอนในส่วนนี้เพื่อทำการเรียกได้
ตัวอย่างนี้อธิบายวิธีใช้โทเค็น OAuth ที่ได้รับจากข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อทำการเรียก ดูข้อมูลเกี่ยวกับการใช้ ADC เพื่อเรียกใช้ Google API โดยใช้ไลบรารีของไคลเอ็นต์ได้ที่ตรวจสอบสิทธิ์โดยใช้ไลบรารีของไคลเอ็นต์
ข้อกำหนดเบื้องต้น
ก่อนที่จะส่งคำขอ REST โดยใช้ ADC ให้ใช้ Google Cloud CLI เพื่อระบุข้อมูลเข้าสู่ระบบให้กับ ADC ดังนี้
- ติดตั้งและเริ่มต้น gcloud CLI
เรียกใช้คำสั่ง
gcloudต่อไปนี้ในเครื่องของคุณเพื่อสร้าง ไฟล์ข้อมูลเข้าสู่ระบบ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/v4beta/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
- คลิกไอคอนคัดลอกในตัวอย่างโค้ด
เพื่อคัดลอกคำสั่ง curl - วางคำสั่งในหน้าต่างเทอร์มินัลแล้วเรียกใช้คำสั่ง
การตอบกลับเป็นออบเจ็กต์ JSON:
การแก้ปัญหา
หากคำขอแสดงข้อความแสดงข้อผิดพลาดเกี่ยวกับ API นี้ไม่รองรับข้อมูลเข้าสู่ระบบของผู้ใช้ปลายทาง โปรดดูแก้ปัญหาการตั้งค่า ADC