File

src/apis/doubleclickbidmanager/v1.1.ts

Description

Path filters specify which paths to include in a report. A path is the result of combining DV360 events based on User ID to create a workflow of users' actions. When a path filter is set, the resulting report will only include paths that match the specified event at the specified position. All other paths will be excluded.

Index

Properties

Properties

eventFilters
eventFilters: Schema$EventFilter[]
Type : Schema$EventFilter[]
Optional

Filter on an event to be applied to some part of the path.

pathMatchPosition
pathMatchPosition: string | null
Type : string | null
Optional

Indicates the position of the path the filter should match to (first, last, or any event in path).

import {
  OAuth2Client,
  JWT,
  Compute,
  UserRefreshClient,
  BaseExternalAccountClient,
  GaxiosPromise,
  GoogleConfigurable,
  createAPIRequest,
  MethodOptions,
  StreamMethodOptions,
  GlobalOptions,
  GoogleAuth,
  BodyResponseCallback,
  APIRequestContext,
} from 'googleapis-common';
import {Readable} from 'stream';

export namespace doubleclickbidmanager_v1_1 {
  export interface Options extends GlobalOptions {
    version: 'v1.1';
  }

  interface StandardParameters {
    /**
     * Auth client or API Key for the request
     */
    auth?:
      | string
      | OAuth2Client
      | JWT
      | Compute
      | UserRefreshClient
      | BaseExternalAccountClient
      | GoogleAuth;

    /**
     * V1 error format.
     */
    '$.xgafv'?: string;
    /**
     * OAuth access token.
     */
    access_token?: string;
    /**
     * Data format for response.
     */
    alt?: string;
    /**
     * JSONP
     */
    callback?: string;
    /**
     * Selector specifying which fields to include in a partial response.
     */
    fields?: string;
    /**
     * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
     */
    key?: string;
    /**
     * OAuth 2.0 token for the current user.
     */
    oauth_token?: string;
    /**
     * Returns response with indentations and line breaks.
     */
    prettyPrint?: boolean;
    /**
     * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
     */
    quotaUser?: string;
    /**
     * Legacy upload protocol for media (e.g. "media", "multipart").
     */
    uploadType?: string;
    /**
     * Upload protocol for media (e.g. "raw", "multipart").
     */
    upload_protocol?: string;
  }

  /**
   * DoubleClick Bid Manager API
   *
   * DoubleClick Bid Manager API allows users to manage and create campaigns and reports.
   *
   * @example
   * ```js
   * const {google} = require('googleapis');
   * const doubleclickbidmanager = google.doubleclickbidmanager('v1.1');
   * ```
   */
  export class Doubleclickbidmanager {
    context: APIRequestContext;
    queries: Resource$Queries;
    reports: Resource$Reports;

    constructor(options: GlobalOptions, google?: GoogleConfigurable) {
      this.context = {
        _options: options || {},
        google,
      };

      this.queries = new Resource$Queries(this.context);
      this.reports = new Resource$Reports(this.context);
    }
  }

