ใช้ OAuth

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

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

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

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

เกี่ยวกับ OAuth

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

ตัวอย่างเช่น ระบบ Google OAuth 2.0 สนับสนุนการโต้ตอบแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ เช่น การโต้ตอบระหว่างแอปพลิเคชันของคุณกับบริการ Google สำหรับสถานการณ์นี้ คุณต้องมีบัญชีบริการ ซึ่งเป็นบัญชีของแอปพลิเคชันของคุณแทนที่จะเป็นของผู้ใช้ปลายทางแต่ละราย แอปพลิเคชันของคุณจะเรียกใช้ Google API ในนามของบัญชีบริการ ผู้ใช้จึงไม่ต้องเกี่ยวข้องโดยตรง ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการตรวจสอบสิทธิ์ได้ที่การตรวจสอบสิทธิ์ที่ 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 ที่ Application Default Credentials (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 นี้ไม่รองรับ โปรดดูข้อมูลเข้าสู่ระบบของผู้ใช้ไม่ทำงาน