บทนำ
เมื่อเรียกใช้เมธอด รายละเอียดสถานที่ (ใหม่), การค้นหาในบริเวณใกล้เคียง (ใหม่), หรือ การค้นหาข้อความ (ใหม่) คุณต้องระบุฟิลด์ที่ต้องการให้แสดงผลในการตอบกลับ ไม่มีรายการฟิลด์เริ่มต้นที่แสดงผล หากไม่ระบุรายการนี้ เมธอดจะแสดงข้อผิดพลาด
คุณดูรายการฟิลด์ข้อมูลทั้งหมดที่รองรับและ SKU ที่เกี่ยวข้องได้ที่ ฟิลด์ข้อมูลสถานที่ (ใหม่) หากต้องการดูข้อมูลเกี่ยวกับฟิลด์ที่เฉพาะเจาะจงสำหรับแต่ละ API โปรดดูข้อมูลต่อไปนี้
- พารามิเตอร์ FieldMask ของ รายละเอียดสถานที่ (ใหม่)
- พารามิเตอร์ FieldMask ของ การค้นหาในบริเวณใกล้เคียง (ใหม่)
- พารามิเตอร์ FieldMask ของการค้นหาข้อความ (ใหม่)
คุณระบุรายการฟิลด์โดยสร้างมาสก์ฟิลด์การตอบกลับ จากนั้นส่ง
มาสก์ฟิลด์การตอบกลับไปยังเมธอดใดเมธอดหนึ่งโดยใช้พารามิเตอร์ $fields หรือ
fields หรือโดยใช้ส่วนหัว HTTP หรือ gRPC X-Goog-FieldMask
การมาสก์ฟิลด์เป็นแนวทางปฏิบัติที่ดีในการออกแบบเพื่อให้มั่นใจว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลและค่าใช้จ่ายในการเรียกเก็บเงินที่ไม่จำเป็น
กำหนดมาสก์ฟิลด์การตอบกลับ
มาสก์ฟิลด์การตอบกลับคือรายการที่คั่นด้วยคอมมาของเส้นทาง โดยแต่ละเส้นทางจะระบุฟิลด์ที่ไม่ซ้ำกันในเนื้อหาการตอบกลับ เส้นทางจะเริ่มต้นจากข้อความตอบกลับระดับบนสุดและใช้เส้นทางที่คั่นด้วยจุดไปยังฟิลด์ที่ระบุ
สร้างเส้นทางฟิลด์ดังนี้
topLevelField[.secondLevelField][.thirdLevelField][...]
คุณขอฟิลด์ทั้งหมดได้โดยใช้มาสก์ฟิลด์ *
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างมาสก์ฟิลด์ได้ที่ field_mask.proto
กำหนดมาสก์ฟิลด์ที่จะใช้
วิธีกำหนดมาสก์ฟิลด์ที่ต้องการใช้
- ขอฟิลด์ทั้งหมดโดยใช้มาสก์ฟิลด์
* - ดูลำดับชั้นของฟิลด์ในการตอบกลับและกำหนดฟิลด์ที่ต้องการ
- สร้างมาสก์ฟิลด์โดยใช้ลำดับชั้นของฟิลด์
กำหนดมาสก์ฟิลด์การตอบกลับสำหรับ การค้นหาในบริเวณใกล้เคียง (ใหม่) และ การค้นหาข้อความ (ใหม่)
การค้นหาในบริเวณใกล้เคียง (ใหม่) และ การค้นหาข้อความ (ใหม่) จะแสดงผลอาร์เรย์ของออบเจ็กต์ Place ในฟิลด์ places ของการตอบกลับ สำหรับ API เหล่านี้ places เป็นฟิลด์ระดับบนสุดของการตอบกลับ
ตัวอย่างเช่น หากต้องการดูออบเจ็กต์การตอบกลับที่สมบูรณ์จาก Text Search (ใหม่) ให้ทำดังนี้
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: *' \
'https://places.googleapis.com/v1/places:searchText'ออบเจ็กต์การตอบกลับที่สมบูรณ์จากการเรียก Text Search (ใหม่) จะอยู่ในรูปแบบต่อไปนี้
{ "places": [ { "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0", "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "types": [ "vegetarian_restaurant", "vegan_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "nationalPhoneNumber": "0433 479 794", "internationalPhoneNumber": "+61 433 479 794", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Spiced @ Barangaroo", "languageCode": "en" }, ... }, ... ] }
ดังนั้น คุณจึงระบุมาสก์ฟิลด์สำหรับ API เหล่านี้ในรูปแบบต่อไปนี้
places[.secondLevelField][.thirdLevelField][...]
หากต้องการแสดงผลเฉพาะฟิลด์ formattedAddress และ displayName ให้ตั้งค่ามาสก์ฟิลด์เป็น
places.formattedAddress,places.displayName
การระบุ displayName จะรวมทั้งฟิลด์ text และ language ของ displayName หากต้องการเฉพาะฟิลด์ text ให้ตั้งค่ามาสก์ฟิลด์เป็น
places.formattedAddress,places.displayName.text
กำหนดมาสก์ฟิลด์การตอบกลับสำหรับรายละเอียดสถานที่ (ใหม่)
Place Details (ใหม่) จะแสดงผลออบเจ็กต์ Place รายการเดียวในรูปแบบต่อไปนี้
{ "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g", "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g", "types": [ "locality", "political" ], "formattedAddress": "Trinidad, CA 95570, USA", "displayName": { "text": "Trinidad", "languageCode": "en" } ... }
ดังนั้น คุณจึงระบุมาสก์ฟิลด์สำหรับ API นี้โดยระบุฟิลด์ของออบเจ็กต์ Place ที่ต้องการให้แสดงผล
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: formattedAddress,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
การเรียก gRPC
สำหรับ gRPC ให้ตั้งค่าตัวแปรที่มีมาสก์ฟิลด์การตอบกลับ จากนั้นส่งตัวแปรดังกล่าวไปยังคำขอ
const ( fieldMask = "places.formattedAddress,places.displayName" )
ข้อควรพิจารณาเกี่ยวกับเส้นทางฟิลด์
รวมเฉพาะฟิลด์ที่จำเป็นในการตอบกลับ การแสดงผลเฉพาะฟิลด์ที่จำเป็นจะทำให้เกิดสิ่งต่อไปนี้
- ลดเวลาในการประมวลผล เพื่อให้ระบบแสดงผลลัพธ์โดยมีเวลาในการตอบสนองต่ำลง
- รับประกันประสิทธิภาพเวลาในการตอบสนองที่เสถียร หาก API เพิ่มฟิลด์การตอบกลับเพิ่มเติมในอนาคต และฟิลด์ใหม่เหล่านั้นต้องใช้เวลาในการคำนวณเพิ่มเติม หากคุณเลือกฟิลด์ทั้งหมด หรือเลือกฟิลด์ทั้งหมดที่ระดับบนสุด คุณอาจพบประสิทธิภาพการทำงานลดลงเมื่อระบบรวมฟิลด์ใหม่ทั้งหมดในการตอบกลับโดยอัตโนมัติ
- ขนาดการตอบกลับเล็กลง ซึ่งหมายถึงปริมาณข้อมูลที่ส่งผ่านเครือข่าย สูงขึ้น
- รับประกันว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยง เวลาในการประมวลผลและค่าใช้จ่ายในการเรียกเก็บเงินที่ไม่จำเป็น