  /**
   * A channel grouping defines a set of rules that can be used to categorize events in a path report.
   */
  export interface Schema$ChannelGrouping {
    /**
     * The name to apply to an event that does not match any of the rules in the channel grouping.
     */
    fallbackName?: string | null;
    /**
     * Channel Grouping name.
     */
    name?: string | null;
    /**
     * Rules within Channel Grouping. There is a limit of 100 rules that can be set per channel grouping.
     */
    rules?: Schema$Rule[];
  }
  /**
   * DisjunctiveMatchStatement that OR's all contained filters.
   */
  export interface Schema$DisjunctiveMatchStatement {
    /**
     * Filters. There is a limit of 100 filters that can be set per disjunctive match statement.
     */
    eventFilters?: Schema$EventFilter[];
  }
  /**
   * Defines the type of filter to be applied to the path, a DV360 event dimension filter.
   */
  export interface Schema$EventFilter {
    /**
     * Filter on a dimension.
     */
    dimensionFilter?: Schema$PathQueryOptionsFilter;
  }
  /**
   * Filter used to match traffic data in your report.
   */
  export interface Schema$FilterPair {
    /**
     * Filter type.
     */
    type?: string | null;
    /**
     * Filter value.
     */
    value?: string | null;
  }
  /**
   * List queries response.
   */
  export interface Schema$ListQueriesResponse {
    /**
     * Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#listQueriesResponse".
     */
    kind?: string | null;
    /**
     * Next page's pagination token if one exists.
     */
    nextPageToken?: string | null;
    /**
     * Retrieved queries.
     */
    queries?: Schema$Query[];
  }
  /**
   * List reports response.
   */
  export interface Schema$ListReportsResponse {
    /**
     * Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#listReportsResponse".
     */
    kind?: string | null;
    /**
     * Next page's pagination token if one exists.
     */
    nextPageToken?: string | null;
    /**
     * Retrieved reports.
     */
    reports?: Schema$Report[];
  }
  /**
   * Additional query options.
   */
  export interface Schema$Options {
    /**
     * Set to true and filter your report by `FILTER_INSERTION_ORDER` or `FILTER_LINE_ITEM` to include data for audience lists specifically targeted by those items.
     */
    includeOnlyTargetedUserLists?: boolean | null;
    /**
     * Options that contain Path Filters and Custom Channel Groupings.
     */
    pathQueryOptions?: Schema$PathQueryOptions;
  }
  /**
   * Parameters of a query or report.
   */
  export interface Schema$Parameters {
    /**
     * Filters used to match traffic data in your report.
     */
    filters?: Schema$FilterPair[];
    /**
     * Data is grouped by the filters listed in this field.
     */
    groupBys?: string[] | null;
    /**
     * Deprecated. This field is no longer in use.
     */
    includeInviteData?: boolean | null;
    /**
     * Metrics to include as columns in your report.
     */
    metrics?: string[] | null;
    /**
     * Additional query options.
     */
    options?: Schema$Options;
    /**
     * Report type.
     */
    type?: string | null;
  }
  /**
   * Path filters specify which paths to include in a report. A path is the result of combining DV360 events based on User ID to create a workflow of users' actions. When a path filter is set, the resulting report will only include paths that match the specified event at the specified position. All other paths will be excluded.
   */
  export interface Schema$PathFilter {
    /**
     * Filter on an event to be applied to some part of the path.
     */
    eventFilters?: Schema$EventFilter[];
    /**
     * Indicates the position of the path the filter should match to (first, last, or any event in path).
     */
    pathMatchPosition?: string | null;
  }
  /**
   * Path Query Options for Report Options.
   */
  export interface Schema$PathQueryOptions {
    /**
     * Custom Channel Groupings.
     */
    channelGrouping?: Schema$ChannelGrouping;
    /**
     * Path Filters. There is a limit of 100 path filters that can be set per report.
     */
    pathFilters?: Schema$PathFilter[];
  }
  /**
   * Dimension Filter on path events.
   */
  export interface Schema$PathQueryOptionsFilter {
    /**
     * Dimension the filter is applied to.
     */
    filter?: string | null;
    /**
     * Indicates how the filter should be matched to the value.
     */
    match?: string | null;
    /**
     * Value to filter on.
     */
    values?: string[] | null;
  }
  /**
   * Represents a query.
   */
  export interface Schema$Query {
    /**
     * Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#query".
     */
    kind?: string | null;
    /**
     * Query metadata.
     */
    metadata?: Schema$QueryMetadata;
    /**
     * Query parameters.
     */
    params?: Schema$Parameters;
    /**
     * Query ID.
     */
    queryId?: string | null;
    /**
     * The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
     */
    reportDataEndTimeMs?: string | null;
    /**
     * The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
     */
    reportDataStartTimeMs?: string | null;
    /**
     * Information on how often and when to run a query.
     */
    schedule?: Schema$QuerySchedule;
    /**
     * Canonical timezone code for report data time. Defaults to America/New_York.
     */
    timezoneCode?: string | null;
  }
  /**
   * Query metadata.
   */
  export interface Schema$QueryMetadata {
    /**
     * Range of report data.
     */
    dataRange?: string | null;
    /**
     * Format of the generated report.
     */
    format?: string | null;
    /**
     * The path to the location in Google Cloud Storage where the latest report is stored.
     */
    googleCloudStoragePathForLatestReport?: string | null;
    /**
     * The path in Google Drive for the latest report.
     */
    googleDrivePathForLatestReport?: string | null;
    /**
     * The time when the latest report started to run.
     */
    latestReportRunTimeMs?: string | null;
    /**
     * Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string not in the list above will generate reports in English.
     */
    locale?: string | null;
    /**
     * Number of reports that have been generated for the query.
     */
    reportCount?: number | null;
    /**
     * Whether the latest report is currently running.
     */
    running?: boolean | null;
    /**
     * Whether to send an email notification when a report is ready. Default to false.
     */
    sendNotification?: boolean | null;
    /**
     * List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
     */
    shareEmailAddress?: string[] | null;
    /**
     * Query title. It is used to name the reports generated from this query.
     */
    title?: string | null;
  }
  /**
   * Information on how frequently and when to run a query.
   */
  export interface Schema$QuerySchedule {
    /**
     * Datetime to periodically run the query until.
     */
    endTimeMs?: string | null;
    /**
     * How often the query is run.
     */
    frequency?: string | null;
    /**
     * Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
     */
    nextRunMinuteOfDay?: number | null;
    /**
     * Canonical timezone code for report generation time. Defaults to America/New_York.
     */
    nextRunTimezoneCode?: string | null;
    /**
     * When to start running the query. Not applicable to `ONE_TIME` frequency.
     */
    startTimeMs?: string | null;
  }
  /**
   * Represents a report.
   */
  export interface Schema$Report {
    /**
     * Key used to identify a report.
     */
    key?: Schema$ReportKey;
    /**
     * Report metadata.
     */
    metadata?: Schema$ReportMetadata;
    /**
     * Report parameters.
     */
    params?: Schema$Parameters;
  }
  /**
   * An explanation of a report failure.
   */
  export interface Schema$ReportFailure {
    /**
     * Error code that shows why the report was not created.
     */
    errorCode?: string | null;
  }
  /**
   * Key used to identify a report.
   */
  export interface Schema$ReportKey {
    /**
     * Query ID.
     */
    queryId?: string | null;
    /**
     * Report ID.
     */
    reportId?: string | null;
  }
  /**
   * Report metadata.
   */
  export interface Schema$ReportMetadata {
    /**
     * The path to the location in Google Cloud Storage where the report is stored.
     */
    googleCloudStoragePath?: string | null;
    /**
     * The ending time for the data that is shown in the report.
     */
    reportDataEndTimeMs?: string | null;
    /**
     * The starting time for the data that is shown in the report.
     */
    reportDataStartTimeMs?: string | null;
    /**
     * Report status.
     */
    status?: Schema$ReportStatus;
  }
  /**
   * Report status.
   */
  export interface Schema$ReportStatus {
    /**
     * If the report failed, this records the cause.
     */
    failure?: Schema$ReportFailure;
    /**
     * The time when this report either completed successfully or failed.
     */
    finishTimeMs?: string | null;
    /**
     * The file type of the report.
     */
    format?: string | null;
    /**
     * The state of the report.
     */
    state?: string | null;
  }
  /**
   * A Rule defines a name, and a boolean expression in [conjunctive normal form](http: //mathworld.wolfram.com/ConjunctiveNormalForm.html){.external\} that can be // applied to a path event to determine if that name should be applied.
   */
  export interface Schema$Rule {
    disjunctiveMatchStatements?: Schema$DisjunctiveMatchStatement[];
    /**
     * Rule name.
     */
    name?: string | null;
  }
  /**
   * Request to run a stored query to generate a report.
   */
  export interface Schema$RunQueryRequest {
    /**
     * Report data range used to generate the report.
     */
    dataRange?: string | null;
    /**
     * The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
     */
    reportDataEndTimeMs?: string | null;
    /**
     * The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
     */
    reportDataStartTimeMs?: string | null;
    /**
     * Canonical timezone code for report data time. Defaults to America/New_York.
     */
    timezoneCode?: string | null;
  }

