UNPKG

@google-analytics/data

Version:
755 lines 64.9 kB
import type * as gax from 'google-gax'; import type { Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback } from 'google-gax'; import { Transform } from 'stream'; import * as protos from '../../protos/protos'; /** * Google Analytics reporting data service. * @class * @memberof v1beta */ export declare class BetaAnalyticsDataClient { private _terminated; private _opts; private _providedCustomServicePath; private _gaxModule; private _gaxGrpc; private _protos; private _defaults; private _universeDomain; private _servicePath; private _log; auth: gax.GoogleAuth; descriptors: Descriptors; warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: { [name: string]: Function; }; pathTemplates: { [name: string]: gax.PathTemplate; }; operationsClient: gax.OperationsClient; betaAnalyticsDataStub?: Promise<{ [name: string]: Function; }>; /** * Construct an instance of BetaAnalyticsDataClient. * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] * @param {string} [options.email] - Account email address. Required when * using a .pem or .p12 keyFilename. * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or * .p12 key downloaded from the Google Developers Console. If you provide * a path to a JSON file, the projectId option below is not necessary. * NOTE: .pem and .p12 require you to specify options.email as well. * @param {number} [options.port] - The port on which to connect to * the remote host. * @param {string} [options.projectId] - The project ID from the Google * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you * need to avoid loading the default gRPC version and want to use the fallback * HTTP implementation. Load only fallback version and pass it to the constructor: * ``` * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC * const client = new BetaAnalyticsDataClient({fallback: true}, gax); * ``` */ constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback); /** * Initialize the client. * Performs asynchronous operations (such as authentication) and prepares the client. * This function will be called automatically when any class method is called for the * first time, but if you need to initialize it before calling an actual method, * feel free to call initialize() directly. * * You can await on this method if you want to make sure the client is initialized. * * @returns {Promise} A promise that resolves to an authenticated service stub. */ initialize(): Promise<{ [name: string]: Function; }>; /** * The DNS address for this API service. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get servicePath(): string; /** * The DNS address for this API service - same as servicePath. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get apiEndpoint(): string; /** * The DNS address for this API service. * @returns {string} The DNS address for this service. */ get apiEndpoint(): string; get universeDomain(): string; /** * The port for this API service. * @returns {number} The default port for this service. */ static get port(): number; /** * The scopes needed to make gRPC calls for every method defined * in this service. * @returns {string[]} List of default scopes. */ static get scopes(): string[]; getProjectId(): Promise<string>; getProjectId(callback: Callback<string, undefined, undefined>): void; /** * Returns a customized report of your Google Analytics event data. Reports * contain statistics derived from data collected by the Google Analytics * tracking code. The data returned from the API is as a table with columns * for the requested dimensions and metrics. Metrics are individual * measurements of user activity on your property, such as active users or * event count. Dimensions break down metrics across some common criteria, * such as country or event name. * * For a guide to constructing requests & understanding responses, see * [Creating a * Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics). * * @param {Object} request * The request object that will be sent. * @param {string} request.property * A Google Analytics property identifier whose events are tracked. * Specified in the URL path and not the body. To learn more, see [where to * find your Property * ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). * Within a batch request, this property should either be unspecified or * consistent with the batch-level property. * * Example: properties/1234 * @param {number[]} request.dimensions * The dimensions requested and displayed. * @param {number[]} request.metrics * The metrics requested and displayed. * @param {number[]} request.dateRanges * Date ranges of data to read. If multiple date ranges are requested, each * response row will contain a zero based date range index. If two date * ranges overlap, the event data for the overlapping days is included in the * response rows for both date ranges. In a cohort request, this `dateRanges` * must be unspecified. * @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter * Dimension filters let you ask for only specific dimension values in * the report. To learn more, see [Fundamentals of Dimension * Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) * for examples. Metrics cannot be used in this filter. * @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter * The filter clause of metrics. Applied after aggregating the report's rows, * similar to SQL having-clause. Dimensions cannot be used in this filter. * @param {number} request.offset * The row count of the start row. The first row is counted as row 0. * * When paging, the first request does not specify offset; or equivalently, * sets offset to 0; the first request returns the first `limit` of rows. The * second request sets offset to the `limit` of the first request; the second * request returns the second `limit` of rows. * * To learn more about this pagination parameter, see * [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). * @param {number} request.limit * The number of rows to return. If unspecified, 10,000 rows are returned. The * API returns a maximum of 250,000 rows per request, no matter how many you * ask for. `limit` must be positive. * * The API can also return fewer rows than the requested `limit`, if there * aren't as many dimension values as the `limit`. For instance, there are * fewer than 300 possible values for the dimension `country`, so when * reporting on only `country`, you can't get more than 300 rows, even if you * set `limit` to a higher value. * * To learn more about this pagination parameter, see * [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). * @param {number[]} request.metricAggregations * Aggregation of metrics. Aggregated metric values will be shown in rows * where the dimension_values are set to "RESERVED_(MetricAggregation)". * Aggregates including both comparisons and multiple date ranges will * be aggregated based on the date ranges. * @param {number[]} request.orderBys * Specifies how rows are ordered in the response. * Requests including both comparisons and multiple date ranges will * have order bys applied on the comparisons. * @param {string} request.currencyCode * A currency code in ISO4217 format, such as "AED", "USD", "JPY". * If the field is empty, the report uses the property's default currency. * @param {google.analytics.data.v1beta.CohortSpec} request.cohortSpec * Cohort group associated with this request. If there is a cohort group * in the request the 'cohort' dimension must be present. * @param {boolean} request.keepEmptyRows * If false or unspecified, each row with all metrics equal to 0 will not be * returned. If true, these rows will be returned if they are not separately * removed by a filter. * * Regardless of this `keep_empty_rows` setting, only data recorded by the * Google Analytics property can be displayed in a report. * * For example if a property never logs a `purchase` event, then a query for * the `eventName` dimension and `eventCount` metric will not have a row * eventName: "purchase" and eventCount: 0. * @param {boolean} request.returnPropertyQuota * Toggles whether to return the current state of this Google Analytics * property's quota. Quota is returned in [PropertyQuota](#PropertyQuota). * @param {number[]} [request.comparisons] * Optional. The configuration of comparisons requested and displayed. The * request only requires a comparisons field in order to receive a comparison * column in the response. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.RunReportResponse|RunReportResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.run_report.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_RunReport_async */ runReport(request?: protos.google.analytics.data.v1beta.IRunReportRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IRunReportResponse, protos.google.analytics.data.v1beta.IRunReportRequest | undefined, {} | undefined ]>; runReport(request: protos.google.analytics.data.v1beta.IRunReportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IRunReportResponse, protos.google.analytics.data.v1beta.IRunReportRequest | null | undefined, {} | null | undefined>): void; runReport(request: protos.google.analytics.data.v1beta.IRunReportRequest, callback: Callback<protos.google.analytics.data.v1beta.IRunReportResponse, protos.google.analytics.data.v1beta.IRunReportRequest | null | undefined, {} | null | undefined>): void; /** * Returns a customized pivot report of your Google Analytics event data. * Pivot reports are more advanced and expressive formats than regular * reports. In a pivot report, dimensions are only visible if they are * included in a pivot. Multiple pivots can be specified to further dissect * your data. * * @param {Object} request * The request object that will be sent. * @param {string} request.property * A Google Analytics property identifier whose events are tracked. * Specified in the URL path and not the body. To learn more, see [where to * find your Property * ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). * Within a batch request, this property should either be unspecified or * consistent with the batch-level property. * * Example: properties/1234 * @param {number[]} request.dimensions * The dimensions requested. All defined dimensions must be used by one of the * following: dimension_expression, dimension_filter, pivots, order_bys. * @param {number[]} request.metrics * The metrics requested, at least one metric needs to be specified. All * defined metrics must be used by one of the following: metric_expression, * metric_filter, order_bys. * @param {number[]} request.dateRanges * The date range to retrieve event data for the report. If multiple date * ranges are specified, event data from each date range is used in the * report. A special dimension with field name "dateRange" can be included in * a Pivot's field names; if included, the report compares between date * ranges. In a cohort request, this `dateRanges` must be unspecified. * @param {number[]} request.pivots * Describes the visual format of the report's dimensions in columns or rows. * The union of the fieldNames (dimension names) in all pivots must be a * subset of dimension names defined in Dimensions. No two pivots can share a * dimension. A dimension is only visible if it appears in a pivot. * @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter * The filter clause of dimensions. Dimensions must be requested to be used in * this filter. Metrics cannot be used in this filter. * @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter * The filter clause of metrics. Applied at post aggregation phase, similar to * SQL having-clause. Metrics must be requested to be used in this filter. * Dimensions cannot be used in this filter. * @param {string} request.currencyCode * A currency code in ISO4217 format, such as "AED", "USD", "JPY". * If the field is empty, the report uses the property's default currency. * @param {google.analytics.data.v1beta.CohortSpec} request.cohortSpec * Cohort group associated with this request. If there is a cohort group * in the request the 'cohort' dimension must be present. * @param {boolean} request.keepEmptyRows * If false or unspecified, each row with all metrics equal to 0 will not be * returned. If true, these rows will be returned if they are not separately * removed by a filter. * * Regardless of this `keep_empty_rows` setting, only data recorded by the * Google Analytics property can be displayed in a report. * * For example if a property never logs a `purchase` event, then a query for * the `eventName` dimension and `eventCount` metric will not have a row * eventName: "purchase" and eventCount: 0. * @param {boolean} request.returnPropertyQuota * Toggles whether to return the current state of this Google Analytics * property's quota. Quota is returned in [PropertyQuota](#PropertyQuota). * @param {number[]} [request.comparisons] * Optional. The configuration of comparisons requested and displayed. The * request requires both a comparisons field and a comparisons dimension to * receive a comparison column in the response. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.RunPivotReportResponse|RunPivotReportResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.run_pivot_report.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_RunPivotReport_async */ runPivotReport(request?: protos.google.analytics.data.v1beta.IRunPivotReportRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IRunPivotReportResponse, protos.google.analytics.data.v1beta.IRunPivotReportRequest | undefined, {} | undefined ]>; runPivotReport(request: protos.google.analytics.data.v1beta.IRunPivotReportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IRunPivotReportResponse, protos.google.analytics.data.v1beta.IRunPivotReportRequest | null | undefined, {} | null | undefined>): void; runPivotReport(request: protos.google.analytics.data.v1beta.IRunPivotReportRequest, callback: Callback<protos.google.analytics.data.v1beta.IRunPivotReportResponse, protos.google.analytics.data.v1beta.IRunPivotReportRequest | null | undefined, {} | null | undefined>): void; /** * Returns multiple reports in a batch. All reports must be for the same * Google Analytics property. * * @param {Object} request * The request object that will be sent. * @param {string} request.property * A Google Analytics property identifier whose events are tracked. * Specified in the URL path and not the body. To learn more, see [where to * find your Property * ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). * This property must be specified for the batch. The property within * RunReportRequest may either be unspecified or consistent with this * property. * * Example: properties/1234 * @param {number[]} request.requests * Individual requests. Each request has a separate report response. Each * batch request is allowed up to 5 requests. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.BatchRunReportsResponse|BatchRunReportsResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.batch_run_reports.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_BatchRunReports_async */ batchRunReports(request?: protos.google.analytics.data.v1beta.IBatchRunReportsRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IBatchRunReportsResponse, protos.google.analytics.data.v1beta.IBatchRunReportsRequest | undefined, {} | undefined ]>; batchRunReports(request: protos.google.analytics.data.v1beta.IBatchRunReportsRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunReportsResponse, protos.google.analytics.data.v1beta.IBatchRunReportsRequest | null | undefined, {} | null | undefined>): void; batchRunReports(request: protos.google.analytics.data.v1beta.IBatchRunReportsRequest, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunReportsResponse, protos.google.analytics.data.v1beta.IBatchRunReportsRequest | null | undefined, {} | null | undefined>): void; /** * Returns multiple pivot reports in a batch. All reports must be for the same * Google Analytics property. * * @param {Object} request * The request object that will be sent. * @param {string} request.property * A Google Analytics property identifier whose events are tracked. * Specified in the URL path and not the body. To learn more, see [where to * find your Property * ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). * This property must be specified for the batch. The property within * RunPivotReportRequest may either be unspecified or consistent with this * property. * * Example: properties/1234 * @param {number[]} request.requests * Individual requests. Each request has a separate pivot report response. * Each batch request is allowed up to 5 requests. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.BatchRunPivotReportsResponse|BatchRunPivotReportsResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.batch_run_pivot_reports.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_BatchRunPivotReports_async */ batchRunPivotReports(request?: protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IBatchRunPivotReportsResponse, protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest | undefined, {} | undefined ]>; batchRunPivotReports(request: protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunPivotReportsResponse, protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest | null | undefined, {} | null | undefined>): void; batchRunPivotReports(request: protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunPivotReportsResponse, protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest | null | undefined, {} | null | undefined>): void; /** * Returns metadata for dimensions and metrics available in reporting methods. * Used to explore the dimensions and metrics. In this method, a Google * Analytics property identifier is specified in the request, and * the metadata response includes Custom dimensions and metrics as well as * Universal metadata. * * For example if a custom metric with parameter name `levels_unlocked` is * registered to a property, the Metadata response will contain * `customEvent:levels_unlocked`. Universal metadata are dimensions and * metrics applicable to any property such as `country` and `totalUsers`. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The resource name of the metadata to retrieve. This name field is * specified in the URL path and not URL parameters. Property is a numeric * Google Analytics property identifier. To learn more, see [where to find * your Property * ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). * * Example: properties/1234/metadata * * Set the Property ID to 0 for dimensions and metrics common to all * properties. In this special mode, this method will not return custom * dimensions and metrics. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.Metadata|Metadata}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.get_metadata.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_GetMetadata_async */ getMetadata(request?: protos.google.analytics.data.v1beta.IGetMetadataRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IMetadata, protos.google.analytics.data.v1beta.IGetMetadataRequest | undefined, {} | undefined ]>; getMetadata(request: protos.google.analytics.data.v1beta.IGetMetadataRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IMetadata, protos.google.analytics.data.v1beta.IGetMetadataRequest | null | undefined, {} | null | undefined>): void; getMetadata(request: protos.google.analytics.data.v1beta.IGetMetadataRequest, callback: Callback<protos.google.analytics.data.v1beta.IMetadata, protos.google.analytics.data.v1beta.IGetMetadataRequest | null | undefined, {} | null | undefined>): void; /** * Returns a customized report of realtime event data for your property. * Events appear in realtime reports seconds after they have been sent to * the Google Analytics. Realtime reports show events and usage data for the * periods of time ranging from the present moment to 30 minutes ago (up to * 60 minutes for Google Analytics 360 properties). * * For a guide to constructing realtime requests & understanding responses, * see [Creating a Realtime * Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics). * * @param {Object} request * The request object that will be sent. * @param {string} request.property * A Google Analytics property identifier whose events are tracked. * Specified in the URL path and not the body. To learn more, see [where to * find your Property * ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). * * Example: properties/1234 * @param {number[]} request.dimensions * The dimensions requested and displayed. * @param {number[]} request.metrics * The metrics requested and displayed. * @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter * The filter clause of dimensions. Metrics cannot be used in this filter. * @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter * The filter clause of metrics. Applied at post aggregation phase, similar to * SQL having-clause. Dimensions cannot be used in this filter. * @param {number} request.limit * The number of rows to return. If unspecified, 10,000 rows are returned. The * API returns a maximum of 250,000 rows per request, no matter how many you * ask for. `limit` must be positive. * * The API can also return fewer rows than the requested `limit`, if there * aren't as many dimension values as the `limit`. For instance, there are * fewer than 300 possible values for the dimension `country`, so when * reporting on only `country`, you can't get more than 300 rows, even if you * set `limit` to a higher value. * @param {number[]} request.metricAggregations * Aggregation of metrics. Aggregated metric values will be shown in rows * where the dimension_values are set to "RESERVED_(MetricAggregation)". * @param {number[]} request.orderBys * Specifies how rows are ordered in the response. * @param {boolean} request.returnPropertyQuota * Toggles whether to return the current state of this Google Analytics * property's Realtime quota. Quota is returned in * [PropertyQuota](#PropertyQuota). * @param {number[]} request.minuteRanges * The minute ranges of event data to read. If unspecified, one minute range * for the last 30 minutes will be used. If multiple minute ranges are * requested, each response row will contain a zero based minute range index. * If two minute ranges overlap, the event data for the overlapping minutes is * included in the response rows for both minute ranges. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.RunRealtimeReportResponse|RunRealtimeReportResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.run_realtime_report.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_RunRealtimeReport_async */ runRealtimeReport(request?: protos.google.analytics.data.v1beta.IRunRealtimeReportRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IRunRealtimeReportResponse, protos.google.analytics.data.v1beta.IRunRealtimeReportRequest | undefined, {} | undefined ]>; runRealtimeReport(request: protos.google.analytics.data.v1beta.IRunRealtimeReportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IRunRealtimeReportResponse, protos.google.analytics.data.v1beta.IRunRealtimeReportRequest | null | undefined, {} | null | undefined>): void; runRealtimeReport(request: protos.google.analytics.data.v1beta.IRunRealtimeReportRequest, callback: Callback<protos.google.analytics.data.v1beta.IRunRealtimeReportResponse, protos.google.analytics.data.v1beta.IRunRealtimeReportRequest | null | undefined, {} | null | undefined>): void; /** * This compatibility method lists dimensions and metrics that can be added to * a report request and maintain compatibility. This method fails if the * request's dimensions and metrics are incompatible. * * In Google Analytics, reports fail if they request incompatible dimensions * and/or metrics; in that case, you will need to remove dimensions and/or * metrics from the incompatible report until the report is compatible. * * The Realtime and Core reports have different compatibility rules. This * method checks compatibility for Core reports. * * @param {Object} request * The request object that will be sent. * @param {string} request.property * A Google Analytics property identifier whose events are tracked. To * learn more, see [where to find your Property * ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). * `property` should be the same value as in your `runReport` request. * * Example: properties/1234 * @param {number[]} request.dimensions * The dimensions in this report. `dimensions` should be the same value as in * your `runReport` request. * @param {number[]} request.metrics * The metrics in this report. `metrics` should be the same value as in your * `runReport` request. * @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter * The filter clause of dimensions. `dimensionFilter` should be the same value * as in your `runReport` request. * @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter * The filter clause of metrics. `metricFilter` should be the same value as in * your `runReport` request * @param {google.analytics.data.v1beta.Compatibility} request.compatibilityFilter * Filters the dimensions and metrics in the response to just this * compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”` * to only return compatible dimensions & metrics. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.CheckCompatibilityResponse|CheckCompatibilityResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.check_compatibility.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_CheckCompatibility_async */ checkCompatibility(request?: protos.google.analytics.data.v1beta.ICheckCompatibilityRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.ICheckCompatibilityResponse, protos.google.analytics.data.v1beta.ICheckCompatibilityRequest | undefined, {} | undefined ]>; checkCompatibility(request: protos.google.analytics.data.v1beta.ICheckCompatibilityRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.ICheckCompatibilityResponse, protos.google.analytics.data.v1beta.ICheckCompatibilityRequest | null | undefined, {} | null | undefined>): void; checkCompatibility(request: protos.google.analytics.data.v1beta.ICheckCompatibilityRequest, callback: Callback<protos.google.analytics.data.v1beta.ICheckCompatibilityResponse, protos.google.analytics.data.v1beta.ICheckCompatibilityRequest | null | undefined, {} | null | undefined>): void; /** * Retrieves an audience export of users. After creating an audience, the * users are not immediately available for exporting. First, a request to * `CreateAudienceExport` is necessary to create an audience export of users, * and then second, this method is used to retrieve the users in the audience * export. * * See [Creating an Audience * Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) * for an introduction to Audience Exports with examples. * * Audiences in Google Analytics 4 allow you to segment your users in the ways * that are important to your business. To learn more, see * https://support.google.com/analytics/answer/9267572. * * Audience Export APIs have some methods at alpha and other methods at beta * stability. The intention is to advance methods to beta stability after some * feedback and adoption. To give your feedback on this API, complete the * [Google Analytics Audience Export API * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The name of the audience export to retrieve users from. * Format: `properties/{property}/audienceExports/{audience_export}` * @param {number} [request.offset] * Optional. The row count of the start row. The first row is counted as row * 0. * * When paging, the first request does not specify offset; or equivalently, * sets offset to 0; the first request returns the first `limit` of rows. The * second request sets offset to the `limit` of the first request; the second * request returns the second `limit` of rows. * * To learn more about this pagination parameter, see * [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). * @param {number} [request.limit] * Optional. The number of rows to return. If unspecified, 10,000 rows are * returned. The API returns a maximum of 250,000 rows per request, no matter * how many you ask for. `limit` must be positive. * * The API can also return fewer rows than the requested `limit`, if there * aren't as many dimension values as the `limit`. * * To learn more about this pagination parameter, see * [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.QueryAudienceExportResponse|QueryAudienceExportResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.query_audience_export.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_QueryAudienceExport_async */ queryAudienceExport(request?: protos.google.analytics.data.v1beta.IQueryAudienceExportRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IQueryAudienceExportResponse, protos.google.analytics.data.v1beta.IQueryAudienceExportRequest | undefined, {} | undefined ]>; queryAudienceExport(request: protos.google.analytics.data.v1beta.IQueryAudienceExportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IQueryAudienceExportResponse, protos.google.analytics.data.v1beta.IQueryAudienceExportRequest | null | undefined, {} | null | undefined>): void; queryAudienceExport(request: protos.google.analytics.data.v1beta.IQueryAudienceExportRequest, callback: Callback<protos.google.analytics.data.v1beta.IQueryAudienceExportResponse, protos.google.analytics.data.v1beta.IQueryAudienceExportRequest | null | undefined, {} | null | undefined>): void; /** * Gets configuration metadata about a specific audience export. This method * can be used to understand an audience export after it has been created. * * See [Creating an Audience * Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) * for an introduction to Audience Exports with examples. * * Audience Export APIs have some methods at alpha and other methods at beta * stability. The intention is to advance methods to beta stability after some * feedback and adoption. To give your feedback on this API, complete the * [Google Analytics Audience Export API * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The audience export resource name. * Format: `properties/{property}/audienceExports/{audience_export}` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.analytics.data.v1beta.AudienceExport|AudienceExport}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.get_audience_export.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_GetAudienceExport_async */ getAudienceExport(request?: protos.google.analytics.data.v1beta.IGetAudienceExportRequest, options?: CallOptions): Promise<[ protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IGetAudienceExportRequest | undefined, {} | undefined ]>; getAudienceExport(request: protos.google.analytics.data.v1beta.IGetAudienceExportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IGetAudienceExportRequest | null | undefined, {} | null | undefined>): void; getAudienceExport(request: protos.google.analytics.data.v1beta.IGetAudienceExportRequest, callback: Callback<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IGetAudienceExportRequest | null | undefined, {} | null | undefined>): void; /** * Creates an audience export for later retrieval. This method quickly returns * the audience export's resource name and initiates a long running * asynchronous request to form an audience export. To export the users in an * audience export, first create the audience export through this method and * then send the audience resource name to the `QueryAudienceExport` method. * * See [Creating an Audience * Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) * for an introduction to Audience Exports with examples. * * An audience export is a snapshot of the users currently in the audience at * the time of audience export creation. Creating audience exports for one * audience on different days will return different results as users enter and * exit the audience. * * Audiences in Google Analytics 4 allow you to segment your users in the ways * that are important to your business. To learn more, see * https://support.google.com/analytics/answer/9267572. Audience exports * contain the users in each audience. * * Audience Export APIs have some methods at alpha and other methods at beta * stability. The intention is to advance methods to beta stability after some * feedback and adoption. To give your feedback on this API, complete the * [Google Analytics Audience Export API * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The parent resource where this audience export will be created. * Format: `properties/{property}` * @param {google.analytics.data.v1beta.AudienceExport} request.audienceExport * Required. The audience export to create. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing * a long running operation. Its `promise()` method returns a promise * you can `await` for. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.create_audience_export.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_CreateAudienceExport_async */ createAudienceExport(request?: protos.google.analytics.data.v1beta.ICreateAudienceExportRequest, options?: CallOptions): Promise<[ LROperation<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IAudienceExportMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined ]>; createAudienceExport(request: protos.google.analytics.data.v1beta.ICreateAudienceExportRequest, options: CallOptions, callback: Callback<LROperation<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IAudienceExportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; createAudienceExport(request: protos.google.analytics.data.v1beta.ICreateAudienceExportRequest, callback: Callback<LROperation<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IAudienceExportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; /** * Check the status of the long running operation returned by `createAudienceExport()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example <caption>include:samples/generated/v1beta/beta_analytics_data.create_audience_export.js</caption> * region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_CreateAudienceExport_async */ checkCreateAudienceExportProgress(name: string): Promise<LROperation<protos.google.analytics.data.v1beta.AudienceExport, protos.google.analytics.data.v1beta.AudienceExportMetadata>>; /** * Lists all audience exports for a property. This method can be used for you * to find and reuse existing audience exports rather than creating * unnecessary new audience exports. The same audience can have multiple * audience exports that represent the export of users that were in an * audience on different days. * * See [Creating an Audience * Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) * for an introduction to Audience Exports with examples. * * Audience Export APIs have some methods at alpha and other methods at beta * stability. The intention is to advance methods to beta stability after some * feedback and adoption. To give your feedback on this API, complete the * [Google Analytics Audience Export API * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. All audience exports for this property will be listed in the * response. Format: `properties/{property}` * @param {number} [request.pageSize] * Optional. The maximum number of audience exports to return. The service may * return fewer than this value. If unspecified, at most 200 audience exports * will be returned. The maximum value is 1000 (higher values will be coerced * to the maximum). * @param {string} [request.pageToken] * Optional. A page token, received from a previous `ListAudienceExports` * call. Provide this to retrieve the subsequent page. * * When paginating, all other parameters provided to `ListAudienceExports` * must match the call that provided the page token. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.analytics.data.v1beta.AudienceExport|AudienceExport}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listAudienceExportsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.m