返すフィールドを選択する

Place Details を呼び出すと、 (新規) Nearby Search (新規)または テキスト検索 (新規)メソッドを使用するため、 レスポンスで返すフィールドを指定します。デフォルトのリストはありません 表します。このリストを省略すると、メソッドはエラーを返します。

レスポンス フィールド マスクを作成して、フィールド リストを指定します。次に、 パラメータ $fields を使用して、いずれかのメソッドに対するレスポンス フィールドをマスクします。 fields を使用するか、HTTP または gRPC ヘッダー X-Goog-FieldMask を使用します。

フィールド マスキングは、API 呼び出しのリクエストを これにより、不要な処理時間と課金を回避できる 料金。

レスポンス フィールド マスクを定義する

レスポンス フィールド マスクは、パスのカンマ区切りのリストです。各パスは、 レスポンス メッセージの一意のフィールドを指定します。パスは、 トップレベル レスポンス メッセージを返します。指定されたフィールドへのドット区切りパスを使用します。

フィールドパスを次のように作成します。

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

すべてのフィールドをリクエストするには、* のフィールド マスクを使用します。

フィールド マスクの作成方法については、 field_mask.proto

使用するフィールド マスクを決定する

使用するフィールド マスクを判断する方法は次のとおりです。

  1. 「*」のフィールド マスクを使用してすべてのフィールドをリクエストします。
  2. レスポンスに含まれるフィールドの階層を調べて、 指定します。
  3. フィールド階層を使用してフィールド マスクを作成します。

Nearby Search(新版)とテキスト検索(新版)のレスポンス フィールド マスクを定義する

Nearby Search(新版)と テキスト検索(新版)では、 レスポンスの places フィールド。これらの API の場合、places は最上位レベルです。 フィールドで確認できます。

たとえば、ユーザーから受け取った完全なレスポンス オブジェクトを表示するには、 テキスト検索(新版):

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'

テキスト検索(新版)からの完全なレスポンス オブジェクト 呼び出しの形式は次のとおりです。

{
  "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 フィールドの両方が含まれます。 displayNametext フィールドのみが必要な場合は、フィールド マスクを次のように設定します。

places.formattedAddress,places.displayName.text

Place Details のレスポンス フィールド マスクを定義する(新)

Place Details は、次の形式で 1 つのプレイス オブジェクトを返します。

{
  "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g",
  "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g",
  "types": [
    "locality",
    "political"
  ],
  "formattedAddress": "Trinidad, CA 95570, USA",
  "displayName": {
    "text": "Trinidad",
    "languageCode": "en"
  }
  ...
}

そのため、この API のフィールド マスクを指定するには、 返したいプレイス オブジェクトを次のように指定します。

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 の場合は、レスポンス フィールド マスクを含む変数を設定します。次に、kubectl の「get」コマンドに その変数をリクエストに渡します。

const (
  fieldMask = "places.formattedAddress,places.displayName"
)

フィールドパスに関する考慮事項

レスポンスには必要なフィールドのみを含めます。以前の 次のフィールドがあります。

  • 処理時間が短縮されるため、より少ない時間で結果が返される レイテンシを短縮できます。
  • API がレスポンス フィールドを追加した場合、安定したレイテンシ パフォーマンスを確保 それらの新しいフィールドでは追加の計算時間が必要になります。もし すべてのフィールドを選択するか、最上位の すべての新しいフィールドを更新すると、パフォーマンスの低下が 自動的に追加されます
  • レスポンス サイズが小さくなり、より高いネットワーク スループットが向上します
  • 不要なデータをリクエストしないようにする。これにより、 無駄な処理時間や料金が発生しません
で確認できます。