  export class Resource$Queries {
    context: APIRequestContext;
    constructor(context: APIRequestContext) {
      this.context = context;
    }

    /**
     * Creates a query.
     * @example
     * ```js
     * // Before running the sample:
     * // - Enable the API at:
     * //   https://console.developers.google.com/apis/api/doubleclickbidmanager.googleapis.com
     * // - Login into gcloud by running:
     * //   `$ gcloud auth application-default login`
     * // - Install the npm module by running:
     * //   `$ npm install googleapis`
     *
     * const {google} = require('googleapis');
     * const doubleclickbidmanager = google.doubleclickbidmanager('v1.1');
     *
     * async function main() {
     *   const auth = new google.auth.GoogleAuth({
     *     // Scopes can be specified either as an array or as a single, space-delimited string.
     *     scopes: ['https://www.googleapis.com/auth/doubleclickbidmanager'],
     *   });
     *
     *   // Acquire an auth client, and bind it to all future calls
     *   const authClient = await auth.getClient();
     *   google.options({auth: authClient});
     *
     *   // Do the magic
     *   const res = await doubleclickbidmanager.queries.createquery({
     *     // If true, tries to run the query asynchronously. Only applicable when the frequency is ONE_TIME.
     *     asynchronous: 'placeholder-value',
     *
     *     // Request body metadata
     *     requestBody: {
     *       // request body parameters
     *       // {
     *       //   "kind": "my_kind",
     *       //   "metadata": {},
     *       //   "params": {},
     *       //   "queryId": "my_queryId",
     *       //   "reportDataEndTimeMs": "my_reportDataEndTimeMs",
     *       //   "reportDataStartTimeMs": "my_reportDataStartTimeMs",
     *       //   "schedule": {},
     *       //   "timezoneCode": "my_timezoneCode"
     *       // }
     *     },
     *   });
     *   console.log(res.data);
     *
     *   // Example response
     *   // {
     *   //   "kind": "my_kind",
     *   //   "metadata": {},
     *   //   "params": {},
     *   //   "queryId": "my_queryId",
     *   //   "reportDataEndTimeMs": "my_reportDataEndTimeMs",
     *   //   "reportDataStartTimeMs": "my_reportDataStartTimeMs",
     *   //   "schedule": {},
     *   //   "timezoneCode": "my_timezoneCode"
     *   // }
     * }
     *
     * main().catch(e => {
     *   console.error(e);
     *   throw e;
     * });
     *
     * ```
     *
     * @param params - Parameters for request
     * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param callback - Optional callback that handles the response.
     * @returns A promise if used with async/await, or void if used with a callback.
     */
    createquery(
      params: Params$Resource$Queries$Createquery,
      options: StreamMethodOptions
    ): GaxiosPromise<Readable>;
    createquery(
      params?: Params$Resource$Queries$Createquery,
      options?: MethodOptions
    ): GaxiosPromise<Schema$Query>;
    createquery(
      params: Params$Resource$Queries$Createquery,
      options: StreamMethodOptions | BodyResponseCallback<Readable>,
      callback: BodyResponseCallback<Readable>
    ): void;
    createquery(
      params: Params$Resource$Queries$Createquery,
      options: MethodOptions | BodyResponseCallback<Schema$Query>,
      callback: BodyResponseCallback<Schema$Query>
    ): void;
    createquery(
      params: Params$Resource$Queries$Createquery,
      callback: BodyResponseCallback<Schema$Query>
    ): void;
    createquery(callback: BodyResponseCallback<Schema$Query>): void;
    createquery(
      paramsOrCallback?:
        | Params$Resource$Queries$Createquery
        | BodyResponseCallback<Schema$Query>
        | BodyResponseCallback<Readable>,
      optionsOrCallback?:
        | MethodOptions
        | StreamMethodOptions
        | BodyResponseCallback<Schema$Query>
        | BodyResponseCallback<Readable>,
      callback?:
        | BodyResponseCallback<Schema$Query>
        | BodyResponseCallback<Readable>
    ): void | GaxiosPromise<Schema$Query> | GaxiosPromise<Readable> {
      let params = (paramsOrCallback ||
        {}) as Params$Resource$Queries$Createquery;
      let options = (optionsOrCallback || {}) as MethodOptions;

      if (typeof paramsOrCallback === 'function') {
        callback = paramsOrCallback;
        params = {} as Params$Resource$Queries$Createquery;
        options = {};
      }

      if (typeof optionsOrCallback === 'function') {
        callback = optionsOrCallback;
        options = {};
      }

      const rootUrl =
        options.rootUrl || 'https://doubleclickbidmanager.googleapis.com/';
      const parameters = {
        options: Object.assign(
          {
            url: (rootUrl + '/doubleclickbidmanager/v1.1/query').replace(
              /([^:]\/)\/+/g,
              '$1'
            ),
            method: 'POST',
          },
          options
        ),
        params,
        requiredParams: [],
        pathParams: [],
        context: this.context,
      };
      if (callback) {
        createAPIRequest<Schema$Query>(
          parameters,
          callback as BodyResponseCallback<unknown>
        );
      } else {
        return createAPIRequest<Schema$Query>(parameters);
      }
    }

