ใช้ OAuth

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

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

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

ก่อนที่จะเริ่มใช้ Places API (ใหม่) คุณต้องมี โครงการที่มีบัญชีสำหรับการเรียกเก็บเงินและเปิดใช้ Places API (ใหม่) เราขอแนะนำให้สร้างเจ้าของโปรเจ็กต์และผู้ดูแลการเรียกเก็บเงินหลายคน เพื่อให้ทีมของคุณมีบุคคลที่มีบทบาทเหล่านี้อยู่เสมอ ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่าใน Cloud Console

เกี่ยวกับ OAuth

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

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

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

เกี่ยวกับขอบเขต OAuth

หากต้องการใช้ OAuth กับ Places API (ใหม่) โทเค็น OAuth จะต้องได้รับการกำหนดขอบเขต:

  • https://www.googleapis.com/auth/cloud-platform

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

หากต้องการลองใช้ Places API (ใหม่) โดยใช้โทเค็น OAuth แต่ยังไม่มีสภาพแวดล้อม เพื่อสร้างโทเค็น คุณสามารถใช้ขั้นตอนในส่วนนี้เพื่อทำการเรียก

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

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

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

  1. หากยังไม่ได้สร้างโปรเจ็กต์และเปิดใช้การเรียกเก็บเงิน ให้ทําตามขั้นตอนในหัวข้อตั้งค่าในคอนโซล Google Cloud
  2. ติดตั้งและเริ่มต้น gcloud CLI
  3. เรียกใช้คำสั่ง gcloud ต่อไปนี้บนเครื่องของคุณเพื่อสร้างไฟล์ข้อมูลเข้าสู่ระบบ

    gcloud auth application-default login
  4. หน้าจอการเข้าสู่ระบบจะปรากฏขึ้น หลังจากเข้าสู่ระบบแล้ว ระบบจะจัดเก็บข้อมูลเข้าสู่ระบบไว้ในไฟล์ข้อมูลเข้าสู่ระบบในเครื่องที่ 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 ดูข้อมูลเพิ่มเติมได้ที่ ตั้งค่าใน Cloud Console

ตัวอย่างต่อไปนี้จะเรียกใช้ Places API (ใหม่) โดยใช้โทเค็น OAuth

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
"https://places.googleapis.com/v1/places:searchText"

การแก้ปัญหา

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