บทนำ
เมื่อเรียกใช้เมธอด รายละเอียดสถานที่ (ใหม่) การค้นหาใกล้เคียง (ใหม่) หรือการค้นหาข้อความ (ใหม่) คุณต้องระบุฟิลด์ที่ต้องการให้แสดงในค�������� ����่��ี����ย��าร���ิลด์ที่แสดงผลเริ่มต้น หากคุณละเว้นรายการนี้ เมธอดจะแสดงข้อผิดพลาด
ดูรายการฟิลด์ข้อมูลที่รองรับทั้งหมดและ SKU ที่เกี่ยวข้องได้ ในฟิลด์ข้อมูลสถานที่ (ใหม่) ดูข้อมูลเกี่ยวกับฟิลด์ที่เฉพาะเจาะจงสำหรับแต่ละ API ได้ที่หัวข้อต่อไปนี้
- พารามิเตอร์FieldMask รายละเอียดสถานที่ (ใหม่)
- การค้นหาใกล้เคียง (ใหม่) FieldMask พารามิเตอร์
- พารามิเตอร์ FieldMask การค้นหาข้อความ (ใหม่)
คุณระบุรายการฟิลด์ได้โดยการสร้างมาสก์ฟิลด์การตอบกลับ จากนั้นคุณจะส่งฟิลด์มาสก์การตอบกลับไปยังเมธอดใดเมธอดหนึ่งได้โดยใช้พารามิเตอร์ $fields
หรือ fields
หรือใช้ส่วนหัว HTTP หรือ gRPC X-Goog-FieldMask
การมาสก์ฟิลด์เป็นแนวทางปฏิบัติในการออกแบบที่ดีเพื่อให้มั่นใจว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลและการเรียกเก็บเงินที่ไม่จำเป็น
กำหนดฟิลด์มาสก์การตอบกลับ
มาสก์ฟิลด์การตอบกลับคือรายการเส้นทางที่คั่นด้วยคอมมา โดยแต่ละเส้นทางจะ ระบุฟิลด์ที่ไม่ซ้ำกันในเนื้อหาการตอบกลับ เส้นทางจะเริ่มต้นจาก ข้อความตอบกลับระดับบนสุดและใช้เส้นทางที่คั่นด้วยจุดไปยังฟิลด์ที่ระบุ
สร้างเส้นทางฟิลด์ดังนี้
topLevelField[.secondLevelField][.thirdLevelField][...]
���ุณขอฟิลด์ทั้งหมดได้โดยใช้มาสก์ฟิลด์ของ *
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างมาสก์ฟิลด์ได้ที่ field_mask.proto
กำหนดว่าจะใช้มาสก์ฟิลด์ใด
วิธีระบุมาสก์ฟิลด์ที่ต้องการใช้มีดังนี้
- ขอข้อมูลทุกช่องโดยใช้ FieldMask ของ
*
- ดูลำดับชั้นของฟิลด์ในการตอบกลับ และพิจารณาว่าต้องการฟิลด์ใด
- สร้างมาสก์ฟิลด์โดยใช้ลำดับชั้นของฟิลด์
กำหนดฟิลด์มาสก์การตอบกลับสำหรับ Nearby Search (ใหม่) และ Text Search (ใหม่)
การค้นหาใกล้เคียง (ใหม่) และการค้นหาข้อความ (ใหม่) จะแสดงอาร์เรย์ของออบเจ็กต์ 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 รายการเดียวในรูปแบบต่อไปนี้
{ "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 เพิ่มช่องการตอบกลับมากขึ้น ในอนาคต และช่องใหม่เหล่านั้นต้องใช้เวลาในการคำนวณเพิ่มเติม หากคุณ เลือกช่องทั้งหมด หรือหากเลือกช่องทั้งหมดที่ระดับบนสุด คุณอาจ พบว่าประสิทธิภาพลดลงเมื่อระบบรวมช่องใหม่ทั้งหมดไว้ในการตอบกลับโดยอัตโนมัติ
- ส่งผลให้ขนาดการตอบกลับเล็กลง ซึ่งจะทำให้เครือข่ายมี ปริมาณงานสูงขึ้น
- ช่วยให้คุณไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยง เวลาในการประมวลผลที่ไม่จำเป็นและค่าใช้จ่ายที่เรียกเก็บ