    /**
     * Deletes a stored query as well as the associated stored reports.
     * @example
     * ```js
     * // Before running the sample:
     * // - Enable the API at:
     * //   https://console.developers.google.com/apis/api/doubleclickbidmanager.googleapis.com
     * // - Login into gcloud by running:
     * //   `$ gcloud auth application-default login`
     * // - Install the npm module by running:
     * //   `$ npm install googleapis`
     *
     * const {google} = require('googleapis');
     * const doubleclickbidmanager = google.doubleclickbidmanager('v1.1');
     *
     * async function main() {
     *   const auth = new google.auth.GoogleAuth({
     *     // Scopes can be specified either as an array or as a single, space-delimited string.
     *     scopes: ['https://www.googleapis.com/auth/doubleclickbidmanager'],
     *   });
     *
     *   // Acquire an auth client, and bind it to all future calls
     *   const authClient = await auth.getClient();
     *   google.options({auth: authClient});
     *
     *   // Do the magic
     *   const res = await doubleclickbidmanager.queries.deletequery({
     *     // Query ID to delete.
     *     queryId: 'placeholder-value',
     *   });
     *   console.log(res.data);
     * }
     *
     * main().catch(e => {
     *   console.error(e);
     *   throw e;
     * });
     *
     * ```
     *
     * @param params - Parameters for request
     * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param callback - Optional callback that handles the response.
     * @returns A promise if used with async/await, or void if used with a callback.
     */
    deletequery(
      params: Params$Resource$Queries$Deletequery,
      options: StreamMethodOptions
    ): GaxiosPromise<Readable>;
    deletequery(
      params?: Params$Resource$Queries$Deletequery,
      options?: MethodOptions
    ): GaxiosPromise<void>;
    deletequery(
      params: Params$Resource$Queries$Deletequery,
      options: StreamMethodOptions | BodyResponseCallback<Readable>,
      callback: BodyResponseCallback<Readable>
    ): void;
    deletequery(
      params: Params$Resource$Queries$Deletequery,
      options: MethodOptions | BodyResponseCallback<void>,
      callback: BodyResponseCallback<void>
    ): void;
    deletequery(
      params: Params$Resource$Queries$Deletequery,
      callback: BodyResponseCallback<void>
    ): void;
    deletequery(callback: BodyResponseCallback<void>): void;
    deletequery(
      paramsOrCallback?:
        | Params$Resource$Queries$Deletequery
        | BodyResponseCallback<void>
        | BodyResponseCallback<Readable>,
      optionsOrCallback?:
        | MethodOptions
        | StreamMethodOptions
        | BodyResponseCallback<void>
        | BodyResponseCallback<Readable>,
      callback?: BodyResponseCallback<void> | BodyResponseCallback<Readable>
    ): void | GaxiosPromise<void> | GaxiosPromise<Readable> {
      let params = (paramsOrCallback ||
        {}) as Params$Resource$Queries$Deletequery;
      let options = (optionsOrCallback || {}) as MethodOptions;

      if (typeof paramsOrCallback === 'function') {
        callback = paramsOrCallback;
        params = {} as Params$Resource$Queries$Deletequery;
        options = {};
      }

      if (typeof optionsOrCallback === 'function') {
        callback = optionsOrCallback;
        options = {};
      }

      const rootUrl =
        options.rootUrl || 'https://doubleclickbidmanager.googleapis.com/';
      const parameters = {
        options: Object.assign(
          {
            url: (
              rootUrl + '/doubleclickbidmanager/v1.1/query/{queryId}'
            ).replace(/([^:]\/)\/+/g, '$1'),
            method: 'DELETE',
          },
          options
        ),
        params,
        requiredParams: ['queryId'],
        pathParams: ['queryId'],
        context: this.context,
      };
      if (callback) {
        createAPIRequest<void>(
          parameters,
          callback as BodyResponseCallback<unknown>
        );
      } else {
        return createAPIRequest<void>(parameters);
      }
    }

