collect method

Future<GoogleApiHttpBody> collect(
  1. String parent, {
  2. String? ets,
  3. String? uri,
  4. String? userEvent,
  5. String? $fields,
})

Writes a single user event from the browser.

This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Recommendations AI JavaScript pixel. Users should not call this method directly.

Request parameters:

parent - Required. The parent eventStore name, such as projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/catalogs/\[^/\]+/eventStores/\[^/\]+$.

ets - Optional. The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.

uri - Optional. The url including cgi-parameters but excluding the hash fragment. The URL must be truncated to 1.5K bytes to conservatively be under the 2K bytes. This is often more useful than the referer url, because many browsers only send the domain for 3rd party requests.

userEvent - Required. URL encoded UserEvent proto.

$fields - Selector specifying which fields to include in a partial response.

Completes with a GoogleApiHttpBody.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<GoogleApiHttpBody> collect(
  core.String parent, {
  core.String? ets,
  core.String? uri,
  core.String? userEvent,
  core.String? $fields,
}) async {
  final _queryParams = <core.String, core.List<core.String>>{
    if (ets != null) 'ets': [ets],
    if (uri != null) 'uri': [uri],
    if (userEvent != null) 'userEvent': [userEvent],
    if ($fields != null) 'fields': [$fields],
  };

  final _url =
      'v1beta1/' + core.Uri.encodeFull('$parent') + '/userEvents:collect';

  final _response = await _requester.request(
    _url,
    'GET',
    queryParams: _queryParams,
  );
  return GoogleApiHttpBody.fromJson(
      _response as core.Map<core.String, core.dynamic>);
}