Cloud Search API . query

Instance Methods

sources()

Returns the sources Resource.

close()

Close httplib2 connections.

removeActivity(body=None, x__xgafv=None)

Provides functionality to remove logged activity for a user. Currently to be used only for Chat 1p clients **Note:** This API requires a standard end user account to execute. A service account can't perform Remove Activity requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).

search(body=None, x__xgafv=None)

The Cloud Search Query API provides the search method, which returns the most relevant results from a user query. The results can come from Google Workspace apps, such as Gmail or Google Drive, or they can come from data that you have indexed from a third party. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).

suggest(body=None, x__xgafv=None)

Provides suggestions for autocompleting the query. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).

Method Details

close()
Close httplib2 connections.
removeActivity(body=None, x__xgafv=None)
Provides functionality to remove logged activity for a user. Currently to be used only for Chat 1p clients **Note:** This API requires a standard end user account to execute. A service account can't perform Remove Activity requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).

Args:
  body: object, The request body.
    The object takes the form of:

{ # Remove Logged Activity Request.
  "requestOptions": { # Shared request options for all RPC methods. # Request options, such as the search application and clientId.
    "debugOptions": { # Shared request debug options for all cloudsearch RPC methods. # Debug options of the request
      "enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
    },
    "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions.
    "searchApplicationId": "A String", # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922).
    "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used.
  },
  "userActivity": { # User's single or bulk query activity. This can be a logging query or deletion query. # User Activity containing the data to be deleted.
    "queryActivity": { # Details about a user's query activity. # Contains data which needs to be logged/removed.
      "query": "A String", # User input query to be logged/removed.
    },
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Remove Logged Activity Response. will return an empty response for now. Will be revisited in later phases.
}
search(body=None, x__xgafv=None)
The Cloud Search Query API provides the search method, which returns the most relevant results from a user query. The results can come from Google Workspace apps, such as Gmail or Google Drive, or they can come from data that you have indexed from a third party. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).

Args:
  body: object, The request body.
    The object takes the form of:

{ # The search API request.
  "contextAttributes": [ # Context attributes for the request which will be used to adjust ranking of search results. The maximum number of elements is 10.
    { # A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.
      "name": "A String", # The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.
      "values": [ # Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.
        "A String",
      ],
    },
  ],
  "dataSourceRestrictions": [ # The sources to use for querying. If not specified, all data sources from the current search application are used.
    { # Restriction on Datasource.
      "filterOptions": [ # Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: "objecttype", "type" and "mimetype". For now, schema specific filters cannot be used to filter suggestions.
        { # Filter options to be applied on query.
          "filter": { # A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND. # Generic filter to restrict the search, such as `lang:en`, `site:xyz`.
            "compositeFilter": {
              "logicOperator": "A String", # The logic operator of the sub filter.
              "subFilters": [ # Sub filters.
                # Object with schema name: Filter
              ],
            },
            "valueFilter": {
              "operatorName": "A String", # The `operator_name` applied to the query, such as *price_greater_than*. The filter can work against both types of filters defined in the schema for your data source: 1. `operator_name`, where the query filters results by the property that matches the value. 2. `greater_than_operator_name` or `less_than_operator_name` in your schema. The query filters the results for the property values that are greater than or less than the supplied value in the query.
              "value": { # Definition of a single value with generic type. # The value to be compared with.
                "booleanValue": True or False,
                "dateValue": { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
                  "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                  "month": 42, # Month of date. Must be from 1 to 12.
                  "year": 42, # Year of date. Must be from 1 to 9999.
                },
                "doubleValue": 3.14,
                "integerValue": "A String",
                "stringValue": "A String",
                "timestampValue": "A String",
              },
            },
          },
          "objectType": "A String", # If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.
        },
      ],
      "source": { # Defines sources for the suggest/search APIs. # The source of restriction.
        "name": "A String", # Source name for content indexed by the Indexing API.
        "predefinedSource": "A String", # Predefined content source for Google Apps.
      },
    },
  ],
  "facetOptions": [
    { # Specifies operators to return facet results for. There will be one FacetResult for every source_name/object_type/operator_name combination.
      "integerFacetingOptions": { # Used to specify integer faceting options. # If set, describes integer faceting options for the given integer property. The corresponding integer property in the schema should be marked isFacetable. The number of buckets returned would be minimum of this and num_facet_buckets.
        "integerBuckets": [ # Buckets for given integer values should be in strictly ascending order. For example, if values supplied are (1,5,10,100), the following facet buckets will be formed {<1, [1,5), [5-10), [10-100), >=100}.
          "A String",
        ],
      },
      "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
      "objectType": "A String", # If object_type is set, only those objects of that type will be used to compute facets. If empty, then all objects will be used to compute facets.
      "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
      "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
    },
  ],
  "pageSize": 42, # Maximum number of search results to return in one page. Valid values are between 1 and 100, inclusive. Default value is 10. Minimum value is 50 when results beyond 2000 are requested.
  "query": "A String", # The raw query string. See supported search operators in the [Narrow your search with operators](https://support.google.com/cloudsearch/answer/6172299)
  "queryInterpretationOptions": { # Options to interpret user query. # Options to interpret the user query.
    "disableNlInterpretation": True or False, # Flag to disable natural language (NL) interpretation of queries. Default is false, Set to true to disable natural language interpretation. NL interpretation only applies to predefined datasources.
    "disableSupplementalResults": True or False, # Use this flag to disable supplemental results for a query. Supplemental results setting chosen at SearchApplication level will take precedence if set to True.
    "enableVerbatimMode": True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental result retrieval, and usage of synonyms including custom ones. Nl interpretation will be disabled if either one of the two flags is true.
  },
  "requestOptions": { # Shared request options for all RPC methods. # Request options, such as the search application and user timezone.
    "debugOptions": { # Shared request debug options for all cloudsearch RPC methods. # Debug options of the request
      "enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
    },
    "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions.
    "searchApplicationId": "A String", # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922).
    "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used.
  },
  "sortOptions": { # The options for sorting the search results
    "operatorName": "A String", # The name of the operator corresponding to the field to sort on. The corresponding property must be marked as sortable.
    "sortOrder": "A String", # Ascending is the default sort order
  },
  "start": 42, # Starting index of the results.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The search API response.
  "debugInfo": { # Debugging information about the response. # Debugging information about the response.
    "formattedDebugInfo": "A String", # General debug info formatted for display.
  },
  "errorInfo": { # Error information about the response. # Error information about the response.
    "errorMessages": [
      { # Error message per source response.
        "errorMessage": "A String",
        "source": { # Defines sources for the suggest/search APIs.
          "name": "A String", # Source name for content indexed by the Indexing API.
          "predefinedSource": "A String", # Predefined content source for Google Apps.
        },
      },
    ],
  },
  "facetResults": [ # Repeated facet results.
    { # Source specific facet response
      "buckets": [ # FacetBuckets for values in response containing at least a single result with the corresponding filter.
        { # A bucket in a facet is the basic unit of operation. A bucket can comprise either a single value OR a contiguous range of values, depending on the type of the field bucketed. FacetBucket is currently used only for returning the response object.
          "count": 42, # Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Cloud Search does not guarantee facet counts for any query and facet counts might be present only intermittently, even for identical queries. Do not build dependencies on facet count existence; instead use facet ount percentages which are always returned.
          "filter": { # A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND. # Filter to be passed in the search request if the corresponding bucket is selected.
            "compositeFilter": {
              "logicOperator": "A String", # The logic operator of the sub filter.
              "subFilters": [ # Sub filters.
                # Object with schema name: Filter
              ],
            },
            "valueFilter": {
              "operatorName": "A String", # The `operator_name` applied to the query, such as *price_greater_than*. The filter can work against both types of filters defined in the schema for your data source: 1. `operator_name`, where the query filters results by the property that matches the value. 2. `greater_than_operator_name` or `less_than_operator_name` in your schema. The query filters the results for the property values that are greater than or less than the supplied value in the query.
              "value": { # Definition of a single value with generic type. # The value to be compared with.
                "booleanValue": True or False,
                "dateValue": { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
                  "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                  "month": 42, # Month of date. Must be from 1 to 12.
                  "year": 42, # Year of date. Must be from 1 to 9999.
                },
                "doubleValue": 3.14,
                "integerValue": "A String",
                "stringValue": "A String",
                "timestampValue": "A String",
              },
            },
          },
          "percentage": 42, # Percent of results that match the bucket value. The returned value is between (0-100], and is rounded down to an integer if fractional. If the value is not explicitly returned, it represents a percentage value that rounds to 0. Percentages are returned for all searches, but are an estimate. Because percentages are always returned, you should render percentages instead of counts.
          "value": { # Definition of a single value with generic type.
            "booleanValue": True or False,
            "dateValue": { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
              "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
              "month": 42, # Month of date. Must be from 1 to 12.
              "year": 42, # Year of date. Must be from 1 to 9999.
            },
            "doubleValue": 3.14,
            "integerValue": "A String",
            "stringValue": "A String",
            "timestampValue": "A String",
          },
        },
      ],
      "objectType": "A String", # Object type for which facet results are returned. Can be empty.
      "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
      "sourceName": "A String", # Source name for which facet results are returned. Will not be empty.
    },
  ],
  "hasMoreResults": True or False, # Whether there are more search results matching the query.
  "queryInterpretation": { # Query interpretation result for user query. Empty if query interpretation is disabled.
    "interpretationType": "A String",
    "interpretedQuery": "A String", # The interpretation of the query used in search. For example, queries with natural language intent like "email from john" will be interpreted as "from:john source:mail". This field will not be filled when the reason is NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY.
    "reason": "A String", # The reason for interpretation of the query. This field will not be UNSPECIFIED if the interpretation type is not NONE.
  },
  "resultCountEstimate": "A String", # The estimated result count for this query.
  "resultCountExact": "A String", # The exact result count for this query.
  "resultCounts": { # Result count information # Expanded result count information.
    "sourceResultCounts": [ # Result count information for each source with results.
      { # Per source result count information.
        "hasMoreResults": True or False, # Whether there are more search results for this source.
        "resultCountEstimate": "A String", # The estimated result count for this source.
        "resultCountExact": "A String", # The exact result count for this source.
        "source": { # Defines sources for the suggest/search APIs. # The source the result count information is associated with.
          "name": "A String", # Source name for content indexed by the Indexing API.
          "predefinedSource": "A String", # Predefined content source for Google Apps.
        },
      },
    ],
  },
  "results": [ # Results from a search query.
    { # Results containing indexed information for a document.
      "clusteredResults": [ # If source is clustered, provide list of clustered results. There will only be one level of clustered results. If current source is not enabled for clustering, this field will be empty.
        # Object with schema name: SearchResult
      ],
      "debugInfo": { # Debugging information about the result. # Debugging information about this search result.
        "formattedDebugInfo": "A String", # General debug info formatted for display.
      },
      "metadata": { # Metadata of a matched search result. # Metadata of the search result.
        "createTime": "A String", # The creation time for this document or object in the search result.
        "displayOptions": { # Options that specify how to display a structured data search result.
          "metalines": [ # The metalines content to be displayed with the result.
            { # The collection of fields that make up a displayed line
              "fields": [
                { # Display Fields for Search Results
                  "label": "A String", # The display label for the property.
                  "operatorName": "A String", # The operator name of the property.
                  "property": { # A typed name-value pair for structured data. The type of the value should be the same as the registered type for the `name` property in the object definition of `objectType`. # The name value pair for the property.
                    "booleanValue": True or False,
                    "dateValues": { # List of date values.
                      "values": [
                        { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
                          "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                          "month": 42, # Month of date. Must be from 1 to 12.
                          "year": 42, # Year of date. Must be from 1 to 9999.
                        },
                      ],
                    },
                    "doubleValues": { # List of double values.
                      "values": [
                        3.14,
                      ],
                    },
                    "enumValues": { # List of enum values.
                      "values": [ # The maximum allowable length for string values is 32 characters.
                        "A String",
                      ],
                    },
                    "htmlValues": { # List of html values.
                      "values": [ # The maximum allowable length for html values is 2048 characters.
                        "A String",
                      ],
                    },
                    "integerValues": { # List of integer values.
                      "values": [
                        "A String",
                      ],
                    },
                    "name": "A String", # The name of the property. This name should correspond to the name of the property that was registered for object definition in the schema. The maximum allowable length for this property is 256 characters.
                    "objectValues": { # List of object values.
                      "values": [
                        # Object with schema name: StructuredDataObject
                      ],
                    },
                    "textValues": { # List of text values.
                      "values": [ # The maximum allowable length for text values is 2048 characters.
                        "A String",
                      ],
                    },
                    "timestampValues": { # List of timestamp values.
                      "values": [
                        "A String",
                      ],
                    },
                  },
                },
              ],
            },
          ],
          "objectTypeLabel": "A String", # The display label for the object.
        },
        "fields": [ # Indexed fields in structured data, returned as a generic named property.
          { # A typed name-value pair for structured data. The type of the value should be the same as the registered type for the `name` property in the object definition of `objectType`.
            "booleanValue": True or False,
            "dateValues": { # List of date values.
              "values": [
                { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
                  "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                  "month": 42, # Month of date. Must be from 1 to 12.
                  "year": 42, # Year of date. Must be from 1 to 9999.
                },
              ],
            },
            "doubleValues": { # List of double values.
              "values": [
                3.14,
              ],
            },
            "enumValues": { # List of enum values.
              "values": [ # The maximum allowable length for string values is 32 characters.
                "A String",
              ],
            },
            "htmlValues": { # List of html values.
              "values": [ # The maximum allowable length for html values is 2048 characters.
                "A String",
              ],
            },
            "integerValues": { # List of integer values.
              "values": [
                "A String",
              ],
            },
            "name": "A String", # The name of the property. This name should correspond to the name of the property that was registered for object definition in the schema. The maximum allowable length for this property is 256 characters.
            "objectValues": { # List of object values.
              "values": [
                # Object with schema name: StructuredDataObject
              ],
            },
            "textValues": { # List of text values.
              "values": [ # The maximum allowable length for text values is 2048 characters.
                "A String",
              ],
            },
            "timestampValues": { # List of timestamp values.
              "values": [
                "A String",
              ],
            },
          },
        ],
        "mimeType": "A String", # Mime type of the search result.
        "objectType": "A String", # Object type of the search result.
        "owner": { # Object to represent a person. # Owner (usually creator) of the document or object of the search result.
          "emailAddresses": [ # The person's email addresses
            { # A person's email address.
              "customType": "A String", # If the value of type is custom, this property contains the custom type string.
              "emailAddress": "A String", # The email address.
              "emailUrl": "A String", # The URL to send email.
              "primary": True or False, # Indicates if this is the user's primary email. Only one entry can be marked as primary.
              "type": "A String", # The type of the email account. Acceptable values are: "custom", "home", "other", "work".
            },
          ],
          "name": "A String", # The resource name of the person to provide information about. See [`People.get`](https://developers.google.com/people/api/rest/v1/people/get) from the Google People API.
          "obfuscatedId": "A String", # Obfuscated ID of a person.
          "personNames": [ # The person's name
            { # A person's name.
              "displayName": "A String", # The read-only display name formatted according to the locale specified by the viewer's account or the `Accept-Language` HTTP header.
            },
          ],
          "phoneNumbers": [ # The person's phone numbers
            { # A person's Phone Number
              "phoneNumber": "A String", # The phone number of the person.
              "type": "A String",
            },
          ],
          "photos": [ # A person's read-only photo. A picture shown next to the person's name to help others recognize the person in search results.
            { # A person's photo.
              "url": "A String", # The URL of the photo.
            },
          ],
        },
        "source": { # Defines sources for the suggest/search APIs. # The named source for the result, such as Gmail.
          "name": "A String", # Source name for content indexed by the Indexing API.
          "predefinedSource": "A String", # Predefined content source for Google Apps.
        },
        "thumbnailUrl": "A String", # The thumbnail URL of the result.
        "updateTime": "A String", # The last modified date for the object in the search result. If not set in the item, the value returned here is empty. When `updateTime` is used for calculating freshness and is not set, this value defaults to 2 years from the current time.
      },
      "snippet": { # Snippet of the search result, which summarizes the content of the resulting page. # The concatenation of all snippets (summaries) available for this result.
        "matchRanges": [ # The matched ranges in the snippet.
          { # Matched range of a snippet [start, end).
            "end": 42, # End of the match in the snippet.
            "start": 42, # Starting position of the match in the snippet.
          },
        ],
        "snippet": "A String", # The snippet of the document. May contain escaped HTML character that should be unescaped prior to rendering.
      },
      "title": "A String", # Title of the search result.
      "url": "A String", # The URL of the search result. The URL contains a Google redirect to the actual item. This URL is signed and shouldn't be changed.
    },
  ],
  "spellResults": [ # Suggested spelling for the query.
    {
      "suggestedQuery": "A String", # The suggested spelling of the query.
      "suggestedQueryHtml": { # IMPORTANT: It is unsafe to accept this message from an untrusted source, since it's trivial for an attacker to forge serialized messages that don't fulfill the type's safety contract -- for example, it could contain attacker controlled script. A system which receives a SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it's generally safe to return this message in RPC responses, but generally unsafe to accept it in RPC requests. # The sanitized HTML representing the spell corrected query that can be used in the UI. This usually has language-specific tags to mark up parts of the query that are spell checked.
        "privateDoNotAccessOrElseSafeHtmlWrappedValue": "A String", # IMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.
      },
      "suggestionType": "A String", # Suggestion triggered for the current query.
    },
  ],
  "structuredResults": [ # Structured results for the user query. These results are not counted against the page_size.
    { # Structured results that are returned as part of search request.
      "person": { # Object to represent a person. # Representation of a person
        "emailAddresses": [ # The person's email addresses
          { # A person's email address.
            "customType": "A String", # If the value of type is custom, this property contains the custom type string.
            "emailAddress": "A String", # The email address.
            "emailUrl": "A String", # The URL to send email.
            "primary": True or False, # Indicates if this is the user's primary email. Only one entry can be marked as primary.
            "type": "A String", # The type of the email account. Acceptable values are: "custom", "home", "other", "work".
          },
        ],
        "name": "A String", # The resource name of the person to provide information about. See [`People.get`](https://developers.google.com/people/api/rest/v1/people/get) from the Google People API.
        "obfuscatedId": "A String", # Obfuscated ID of a person.
        "personNames": [ # The person's name
          { # A person's name.
            "displayName": "A String", # The read-only display name formatted according to the locale specified by the viewer's account or the `Accept-Language` HTTP header.
          },
        ],
        "phoneNumbers": [ # The person's phone numbers
          { # A person's Phone Number
            "phoneNumber": "A String", # The phone number of the person.
            "type": "A String",
          },
        ],
        "photos": [ # A person's read-only photo. A picture shown next to the person's name to help others recognize the person in search results.
          { # A person's photo.
            "url": "A String", # The URL of the photo.
          },
        ],
      },
    },
  ],
}
suggest(body=None, x__xgafv=None)
Provides suggestions for autocompleting the query. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).