    /**
     * Retrieves a stored query.
     * @example
     * ```js
     * // Before running the sample:
     * // - Enable the API at:
     * //   https://console.developers.google.com/apis/api/doubleclickbidmanager.googleapis.com
     * // - Login into gcloud by running:
     * //   `$ gcloud auth application-default login`
     * // - Install the npm module by running:
     * //   `$ npm install googleapis`
     *
     * const {google} = require('googleapis');
     * const doubleclickbidmanager = google.doubleclickbidmanager('v1.1');
     *
     * async function main() {
     *   const auth = new google.auth.GoogleAuth({
     *     // Scopes can be specified either as an array or as a single, space-delimited string.
     *     scopes: ['https://www.googleapis.com/auth/doubleclickbidmanager'],
     *   });
     *
     *   // Acquire an auth client, and bind it to all future calls
     *   const authClient = await auth.getClient();
     *   google.options({auth: authClient});
     *
     *   // Do the magic
     *   const res = await doubleclickbidmanager.queries.getquery({
     *     // Query ID to retrieve.
     *     queryId: 'placeholder-value',
     *   });
     *   console.log(res.data);
     *
     *   // Example response
     *   // {
     *   //   "kind": "my_kind",
     *   //   "metadata": {},
     *   //   "params": {},
     *   //   "queryId": "my_queryId",
     *   //   "reportDataEndTimeMs": "my_reportDataEndTimeMs",
     *   //   "reportDataStartTimeMs": "my_reportDataStartTimeMs",
     *   //   "schedule": {},
     *   //   "timezoneCode": "my_timezoneCode"
     *   // }
     * }
     *
     * main().catch(e => {
     *   console.error(e);
     *   throw e;
     * });
     *
     * ```
     *
     * @param params - Parameters for request
     * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param callback - Optional callback that handles the response.
     * @returns A promise if used with async/await, or void if used with a callback.
     */
    getquery(
      params: Params$Resource$Queries$Getquery,
      options: StreamMethodOptions
    ): GaxiosPromise<Readable>;
    getquery(
      params?: Params$Resource$Queries$Getquery,
      options?: MethodOptions
    ): GaxiosPromise<Schema$Query>;
    getquery(
      params: Params$Resource$Queries$Getquery,
      options: StreamMethodOptions | BodyResponseCallback<Readable>,
      callback: BodyResponseCallback<Readable>
    ): void;
    getquery(
      params: Params$Resource$Queries$Getquery,
      options: MethodOptions | BodyResponseCallback<Schema$Query>,
      callback: BodyResponseCallback<Schema$Query>
    ): void;
    getquery(
      params: Params$Resource$Queries$Getquery,
      callback: BodyResponseCallback<Schema$Query>
    ): void;
    getquery(callback: BodyResponseCallback<Schema$Query>): void;
    getquery(
      paramsOrCallback?:
        | Params$Resource$Queries$Getquery
        | BodyResponseCallback<Schema$Query>
        | BodyResponseCallback<Readable>,
      optionsOrCallback?:
        | MethodOptions
        | StreamMethodOptions
        | BodyResponseCallback<Schema$Query>
        | BodyResponseCallback<Readable>,
      callback?:
        | BodyResponseCallback<Schema$Query>
        | BodyResponseCallback<Readable>
    ): void | GaxiosPromise<Schema$Query> | GaxiosPromise<Readable> {
      let params = (paramsOrCallback || {}) as Params$Resource$Queries$Getquery;
      let options = (optionsOrCallback || {}) as MethodOptions;

      if (typeof paramsOrCallback === 'function') {
        callback = paramsOrCallback;
        params = {} as Params$Resource$Queries$Getquery;
        options = {};
      }

      if (typeof optionsOrCallback === 'function') {
        callback = optionsOrCallback;
        options = {};
      }

      const rootUrl =
        options.rootUrl || 'https://doubleclickbidmanager.googleapis.com/';
      const parameters = {
        options: Object.assign(
          {
            url: (
              rootUrl + '/doubleclickbidmanager/v1.1/query/{queryId}'
            ).replace(/([^:]\/)\/+/g, '$1'),
            method: 'GET',
          },
          options
        ),
        params,
        requiredParams: ['queryId'],
        pathParams: ['queryId'],
        context: this.context,
      };
      if (callback) {
        createAPIRequest<Schema$Query>(
          parameters,
          callback as BodyResponseCallback<unknown>
        );
      } else {
        return createAPIRequest<Schema$Query>(parameters);
      }
    }

