เลือกช่องที่จะส่งคืน

นักพัฒนาแอปในเขตเศรษฐกิจยุโรป (EEA)

บทนำ

เมื่อเรียกใช้เมธอด รายละเอียดสถานที่ (ใหม่) การค้นหาใกล้เคียง (ใหม่) หรือการค้นหาข้อความ (ใหม่) คุณต้องระบุฟิลด์ที่ต้องการให้แสดงในค�������� ����่��ี����ย��าร���ิลด์ที่แสดงผลเริ่มต้น หากคุณละเว้นรายการนี้ เมธอดจะแสดงข้อผิดพลาด

ดูรายการฟิลด์ข้อมูลที่รองรับทั้งหมดและ SKU ที่เกี่ยวข้องได้ ในฟิลด์ข้อมูลสถานที่ (ใหม่) ดูข้อมูลเกี่ยวกับฟิลด์ที่เฉพาะเจาะจงสำหรับแต่ละ API ได้ที่หัวข้อต่อไปนี้

  • พารามิเตอร์FieldMask รายละเอียดสถานที่ (ใหม่)
  • การค้นหาใกล้เคียง (ใหม่) FieldMask พารามิเตอร์
  • พารามิเตอร์ FieldMask การค้นหาข้อความ (ใหม่)

คุณระบุรายการฟิลด์ได้โดยการสร้างมาสก์ฟิลด์การตอบกลับ จากนั้นคุณจะส่งฟิลด์มาสก์การตอบกลับไปยังเมธอดใดเมธอดหนึ่งได้โดยใช้พารามิเตอร์ $fields หรือ fields หรือใช้ส่วนหัว HTTP หรือ gRPC X-Goog-FieldMask

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

กำหนดฟิลด์มาสก์การตอบกลับ

มาสก์ฟิลด์การตอบกลับคือรายการเส้นทางที่คั่นด้วยคอมมา โดยแต่ละเส้นทางจะ ระบุฟิลด์ที่ไม่ซ้ำกันในเนื้อหาการตอบกลับ เส้นทางจะเริ่มต้นจาก ข้อความตอบกลับระดับบนสุดและใช้เส้นทางที่คั่นด้วยจุดไปยังฟิลด์ที่ระบุ

สร้างเส้นทางฟิลด์ดังนี้

topLevelField[.secondLevelField][.thirdLevelField][...]

���ุณขอฟิลด์ทั้งหมดได้โดยใช้มาสก์ฟิลด์ของ *

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างมาสก์ฟิลด์ได้ที่ field_mask.proto

กำหนดว่าจะใช้มาสก์ฟิลด์ใด

วิธีระบุมาสก์ฟิลด์ที่ต้องการใช้มีดังนี้

  1. ขอข้อมูลทุกช่องโดยใช้ FieldMask ของ *
  2. ดูลำดับชั้นของฟิลด์ในการตอบกลับ และพิจารณาว่าต้องการฟิลด์ใด
  3. สร้างมาสก์ฟิลด์โดยใช้ลำดับชั้นของฟิลด์

การค้นหาใกล้เคียง (ใหม่) และการค้นหาข้อความ (ใหม่) จะแสดงอาร์เรย์ของออบเจ็กต์ 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 เพิ่มช่องการตอบกลับมากขึ้น ในอนาคต และช่องใหม่เหล่านั้นต้องใช้เวลาในการคำนวณเพิ่มเติม หากคุณ เลือกช่องทั้งหมด หรือหากเลือกช่องทั้งหมดที่ระดับบนสุด คุณอาจ พบว่าประสิทธิภาพลดลงเมื่อระบบรวมช่องใหม่ทั้งหมดไว้ในการตอบกลับโดยอัตโนมัติ
  • ส่งผลให้ขนาดการตอบกลับเล็กลง ซึ่งจะทำให้เครือข่ายมี ปริมาณงานสูงขึ้น
  • ช่วยให้คุณไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยง เวลาในการประมวลผลที่ไม่จำเป็นและค่าใช้จ่ายที่เรียกเก็บ