Args:
  body: object, The request body.
    The object takes the form of:

{ # Request of suggest API.
  "dataSourceRestrictions": [ # The sources to use for suggestions. If not specified, the data sources are taken from the current search application. NOTE: Suggestions are only supported for the following sources: * Third-party data sources * PredefinedSource.PERSON * PredefinedSource.GOOGLE_DRIVE
    { # Restriction on Datasource.
      "filterOptions": [ # Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: "objecttype", "type" and "mimetype". For now, schema specific filters cannot be used to filter suggestions.
        { # Filter options to be applied on query.
          "filter": { # A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND. # Generic filter to restrict the search, such as `lang:en`, `site:xyz`.
            "compositeFilter": {
              "logicOperator": "A String", # The logic operator of the sub filter.
              "subFilters": [ # Sub filters.
                # Object with schema name: Filter
              ],
            },
            "valueFilter": {
              "operatorName": "A String", # The `operator_name` applied to the query, such as *price_greater_than*. The filter can work against both types of filters defined in the schema for your data source: 1. `operator_name`, where the query filters results by the property that matches the value. 2. `greater_than_operator_name` or `less_than_operator_name` in your schema. The query filters the results for the property values that are greater than or less than the supplied value in the query.
              "value": { # Definition of a single value with generic type. # The value to be compared with.
                "booleanValue": True or False,
                "dateValue": { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
                  "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                  "month": 42, # Month of date. Must be from 1 to 12.
                  "year": 42, # Year of date. Must be from 1 to 9999.
                },
                "doubleValue": 3.14,
                "integerValue": "A String",
                "stringValue": "A String",
                "timestampValue": "A String",
              },
            },
          },
          "objectType": "A String", # If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.
        },
      ],
      "source": { # Defines sources for the suggest/search APIs. # The source of restriction.
        "name": "A String", # Source name for content indexed by the Indexing API.
        "predefinedSource": "A String", # Predefined content source for Google Apps.
      },
    },
  ],
  "query": "A String", # Partial query for which autocomplete suggestions will be shown. For example, if the query is "sea", then the server might return "season", "search", "seagull" and so on.
  "requestOptions": { # Shared request options for all RPC methods. # Request options, such as the search application and user timezone.
    "debugOptions": { # Shared request debug options for all cloudsearch RPC methods. # Debug options of the request
      "enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
    },
    "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user's language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The Suggest API uses this field as a hint to make better third-party autocomplete predictions.
    "searchApplicationId": "A String", # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922).
    "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used.
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response of the suggest API.
  "suggestResults": [ # List of suggestions.
    { # One suggestion result.
      "peopleSuggestion": { # This field contains information about the person being suggested. # This is present when the suggestion indicates a person. It contains more information about the person - like their email ID, name etc.
        "person": { # Object to represent a person. # Suggested person. All fields of the person object might not be populated.
          "emailAddresses": [ # The person's email addresses
            { # A person's email address.
              "customType": "A String", # If the value of type is custom, this property contains the custom type string.
              "emailAddress": "A String", # The email address.
              "emailUrl": "A String", # The URL to send email.
              "primary": True or False, # Indicates if this is the user's primary email. Only one entry can be marked as primary.
              "type": "A String", # The type of the email account. Acceptable values are: "custom", "home", "other", "work".
            },
          ],
          "name": "A String", # The resource name of the person to provide information about. See [`People.get`](https://developers.google.com/people/api/rest/v1/people/get) from the Google People API.
          "obfuscatedId": "A String", # Obfuscated ID of a person.
          "personNames": [ # The person's name
            { # A person's name.
              "displayName": "A String", # The read-only display name formatted according to the locale specified by the viewer's account or the `Accept-Language` HTTP header.
            },
          ],
          "phoneNumbers": [ # The person's phone numbers
            { # A person's Phone Number
              "phoneNumber": "A String", # The phone number of the person.
              "type": "A String",
            },
          ],
          "photos": [ # A person's read-only photo. A picture shown next to the person's name to help others recognize the person in search results.
            { # A person's photo.
              "url": "A String", # The URL of the photo.
            },
          ],
        },
      },
      "querySuggestion": { # This field does not contain anything as of now and is just used as an indicator that the suggest result was a phrase completion. # This field will be present if the suggested query is a word/phrase completion.
      },
      "source": { # Defines sources for the suggest/search APIs. # The source of the suggestion.
        "name": "A String", # Source name for content indexed by the Indexing API.
        "predefinedSource": "A String", # Predefined content source for Google Apps.
      },
      "suggestedQuery": "A String", # The suggested query that will be used for search, when the user clicks on the suggestion
    },
  ],
}