    /**
     * Retrieves stored queries.
     * @example
     * ```js
     * // Before running the sample:
     * // - Enable the API at:
     * //   https://console.developers.google.com/apis/api/doubleclickbidmanager.googleapis.com
     * // - Login into gcloud by running:
     * //   `$ gcloud auth application-default login`
     * // - Install the npm module by running:
     * //   `$ npm install googleapis`
     *
     * const {google} = require('googleapis');
     * const doubleclickbidmanager = google.doubleclickbidmanager('v1.1');
     *
     * async function main() {
     *   const auth = new google.auth.GoogleAuth({
     *     // Scopes can be specified either as an array or as a single, space-delimited string.
     *     scopes: ['https://www.googleapis.com/auth/doubleclickbidmanager'],
     *   });
     *
     *   // Acquire an auth client, and bind it to all future calls
     *   const authClient = await auth.getClient();
     *   google.options({auth: authClient});
     *
     *   // Do the magic
     *   const res = await doubleclickbidmanager.queries.listqueries({
     *     // Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.
     *     pageSize: 'placeholder-value',
     *     // Optional pagination token.
     *     pageToken: 'placeholder-value',
     *   });
     *   console.log(res.data);
     *
     *   // Example response
     *   // {
     *   //   "kind": "my_kind",
     *   //   "nextPageToken": "my_nextPageToken",
     *   //   "queries": []
     *   // }
     * }
     *
     * main().catch(e => {
     *   console.error(e);
     *   throw e;
     * });
     *
     * ```
     *
     * @param params - Parameters for request
     * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param callback - Optional callback that handles the response.
     * @returns A promise if used with async/await, or void if used with a callback.
     */
    listqueries(
      params: Params$Resource$Queries$Listqueries,
      options: StreamMethodOptions
    ): GaxiosPromise<Readable>;
    listqueries(
      params?: Params$Resource$Queries$Listqueries,
      options?: MethodOptions
    ): GaxiosPromise<Schema$ListQueriesResponse>;
    listqueries(
      params: Params$Resource$Queries$Listqueries,
      options: StreamMethodOptions | BodyResponseCallback<Readable>,
      callback: BodyResponseCallback<Readable>
    ): void;
    listqueries(
      params: Params$Resource$Queries$Listqueries,
      options: MethodOptions | BodyResponseCallback<Schema$ListQueriesResponse>,
      callback: BodyResponseCallback<Schema$ListQueriesResponse>
    ): void;
    listqueries(
      params: Params$Resource$Queries$Listqueries,
      callback: BodyResponseCallback<Schema$ListQueriesResponse>
    ): void;
    listqueries(
      callback: BodyResponseCallback<Schema$ListQueriesResponse>
    ): void;
    listqueries(
      paramsOrCallback?:
        | Params$Resource$Queries$Listqueries
        | BodyResponseCallback<Schema$ListQueriesResponse>
        | BodyResponseCallback<Readable>,
      optionsOrCallback?:
        | MethodOptions
        | StreamMethodOptions
        | BodyResponseCallback<Schema$ListQueriesResponse>
        | BodyResponseCallback<Readable>,
      callback?:
        | BodyResponseCallback<Schema$ListQueriesResponse>
        | BodyResponseCallback<Readable>
    ):
      | void
      | GaxiosPromise<Schema$ListQueriesResponse>
      | GaxiosPromise<Readable> {
      let params = (paramsOrCallback ||
        {}) as Params$Resource$Queries$Listqueries;
      let options = (optionsOrCallback || {}) as MethodOptions;

      if (typeof paramsOrCallback === 'function') {
        callback = paramsOrCallback;
        params = {} as Params$Resource$Queries$Listqueries;
        options = {};
      }

      if (typeof optionsOrCallback === 'function') {
        callback = optionsOrCallback;
        options = {};
      }

      const rootUrl =
        options.rootUrl || 'https://doubleclickbidmanager.googleapis.com/';
      const parameters = {
        options: Object.assign(
          {
            url: (rootUrl + '/doubleclickbidmanager/v1.1/queries').replace(
              /([^:]\/)\/+/g,
              '$1'
            ),
            method: 'GET',
          },
          options
        ),
        params,
        requiredParams: [],
        pathParams: [],
        context: this.context,
      };
      if (callback) {
        createAPIRequest<Schema$ListQueriesResponse>(
          parameters,
          callback as BodyResponseCallback<unknown>
        );
      } else {
        return createAPIRequest<Schema$ListQueriesResponse>(parameters);
      }
    }

    /**
     * Runs a stored query to generate a report.
     * @example
     * ```js
     * // Before running the sample:
     * // - Enable the API at:
     * //   https://console.developers.google.com/apis/api/doubleclickbidmanager.googleapis.com
     * // - Login into gcloud by running:
     * //   `$ gcloud auth application-default login`
     * // - Install the npm module by running:
     * //   `$ npm install googleapis`
     *
     * const {google} = require('googleapis');
     * const doubleclickbidmanager = google.doubleclickbidmanager('v1.1');
     *
     * async function main() {
     *   const auth = new google.auth.GoogleAuth({
     *     // Scopes can be specified either as an array or as a single, space-delimited string.
     *     scopes: ['https://www.googleapis.com/auth/doubleclickbidmanager'],
     *   });
     *
     *   // Acquire an auth client, and bind it to all future calls
     *   const authClient = await auth.getClient();
     *   google.options({auth: authClient});
     *
     *   // Do the magic
     *   const res = await doubleclickbidmanager.queries.runquery({
     *     // If true, tries to run the query asynchronously.
     *     asynchronous: 'placeholder-value',
     *     // Query ID to run.
     *     queryId: 'placeholder-value',
     *
     *     // Request body metadata
     *     requestBody: {
     *       // request body parameters
     *       // {
     *       //   "dataRange": "my_dataRange",
     *       //   "reportDataEndTimeMs": "my_reportDataEndTimeMs",
     *       //   "reportDataStartTimeMs": "my_reportDataStartTimeMs",
     *       //   "timezoneCode": "my_timezoneCode"
     *       // }
     *     },
     *   });
     *   console.log(res.data);
     * }
     *
     * main().catch(e => {
     *   console.error(e);
     *   throw e;
     * });
     *
     * ```
     *
     * @param params - Parameters for request
     * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param callback - Optional callback that handles the response.
     * @returns A promise if used with async/await, or void if used with a callback.
     */
    runquery(
      params: Params$Resource$Queries$Runquery,
      options: StreamMethodOptions
    ): GaxiosPromise<Readable>;
    runquery(
      params?: Params$Resource$Queries$Runquery,
      options?: MethodOptions
    ): GaxiosPromise<void>;
    runquery(
      params: Params$Resource$Queries$Runquery,
      options: StreamMethodOptions | BodyResponseCallback<Readable>,
      callback: BodyResponseCallback<Readable>
    ): void;
    runquery(
      params: Params$Resource$Queries$Runquery,
      options: MethodOptions | BodyResponseCallback<void>,
      callback: BodyResponseCallback<void>
    ): void;
    runquery(
      params: Params$Resource$Queries$Runquery,
      callback: BodyResponseCallback<void>
    ): void;
    runquery(callback: BodyResponseCallback<void>): void;
    runquery(
      paramsOrCallback?:
        | Params$Resource$Queries$Runquery
        | BodyResponseCallback<void>
        | BodyResponseCallback<Readable>,
      optionsOrCallback?:
        | MethodOptions
        | StreamMethodOptions
        | BodyResponseCallback<void>
        | BodyResponseCallback<Readable>,
      callback?: BodyResponseCallback<void> | BodyResponseCallback<Readable>
    ): void | GaxiosPromise<void> | GaxiosPromise<Readable> {
      let params = (paramsOrCallback || {}) as Params$Resource$Queries$Runquery;
      let options = (optionsOrCallback || {}) as MethodOptions;

      if (typeof paramsOrCallback === 'function') {
        callback = paramsOrCallback;
        params = {} as Params$Resource$Queries$Runquery;
        options = {};
      }

      if (typeof optionsOrCallback === 'function') {
        callback = optionsOrCallback;
        options = {};
      }

      const rootUrl =
        options.rootUrl || 'https://doubleclickbidmanager.googleapis.com/';
      const parameters = {
        options: Object.assign(
          {
            url: (
              rootUrl + '/doubleclickbidmanager/v1.1/query/{queryId}'
            ).replace(/([^:]\/)\/+/g, '$1'),
            method: 'POST',
          },
          options
        ),
        params,
        requiredParams: ['queryId'],
        pathParams: ['queryId'],
        context: this.context,
      };
      if (callback) {
        createAPIRequest<void>(
          parameters,
          callback as BodyResponseCallback<unknown>
        );
      } else {
        return createAPIRequest<void>(parameters);
      }
    }
  }

  export interface Params$Resource$Queries$Createquery
    extends StandardParameters {
    /**
     * If true, tries to run the query asynchronously. Only applicable when the frequency is ONE_TIME.
     */
    asynchronous?: boolean;

    /**
     * Request body metadata
     */
    requestBody?: Schema$Query;
  }
  export interface Params$Resource$Queries$Deletequery
    extends StandardParameters {
    /**
     * Query ID to delete.
     */
    queryId?: string;
  }
  export interface Params$Resource$Queries$Getquery extends StandardParameters {
    /**
     * Query ID to retrieve.
     */
    queryId?: string;
  }
  export interface Params$Resource$Queries$Listqueries
    extends StandardParameters {
    /**
     * Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.
     */
    pageSize?: number;
    /**
     * Optional pagination token.
     */
    pageToken?: string;
  }
  export interface Params$Resource$Queries$Runquery extends StandardParameters {
    /**
     * If true, tries to run the query asynchronously.
     */
    asynchronous?: boolean;
    /**
     * Query ID to run.
     */
    queryId?: string;

    /**
     * Request body metadata
     */
    requestBody?: Schema$RunQueryRequest;
  }

  export class Resource$Reports {
    context: APIRequestContext;
    constructor(context: APIRequestContext) {
      this.context = context;
    }

    /**
     * Retrieves stored reports.
     * @example
     * ```js
     * // Before running the sample:
     * // - Enable the API at:
     * //   https://console.developers.google.com/apis/api/doubleclickbidmanager.googleapis.com
     * // - Login into gcloud by running:
     * //   `$ gcloud auth application-default login`
     * // - Install the npm module by running:
     * //   `$ npm install googleapis`
     *
     * const {google} = require('googleapis');
     * const doubleclickbidmanager = google.doubleclickbidmanager('v1.1');
     *
     * async function main() {
     *   const auth = new google.auth.GoogleAuth({
     *     // Scopes can be specified either as an array or as a single, space-delimited string.
     *     scopes: ['https://www.googleapis.com/auth/doubleclickbidmanager'],
     *   });
     *
     *   // Acquire an auth client, and bind it to all future calls
     *   const authClient = await auth.getClient();
     *   google.options({auth: authClient});
     *
     *   // Do the magic
     *   const res = await doubleclickbidmanager.reports.listreports({
     *     // Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.
     *     pageSize: 'placeholder-value',
     *     // Optional pagination token.
     *     pageToken: 'placeholder-value',
     *     // Query ID with which the reports are associated.
     *     queryId: 'placeholder-value',
     *   });
     *   console.log(res.data);
     *
     *   // Example response
     *   // {
     *   //   "kind": "my_kind",
     *   //   "nextPageToken": "my_nextPageToken",
     *   //   "reports": []
     *   // }
     * }
     *
     * main().catch(e => {
     *   console.error(e);
     *   throw e;
     * });
     *
     * ```
     *
     * @param params - Parameters for request
     * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param callback - Optional callback that handles the response.
     * @returns A promise if used with async/await, or void if used with a callback.
     */
    listreports(
      params: Params$Resource$Reports$Listreports,
      options: StreamMethodOptions
    ): GaxiosPromise<Readable>;
    listreports(
      params?: Params$Resource$Reports$Listreports,
      options?: MethodOptions
    ): GaxiosPromise<Schema$ListReportsResponse>;
    listreports(
      params: Params$Resource$Reports$Listreports,
      options: StreamMethodOptions | BodyResponseCallback<Readable>,
      callback: BodyResponseCallback<Readable>
    ): void;
    listreports(
      params: Params$Resource$Reports$Listreports,
      options: MethodOptions | BodyResponseCallback<Schema$ListReportsResponse>,
      callback: BodyResponseCallback<Schema$ListReportsResponse>
    ): void;
    listreports(
      params: Params$Resource$Reports$Listreports,
      callback: BodyResponseCallback<Schema$ListReportsResponse>
    ): void;
    listreports(
      callback: BodyResponseCallback<Schema$ListReportsResponse>
    ): void;
    listreports(
      paramsOrCallback?:
        | Params$Resource$Reports$Listreports
        | BodyResponseCallback<Schema$ListReportsResponse>
        | BodyResponseCallback<Readable>,
      optionsOrCallback?:
        | MethodOptions
        | StreamMethodOptions
        | BodyResponseCallback<Schema$ListReportsResponse>
        | BodyResponseCallback<Readable>,
      callback?:
        | BodyResponseCallback<Schema$ListReportsResponse>
        | BodyResponseCallback<Readable>
    ):
      | void
      | GaxiosPromise<Schema$ListReportsResponse>
      | GaxiosPromise<Readable> {
      let params = (paramsOrCallback ||
        {}) as Params$Resource$Reports$Listreports;
      let options = (optionsOrCallback || {}) as MethodOptions;

      if (typeof paramsOrCallback === 'function') {
        callback = paramsOrCallback;
        params = {} as Params$Resource$Reports$Listreports;
        options = {};
      }

      if (typeof optionsOrCallback === 'function') {
        callback = optionsOrCallback;
        options = {};
      }

      const rootUrl =
        options.rootUrl || 'https://doubleclickbidmanager.googleapis.com/';
      const parameters = {
        options: Object.assign(
          {
            url: (
              rootUrl + '/doubleclickbidmanager/v1.1/queries/{queryId}/reports'
            ).replace(/([^:]\/)\/+/g, '$1'),
            method: 'GET',
          },
          options
        ),
        params,
        requiredParams: ['queryId'],
        pathParams: ['queryId'],
        context: this.context,
      };
      if (callback) {
        createAPIRequest<Schema$ListReportsResponse>(
          parameters,
          callback as BodyResponseCallback<unknown>
        );
      } else {
        return createAPIRequest<Schema$ListReportsResponse>(parameters);
      }
    }
  }

  export interface Params$Resource$Reports$Listreports
    extends StandardParameters {
    /**
     * Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.
     */
    pageSize?: number;
    /**
     * Optional pagination token.
     */
    pageToken?: string;
    /**
     * Query ID with which the reports are associated.
     */
    queryId?: string;
  }
}

result-matching ""

    No results matching ""