1 // Copyright 2023 Google LLC. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Code generated file. DO NOT EDIT. 6 7 // Package doubleclickbidmanager provides access to the DoubleClick Bid Manager API. 8 // 9 // For product documentation, see: https://developers.google.com/bid-manager/ 10 // 11 // # Creating a client 12 // 13 // Usage example: 14 // 15 // import "google.golang.org/api/doubleclickbidmanager/v1.1" 16 // ... 17 // ctx := context.Background() 18 // doubleclickbidmanagerService, err := doubleclickbidmanager.NewService(ctx) 19 // 20 // In this example, Google Application Default Credentials are used for authentication. 21 // 22 // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 23 // 24 // # Other authentication options 25 // 26 // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 27 // 28 // doubleclickbidmanagerService, err := doubleclickbidmanager.NewService(ctx, option.WithAPIKey("AIza...")) 29 // 30 // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 31 // 32 // config := &oauth2.Config{...} 33 // // ... 34 // token, err := config.Exchange(ctx, ...) 35 // doubleclickbidmanagerService, err := doubleclickbidmanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 36 // 37 // See https://godoc.org/google.golang.org/api/option/ for details on options. 38 package doubleclickbidmanager // import "google.golang.org/api/doubleclickbidmanager/v1.1" 39 40 import ( 41 "bytes" 42 "context" 43 "encoding/json" 44 "errors" 45 "fmt" 46 "io" 47 "net/http" 48 "net/url" 49 "strconv" 50 "strings" 51 52 googleapi "google.golang.org/api/googleapi" 53 internal "google.golang.org/api/internal" 54 gensupport "google.golang.org/api/internal/gensupport" 55 option "google.golang.org/api/option" 56 internaloption "google.golang.org/api/option/internaloption" 57 htransport "google.golang.org/api/transport/http" 58 ) 59 60 // Always reference these packages, just in case the auto-generated code 61 // below doesn't. 62 var _ = bytes.NewBuffer 63 var _ = strconv.Itoa 64 var _ = fmt.Sprintf 65 var _ = json.NewDecoder 66 var _ = io.Copy 67 var _ = url.Parse 68 var _ = gensupport.MarshalJSON 69 var _ = googleapi.Version 70 var _ = errors.New 71 var _ = strings.Replace 72 var _ = context.Canceled 73 var _ = internaloption.WithDefaultEndpoint 74 var _ = internal.Version 75 76 const apiId = "doubleclickbidmanager:v1.1" 77 const apiName = "doubleclickbidmanager" 78 const apiVersion = "v1.1" 79 const basePath = "https://doubleclickbidmanager.googleapis.com/doubleclickbidmanager/v1.1/" 80 const mtlsBasePath = "https://doubleclickbidmanager.mtls.googleapis.com/doubleclickbidmanager/v1.1/" 81 82 // OAuth2 scopes used by this API. 83 const ( 84 // View and manage your reports in DoubleClick Bid Manager 85 DoubleclickbidmanagerScope = "https://www.googleapis.com/auth/doubleclickbidmanager" 86 ) 87 88 // NewService creates a new Service. 89 func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 90 scopesOption := internaloption.WithDefaultScopes( 91 "https://www.googleapis.com/auth/doubleclickbidmanager", 92 ) 93 // NOTE: prepend, so we don't override user-specified scopes. 94 opts = append([]option.ClientOption{scopesOption}, opts...) 95 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 96 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 97 client, endpoint, err := htransport.NewClient(ctx, opts...) 98 if err != nil { 99 return nil, err 100 } 101 s, err := New(client) 102 if err != nil { 103 return nil, err 104 } 105 if endpoint != "" { 106 s.BasePath = endpoint 107 } 108 return s, nil 109 } 110 111 // New creates a new Service. It uses the provided http.Client for requests. 112 // 113 // Deprecated: please use NewService instead. 114 // To provide a custom HTTP client, use option.WithHTTPClient. 115 // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 116 func New(client *http.Client) (*Service, error) { 117 if client == nil { 118 return nil, errors.New("client is nil") 119 } 120 s := &Service{client: client, BasePath: basePath} 121 s.Queries = NewQueriesService(s) 122 s.Reports = NewReportsService(s) 123 return s, nil 124 } 125 126 type Service struct { 127 client *http.Client 128 BasePath string // API endpoint base URL 129 UserAgent string // optional additional User-Agent fragment 130 131 Queries *QueriesService 132 133 Reports *ReportsService 134 } 135 136 func (s *Service) userAgent() string { 137 if s.UserAgent == "" { 138 return googleapi.UserAgent 139 } 140 return googleapi.UserAgent + " " + s.UserAgent 141 } 142 143 func NewQueriesService(s *Service) *QueriesService { 144 rs := &QueriesService{s: s} 145 return rs 146 } 147 148 type QueriesService struct { 149 s *Service 150 } 151 152 func NewReportsService(s *Service) *ReportsService { 153 rs := &ReportsService{s: s} 154 return rs 155 } 156 157 type ReportsService struct { 158 s *Service 159 } 160 161 // ChannelGrouping: A channel grouping defines a set of rules that can 162 // be used to categorize events in a path report. 163 type ChannelGrouping struct { 164 // FallbackName: The name to apply to an event that does not match any 165 // of the rules in the channel grouping. 166 FallbackName string `json:"fallbackName,omitempty"` 167 168 // Name: Channel Grouping name. 169 Name string `json:"name,omitempty"` 170 171 // Rules: Rules within Channel Grouping. There is a limit of 100 rules 172 // that can be set per channel grouping. 173 Rules []*Rule `json:"rules,omitempty"` 174 175 // ForceSendFields is a list of field names (e.g. "FallbackName") to 176 // unconditionally include in API requests. By default, fields with 177 // empty or default values are omitted from API requests. However, any 178 // non-pointer, non-interface field appearing in ForceSendFields will be 179 // sent to the server regardless of whether the field is empty or not. 180 // This may be used to include empty fields in Patch requests. 181 ForceSendFields []string `json:"-"` 182 183 // NullFields is a list of field names (e.g. "FallbackName") to include 184 // in API requests with the JSON null value. By default, fields with 185 // empty values are omitted from API requests. However, any field with 186 // an empty value appearing in NullFields will be sent to the server as 187 // null. It is an error if a field in this list has a non-empty value. 188 // This may be used to include null fields in Patch requests. 189 NullFields []string `json:"-"` 190 } 191 192 func (s *ChannelGrouping) MarshalJSON() ([]byte, error) { 193 type NoMethod ChannelGrouping 194 raw := NoMethod(*s) 195 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 196 } 197 198 // DisjunctiveMatchStatement: DisjunctiveMatchStatement that OR's all 199 // contained filters. 200 type DisjunctiveMatchStatement struct { 201 // EventFilters: Filters. There is a limit of 100 filters that can be 202 // set per disjunctive match statement. 203 EventFilters []*EventFilter `json:"eventFilters,omitempty"` 204 205 // ForceSendFields is a list of field names (e.g. "EventFilters") to 206 // unconditionally include in API requests. By default, fields with 207 // empty or default values are omitted from API requests. However, any 208 // non-pointer, non-interface field appearing in ForceSendFields will be 209 // sent to the server regardless of whether the field is empty or not. 210 // This may be used to include empty fields in Patch requests. 211 ForceSendFields []string `json:"-"` 212 213 // NullFields is a list of field names (e.g. "EventFilters") to include 214 // in API requests with the JSON null value. By default, fields with 215 // empty values are omitted from API requests. However, any field with 216 // an empty value appearing in NullFields will be sent to the server as 217 // null. It is an error if a field in this list has a non-empty value. 218 // This may be used to include null fields in Patch requests. 219 NullFields []string `json:"-"` 220 } 221 222 func (s *DisjunctiveMatchStatement) MarshalJSON() ([]byte, error) { 223 type NoMethod DisjunctiveMatchStatement 224 raw := NoMethod(*s) 225 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 226 } 227 228 // EventFilter: Defines the type of filter to be applied to the path, a 229 // DV360 event dimension filter. 230 type EventFilter struct { 231 // DimensionFilter: Filter on a dimension. 232 DimensionFilter *PathQueryOptionsFilter `json:"dimensionFilter,omitempty"` 233 234 // ForceSendFields is a list of field names (e.g. "DimensionFilter") to 235 // unconditionally include in API requests. By default, fields with 236 // empty or default values are omitted from API requests. However, any 237 // non-pointer, non-interface field appearing in ForceSendFields will be 238 // sent to the server regardless of whether the field is empty or not. 239 // This may be used to include empty fields in Patch requests. 240 ForceSendFields []string `json:"-"` 241 242 // NullFields is a list of field names (e.g. "DimensionFilter") to 243 // include in API requests with the JSON null value. By default, fields 244 // with empty values are omitted from API requests. However, any field 245 // with an empty value appearing in NullFields will be sent to the 246 // server as null. It is an error if a field in this list has a 247 // non-empty value. This may be used to include null fields in Patch 248 // requests. 249 NullFields []string `json:"-"` 250 } 251 252 func (s *EventFilter) MarshalJSON() ([]byte, error) { 253 type NoMethod EventFilter 254 raw := NoMethod(*s) 255 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 256 } 257 258 // FilterPair: Filter used to match traffic data in your report. 259 type FilterPair struct { 260 // Type: Filter type. 261 // 262 // Possible values: 263 // "FILTER_UNKNOWN" 264 // "FILTER_DATE" 265 // "FILTER_DAY_OF_WEEK" 266 // "FILTER_WEEK" 267 // "FILTER_MONTH" 268 // "FILTER_YEAR" 269 // "FILTER_TIME_OF_DAY" 270 // "FILTER_CONVERSION_DELAY" 271 // "FILTER_CREATIVE_ID" 272 // "FILTER_CREATIVE_SIZE" 273 // "FILTER_CREATIVE_TYPE" 274 // "FILTER_EXCHANGE_ID" 275 // "FILTER_AD_POSITION" 276 // "FILTER_PUBLIC_INVENTORY" 277 // "FILTER_INVENTORY_SOURCE" 278 // "FILTER_CITY" 279 // "FILTER_REGION" 280 // "FILTER_DMA" 281 // "FILTER_COUNTRY" 282 // "FILTER_SITE_ID" 283 // "FILTER_CHANNEL_ID" 284 // "FILTER_PARTNER" 285 // "FILTER_ADVERTISER" 286 // "FILTER_INSERTION_ORDER" 287 // "FILTER_LINE_ITEM" 288 // "FILTER_PARTNER_CURRENCY" 289 // "FILTER_ADVERTISER_CURRENCY" 290 // "FILTER_ADVERTISER_TIMEZONE" 291 // "FILTER_LINE_ITEM_TYPE" 292 // "FILTER_USER_LIST" 293 // "FILTER_USER_LIST_FIRST_PARTY" 294 // "FILTER_USER_LIST_THIRD_PARTY" 295 // "FILTER_TARGETED_USER_LIST" 296 // "FILTER_DATA_PROVIDER" 297 // "FILTER_ORDER_ID" 298 // "FILTER_VIDEO_PLAYER_SIZE" 299 // "FILTER_VIDEO_DURATION_SECONDS" 300 // "FILTER_KEYWORD" 301 // "FILTER_PAGE_CATEGORY" 302 // "FILTER_CAMPAIGN_DAILY_FREQUENCY" 303 // "FILTER_LINE_ITEM_DAILY_FREQUENCY" 304 // "FILTER_LINE_ITEM_LIFETIME_FREQUENCY" 305 // "FILTER_OS" 306 // "FILTER_BROWSER" 307 // "FILTER_CARRIER" 308 // "FILTER_SITE_LANGUAGE" 309 // "FILTER_INVENTORY_FORMAT" 310 // "FILTER_ZIP_CODE" 311 // "FILTER_VIDEO_RATING_TIER" 312 // "FILTER_VIDEO_FORMAT_SUPPORT" 313 // "FILTER_VIDEO_SKIPPABLE_SUPPORT" 314 // "FILTER_VIDEO_CREATIVE_DURATION" 315 // "FILTER_PAGE_LAYOUT" 316 // "FILTER_VIDEO_AD_POSITION_IN_STREAM" 317 // "FILTER_AGE" 318 // "FILTER_GENDER" 319 // "FILTER_QUARTER" 320 // "FILTER_TRUEVIEW_CONVERSION_TYPE" 321 // "FILTER_MOBILE_GEO" 322 // "FILTER_MRAID_SUPPORT" 323 // "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY" 324 // "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE" 325 // "FILTER_NIELSEN_COUNTRY_CODE" 326 // "FILTER_NIELSEN_DEVICE_ID" 327 // "FILTER_NIELSEN_GENDER" 328 // "FILTER_NIELSEN_AGE" 329 // "FILTER_INVENTORY_SOURCE_TYPE" 330 // "FILTER_CREATIVE_WIDTH" 331 // "FILTER_CREATIVE_HEIGHT" 332 // "FILTER_DFP_ORDER_ID" 333 // "FILTER_TRUEVIEW_AGE" 334 // "FILTER_TRUEVIEW_GENDER" 335 // "FILTER_TRUEVIEW_PARENTAL_STATUS" 336 // "FILTER_TRUEVIEW_REMARKETING_LIST" 337 // "FILTER_TRUEVIEW_INTEREST" 338 // "FILTER_TRUEVIEW_AD_GROUP_ID" 339 // "FILTER_TRUEVIEW_AD_GROUP_AD_ID" 340 // "FILTER_TRUEVIEW_IAR_LANGUAGE" 341 // "FILTER_TRUEVIEW_IAR_GENDER" 342 // "FILTER_TRUEVIEW_IAR_AGE" 343 // "FILTER_TRUEVIEW_IAR_CATEGORY" 344 // "FILTER_TRUEVIEW_IAR_COUNTRY" 345 // "FILTER_TRUEVIEW_IAR_CITY" 346 // "FILTER_TRUEVIEW_IAR_REGION" 347 // "FILTER_TRUEVIEW_IAR_ZIPCODE" 348 // "FILTER_TRUEVIEW_IAR_REMARKETING_LIST" 349 // "FILTER_TRUEVIEW_IAR_INTEREST" 350 // "FILTER_TRUEVIEW_IAR_PARENTAL_STATUS" 351 // "FILTER_TRUEVIEW_IAR_TIME_OF_DAY" 352 // "FILTER_TRUEVIEW_CUSTOM_AFFINITY" 353 // "FILTER_TRUEVIEW_CATEGORY" 354 // "FILTER_TRUEVIEW_KEYWORD" 355 // "FILTER_TRUEVIEW_PLACEMENT" 356 // "FILTER_TRUEVIEW_URL" 357 // "FILTER_TRUEVIEW_COUNTRY" 358 // "FILTER_TRUEVIEW_REGION" 359 // "FILTER_TRUEVIEW_CITY" 360 // "FILTER_TRUEVIEW_DMA" 361 // "FILTER_TRUEVIEW_ZIPCODE" 362 // "FILTER_NOT_SUPPORTED" 363 // "FILTER_MEDIA_PLAN" 364 // "FILTER_TRUEVIEW_IAR_YOUTUBE_CHANNEL" 365 // "FILTER_TRUEVIEW_IAR_YOUTUBE_VIDEO" 366 // "FILTER_SKIPPABLE_SUPPORT" 367 // "FILTER_COMPANION_CREATIVE_ID" 368 // "FILTER_BUDGET_SEGMENT_DESCRIPTION" 369 // "FILTER_FLOODLIGHT_ACTIVITY_ID" 370 // "FILTER_DEVICE_MODEL" 371 // "FILTER_DEVICE_MAKE" 372 // "FILTER_DEVICE_TYPE" 373 // "FILTER_CREATIVE_ATTRIBUTE" 374 // "FILTER_INVENTORY_COMMITMENT_TYPE" 375 // "FILTER_INVENTORY_RATE_TYPE" 376 // "FILTER_INVENTORY_DELIVERY_METHOD" 377 // "FILTER_INVENTORY_SOURCE_EXTERNAL_ID" 378 // "FILTER_AUTHORIZED_SELLER_STATE" 379 // "FILTER_VIDEO_DURATION_SECONDS_RANGE" 380 // "FILTER_PARTNER_NAME" 381 // "FILTER_PARTNER_STATUS" 382 // "FILTER_ADVERTISER_NAME" 383 // "FILTER_ADVERTISER_INTEGRATION_CODE" 384 // "FILTER_ADVERTISER_INTEGRATION_STATUS" 385 // "FILTER_CARRIER_NAME" 386 // "FILTER_CHANNEL_NAME" 387 // "FILTER_CITY_NAME" 388 // "FILTER_COMPANION_CREATIVE_NAME" 389 // "FILTER_USER_LIST_FIRST_PARTY_NAME" 390 // "FILTER_USER_LIST_THIRD_PARTY_NAME" 391 // "FILTER_NIELSEN_RESTATEMENT_DATE" 392 // "FILTER_NIELSEN_DATE_RANGE" 393 // "FILTER_INSERTION_ORDER_NAME" 394 // "FILTER_REGION_NAME" 395 // "FILTER_DMA_NAME" 396 // "FILTER_TRUEVIEW_IAR_REGION_NAME" 397 // "FILTER_TRUEVIEW_DMA_NAME" 398 // "FILTER_TRUEVIEW_REGION_NAME" 399 // "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_ID" 400 // "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_NAME" 401 // "FILTER_AD_TYPE" 402 // "FILTER_ALGORITHM" 403 // "FILTER_ALGORITHM_ID" 404 // "FILTER_AMP_PAGE_REQUEST" 405 // "FILTER_ANONYMOUS_INVENTORY_MODELING" 406 // "FILTER_APP_URL" 407 // "FILTER_APP_URL_EXCLUDED" 408 // "FILTER_ATTRIBUTED_USERLIST" 409 // "FILTER_ATTRIBUTED_USERLIST_COST" 410 // "FILTER_ATTRIBUTED_USERLIST_TYPE" 411 // "FILTER_ATTRIBUTION_MODEL" 412 // "FILTER_AUDIENCE_LIST" 413 // "FILTER_AUDIENCE_LIST_COST" 414 // "FILTER_AUDIENCE_LIST_TYPE" 415 // "FILTER_AUDIENCE_NAME" 416 // "FILTER_AUDIENCE_TYPE" 417 // "FILTER_BILLABLE_OUTCOME" 418 // "FILTER_BRAND_LIFT_TYPE" 419 // "FILTER_CHANNEL_TYPE" 420 // "FILTER_CM_PLACEMENT_ID" 421 // "FILTER_CONVERSION_SOURCE" 422 // "FILTER_CONVERSION_SOURCE_ID" 423 // "FILTER_COUNTRY_ID" 424 // "FILTER_CREATIVE" 425 // "FILTER_CREATIVE_ASSET" 426 // "FILTER_CREATIVE_INTEGRATION_CODE" 427 // "FILTER_CREATIVE_RENDERED_IN_AMP" 428 // "FILTER_CREATIVE_SOURCE" 429 // "FILTER_CREATIVE_STATUS" 430 // "FILTER_DATA_PROVIDER_NAME" 431 // "FILTER_DETAILED_DEMOGRAPHICS" 432 // "FILTER_DETAILED_DEMOGRAPHICS_ID" 433 // "FILTER_DEVICE" 434 // "FILTER_GAM_INSERTION_ORDER" 435 // "FILTER_GAM_LINE_ITEM" 436 // "FILTER_GAM_LINE_ITEM_ID" 437 // "FILTER_DIGITAL_CONTENT_LABEL" 438 // "FILTER_DOMAIN" 439 // "FILTER_ELIGIBLE_COOKIES_ON_FIRST_PARTY_AUDIENCE_LIST" 440 // "FILTER_ELIGIBLE_COOKIES_ON_THIRD_PARTY_AUDIENCE_LIST_AND_INTEREST" 441 // "FILTER_EXCHANGE" 442 // "FILTER_EXCHANGE_CODE" 443 // "FILTER_EXTENSION" 444 // "FILTER_EXTENSION_STATUS" 445 // "FILTER_EXTENSION_TYPE" 446 // "FILTER_FIRST_PARTY_AUDIENCE_LIST_COST" 447 // "FILTER_FIRST_PARTY_AUDIENCE_LIST_TYPE" 448 // "FILTER_FLOODLIGHT_ACTIVITY" 449 // "FILTER_FORMAT" 450 // "FILTER_GMAIL_AGE" 451 // "FILTER_GMAIL_CITY" 452 // "FILTER_GMAIL_COUNTRY" 453 // "FILTER_GMAIL_COUNTRY_NAME" 454 // "FILTER_GMAIL_DEVICE_TYPE" 455 // "FILTER_GMAIL_DEVICE_TYPE_NAME" 456 // "FILTER_GMAIL_GENDER" 457 // "FILTER_GMAIL_REGION" 458 // "FILTER_GMAIL_REMARKETING_LIST" 459 // "FILTER_HOUSEHOLD_INCOME" 460 // "FILTER_IMPRESSION_COUNTING_METHOD" 461 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_INSERTION_ORDER" 462 // "FILTER_INSERTION_ORDER_INTEGRATION_CODE" 463 // "FILTER_INSERTION_ORDER_STATUS" 464 // "FILTER_INTEREST" 465 // "FILTER_INVENTORY_SOURCE_GROUP" 466 // "FILTER_INVENTORY_SOURCE_GROUP_ID" 467 // "FILTER_INVENTORY_SOURCE_ID" 468 // "FILTER_INVENTORY_SOURCE_NAME" 469 // "FILTER_LIFE_EVENT" 470 // "FILTER_LIFE_EVENTS" 471 // "FILTER_LINE_ITEM_INTEGRATION_CODE" 472 // "FILTER_LINE_ITEM_NAME" 473 // "FILTER_LINE_ITEM_STATUS" 474 // "FILTER_MATCH_RATIO" 475 // "FILTER_MEASUREMENT_SOURCE" 476 // "FILTER_MEDIA_PLAN_NAME" 477 // "FILTER_PARENTAL_STATUS" 478 // "FILTER_PLACEMENT_ALL_YOUTUBE_CHANNELS" 479 // "FILTER_PLATFORM" 480 // "FILTER_PLAYBACK_METHOD" 481 // "FILTER_POSITION_IN_CONTENT" 482 // "FILTER_PUBLISHER_PROPERTY" 483 // "FILTER_PUBLISHER_PROPERTY_ID" 484 // "FILTER_PUBLISHER_PROPERTY_SECTION" 485 // "FILTER_PUBLISHER_PROPERTY_SECTION_ID" 486 // "FILTER_REFUND_REASON" 487 // "FILTER_REMARKETING_LIST" 488 // "FILTER_REWARDED" 489 // "FILTER_SENSITIVE_CATEGORY" 490 // "FILTER_SERVED_PIXEL_DENSITY" 491 // "FILTER_TARGETED_DATA_PROVIDERS" 492 // "FILTER_THIRD_PARTY_AUDIENCE_LIST_COST" 493 // "FILTER_THIRD_PARTY_AUDIENCE_LIST_TYPE" 494 // "FILTER_TRUEVIEW_AD" 495 // "FILTER_TRUEVIEW_AD_GROUP" 496 // "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS" 497 // "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS_ID" 498 // "FILTER_TRUEVIEW_HOUSEHOLD_INCOME" 499 // "FILTER_TRUEVIEW_IAR_COUNTRY_NAME" 500 // "FILTER_TRUEVIEW_REMARKETING_LIST_NAME" 501 // "FILTER_VARIANT_ID" 502 // "FILTER_VARIANT_NAME" 503 // "FILTER_VARIANT_VERSION" 504 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE" 505 // "FILTER_VERIFICATION_VIDEO_POSITION" 506 // "FILTER_VIDEO_COMPANION_CREATIVE_SIZE" 507 // "FILTER_VIDEO_CONTINUOUS_PLAY" 508 // "FILTER_VIDEO_DURATION" 509 // "FILTER_YOUTUBE_ADAPTED_AUDIENCE_LIST" 510 // "FILTER_YOUTUBE_AD_VIDEO" 511 // "FILTER_YOUTUBE_AD_VIDEO_ID" 512 // "FILTER_YOUTUBE_CHANNEL" 513 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_ADVERTISER" 514 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_PARTNER" 515 // "FILTER_YOUTUBE_VIDEO" 516 // "FILTER_ZIP_POSTAL_CODE" 517 // "FILTER_PLACEMENT_NAME_ALL_YOUTUBE_CHANNELS" 518 // "FILTER_TRUEVIEW_PLACEMENT_ID" 519 // "FILTER_PATH_PATTERN_ID" 520 // "FILTER_PATH_EVENT_INDEX" 521 // "FILTER_EVENT_TYPE" 522 // "FILTER_CHANNEL_GROUPING" 523 // "FILTER_OM_SDK_AVAILABLE" 524 // "FILTER_DATA_SOURCE" 525 // "FILTER_CM360_PLACEMENT_ID" 526 // "FILTER_TRUEVIEW_CLICK_TYPE_NAME" 527 // "FILTER_TRUEVIEW_AD_TYPE_NAME" 528 // "FILTER_VIDEO_CONTENT_DURATION" 529 // "FILTER_MATCHED_GENRE_TARGET" 530 // "FILTER_VIDEO_CONTENT_LIVE_STREAM" 531 // "FILTER_BUDGET_SEGMENT_TYPE" 532 // "FILTER_BUDGET_SEGMENT_BUDGET" 533 // "FILTER_BUDGET_SEGMENT_START_DATE" 534 // "FILTER_BUDGET_SEGMENT_END_DATE" 535 // "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE" 536 // "FILTER_LINE_ITEM_BUDGET" 537 // "FILTER_LINE_ITEM_START_DATE" 538 // "FILTER_LINE_ITEM_END_DATE" 539 // "FILTER_INSERTION_ORDER_GOAL_TYPE" 540 // "FILTER_LINE_ITEM_PACING_PERCENTAGE" 541 // "FILTER_INSERTION_ORDER_GOAL_VALUE" 542 // "FILTER_OMID_CAPABLE" 543 // "FILTER_VENDOR_MEASUREMENT_MODE" 544 // "FILTER_IMPRESSION_LOSS_REJECTION_REASON" 545 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START" 546 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE" 547 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT" 548 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE" 549 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE" 550 // "FILTER_VERIFICATION_VIDEO_RESIZED" 551 // "FILTER_VERIFICATION_AUDIBILITY_START" 552 // "FILTER_VERIFICATION_AUDIBILITY_COMPLETE" 553 // "FILTER_MEDIA_TYPE" 554 // "FILTER_AUDIO_FEED_TYPE_NAME" 555 // "FILTER_TRUEVIEW_TARGETING_EXPANSION" 556 // "FILTER_PUBLISHER_TRAFFIC_SOURCE" 557 Type string `json:"type,omitempty"` 558 559 // Value: Filter value. 560 Value string `json:"value,omitempty"` 561 562 // ForceSendFields is a list of field names (e.g. "Type") to 563 // unconditionally include in API requests. By default, fields with 564 // empty or default values are omitted from API requests. However, any 565 // non-pointer, non-interface field appearing in ForceSendFields will be 566 // sent to the server regardless of whether the field is empty or not. 567 // This may be used to include empty fields in Patch requests. 568 ForceSendFields []string `json:"-"` 569 570 // NullFields is a list of field names (e.g. "Type") to include in API 571 // requests with the JSON null value. By default, fields with empty 572 // values are omitted from API requests. However, any field with an 573 // empty value appearing in NullFields will be sent to the server as 574 // null. It is an error if a field in this list has a non-empty value. 575 // This may be used to include null fields in Patch requests. 576 NullFields []string `json:"-"` 577 } 578 579 func (s *FilterPair) MarshalJSON() ([]byte, error) { 580 type NoMethod FilterPair 581 raw := NoMethod(*s) 582 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 583 } 584 585 // ListQueriesResponse: List queries response. 586 type ListQueriesResponse struct { 587 // Kind: Identifies what kind of resource this is. Value: the fixed 588 // string "doubleclickbidmanager#listQueriesResponse". 589 Kind string `json:"kind,omitempty"` 590 591 // NextPageToken: Next page's pagination token if one exists. 592 NextPageToken string `json:"nextPageToken,omitempty"` 593 594 // Queries: Retrieved queries. 595 Queries []*Query `json:"queries,omitempty"` 596 597 // ServerResponse contains the HTTP response code and headers from the 598 // server. 599 googleapi.ServerResponse `json:"-"` 600 601 // ForceSendFields is a list of field names (e.g. "Kind") to 602 // unconditionally include in API requests. By default, fields with 603 // empty or default values are omitted from API requests. However, any 604 // non-pointer, non-interface field appearing in ForceSendFields will be 605 // sent to the server regardless of whether the field is empty or not. 606 // This may be used to include empty fields in Patch requests. 607 ForceSendFields []string `json:"-"` 608 609 // NullFields is a list of field names (e.g. "Kind") to include in API 610 // requests with the JSON null value. By default, fields with empty 611 // values are omitted from API requests. However, any field with an 612 // empty value appearing in NullFields will be sent to the server as 613 // null. It is an error if a field in this list has a non-empty value. 614 // This may be used to include null fields in Patch requests. 615 NullFields []string `json:"-"` 616 } 617 618 func (s *ListQueriesResponse) MarshalJSON() ([]byte, error) { 619 type NoMethod ListQueriesResponse 620 raw := NoMethod(*s) 621 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 622 } 623 624 // ListReportsResponse: List reports response. 625 type ListReportsResponse struct { 626 // Kind: Identifies what kind of resource this is. Value: the fixed 627 // string "doubleclickbidmanager#listReportsResponse". 628 Kind string `json:"kind,omitempty"` 629 630 // NextPageToken: Next page's pagination token if one exists. 631 NextPageToken string `json:"nextPageToken,omitempty"` 632 633 // Reports: Retrieved reports. 634 Reports []*Report `json:"reports,omitempty"` 635 636 // ServerResponse contains the HTTP response code and headers from the 637 // server. 638 googleapi.ServerResponse `json:"-"` 639 640 // ForceSendFields is a list of field names (e.g. "Kind") to 641 // unconditionally include in API requests. By default, fields with 642 // empty or default values are omitted from API requests. However, any 643 // non-pointer, non-interface field appearing in ForceSendFields will be 644 // sent to the server regardless of whether the field is empty or not. 645 // This may be used to include empty fields in Patch requests. 646 ForceSendFields []string `json:"-"` 647 648 // NullFields is a list of field names (e.g. "Kind") to include in API 649 // requests with the JSON null value. By default, fields with empty 650 // values are omitted from API requests. However, any field with an 651 // empty value appearing in NullFields will be sent to the server as 652 // null. It is an error if a field in this list has a non-empty value. 653 // This may be used to include null fields in Patch requests. 654 NullFields []string `json:"-"` 655 } 656 657 func (s *ListReportsResponse) MarshalJSON() ([]byte, error) { 658 type NoMethod ListReportsResponse 659 raw := NoMethod(*s) 660 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 661 } 662 663 // Options: Additional query options. 664 type Options struct { 665 // IncludeOnlyTargetedUserLists: Set to true and filter your report by 666 // `FILTER_INSERTION_ORDER` or `FILTER_LINE_ITEM` to include data for 667 // audience lists specifically targeted by those items. 668 IncludeOnlyTargetedUserLists bool `json:"includeOnlyTargetedUserLists,omitempty"` 669 670 // PathQueryOptions: Options that contain Path Filters and Custom 671 // Channel Groupings. 672 PathQueryOptions *PathQueryOptions `json:"pathQueryOptions,omitempty"` 673 674 // ForceSendFields is a list of field names (e.g. 675 // "IncludeOnlyTargetedUserLists") to unconditionally include in API 676 // requests. By default, fields with empty or default values are omitted 677 // from API requests. However, any non-pointer, non-interface field 678 // appearing in ForceSendFields will be sent to the server regardless of 679 // whether the field is empty or not. This may be used to include empty 680 // fields in Patch requests. 681 ForceSendFields []string `json:"-"` 682 683 // NullFields is a list of field names (e.g. 684 // "IncludeOnlyTargetedUserLists") to include in API requests with the 685 // JSON null value. By default, fields with empty values are omitted 686 // from API requests. However, any field with an empty value appearing 687 // in NullFields will be sent to the server as null. It is an error if a 688 // field in this list has a non-empty value. This may be used to include 689 // null fields in Patch requests. 690 NullFields []string `json:"-"` 691 } 692 693 func (s *Options) MarshalJSON() ([]byte, error) { 694 type NoMethod Options 695 raw := NoMethod(*s) 696 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 697 } 698 699 // Parameters: Parameters of a query or report. 700 type Parameters struct { 701 // Filters: Filters used to match traffic data in your report. 702 Filters []*FilterPair `json:"filters,omitempty"` 703 704 // GroupBys: Data is grouped by the filters listed in this field. 705 // 706 // Possible values: 707 // "FILTER_UNKNOWN" 708 // "FILTER_DATE" 709 // "FILTER_DAY_OF_WEEK" 710 // "FILTER_WEEK" 711 // "FILTER_MONTH" 712 // "FILTER_YEAR" 713 // "FILTER_TIME_OF_DAY" 714 // "FILTER_CONVERSION_DELAY" 715 // "FILTER_CREATIVE_ID" 716 // "FILTER_CREATIVE_SIZE" 717 // "FILTER_CREATIVE_TYPE" 718 // "FILTER_EXCHANGE_ID" 719 // "FILTER_AD_POSITION" 720 // "FILTER_PUBLIC_INVENTORY" 721 // "FILTER_INVENTORY_SOURCE" 722 // "FILTER_CITY" 723 // "FILTER_REGION" 724 // "FILTER_DMA" 725 // "FILTER_COUNTRY" 726 // "FILTER_SITE_ID" 727 // "FILTER_CHANNEL_ID" 728 // "FILTER_PARTNER" 729 // "FILTER_ADVERTISER" 730 // "FILTER_INSERTION_ORDER" 731 // "FILTER_LINE_ITEM" 732 // "FILTER_PARTNER_CURRENCY" 733 // "FILTER_ADVERTISER_CURRENCY" 734 // "FILTER_ADVERTISER_TIMEZONE" 735 // "FILTER_LINE_ITEM_TYPE" 736 // "FILTER_USER_LIST" 737 // "FILTER_USER_LIST_FIRST_PARTY" 738 // "FILTER_USER_LIST_THIRD_PARTY" 739 // "FILTER_TARGETED_USER_LIST" 740 // "FILTER_DATA_PROVIDER" 741 // "FILTER_ORDER_ID" 742 // "FILTER_VIDEO_PLAYER_SIZE" 743 // "FILTER_VIDEO_DURATION_SECONDS" 744 // "FILTER_KEYWORD" 745 // "FILTER_PAGE_CATEGORY" 746 // "FILTER_CAMPAIGN_DAILY_FREQUENCY" 747 // "FILTER_LINE_ITEM_DAILY_FREQUENCY" 748 // "FILTER_LINE_ITEM_LIFETIME_FREQUENCY" 749 // "FILTER_OS" 750 // "FILTER_BROWSER" 751 // "FILTER_CARRIER" 752 // "FILTER_SITE_LANGUAGE" 753 // "FILTER_INVENTORY_FORMAT" 754 // "FILTER_ZIP_CODE" 755 // "FILTER_VIDEO_RATING_TIER" 756 // "FILTER_VIDEO_FORMAT_SUPPORT" 757 // "FILTER_VIDEO_SKIPPABLE_SUPPORT" 758 // "FILTER_VIDEO_CREATIVE_DURATION" 759 // "FILTER_PAGE_LAYOUT" 760 // "FILTER_VIDEO_AD_POSITION_IN_STREAM" 761 // "FILTER_AGE" 762 // "FILTER_GENDER" 763 // "FILTER_QUARTER" 764 // "FILTER_TRUEVIEW_CONVERSION_TYPE" 765 // "FILTER_MOBILE_GEO" 766 // "FILTER_MRAID_SUPPORT" 767 // "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY" 768 // "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE" 769 // "FILTER_NIELSEN_COUNTRY_CODE" 770 // "FILTER_NIELSEN_DEVICE_ID" 771 // "FILTER_NIELSEN_GENDER" 772 // "FILTER_NIELSEN_AGE" 773 // "FILTER_INVENTORY_SOURCE_TYPE" 774 // "FILTER_CREATIVE_WIDTH" 775 // "FILTER_CREATIVE_HEIGHT" 776 // "FILTER_DFP_ORDER_ID" 777 // "FILTER_TRUEVIEW_AGE" 778 // "FILTER_TRUEVIEW_GENDER" 779 // "FILTER_TRUEVIEW_PARENTAL_STATUS" 780 // "FILTER_TRUEVIEW_REMARKETING_LIST" 781 // "FILTER_TRUEVIEW_INTEREST" 782 // "FILTER_TRUEVIEW_AD_GROUP_ID" 783 // "FILTER_TRUEVIEW_AD_GROUP_AD_ID" 784 // "FILTER_TRUEVIEW_IAR_LANGUAGE" 785 // "FILTER_TRUEVIEW_IAR_GENDER" 786 // "FILTER_TRUEVIEW_IAR_AGE" 787 // "FILTER_TRUEVIEW_IAR_CATEGORY" 788 // "FILTER_TRUEVIEW_IAR_COUNTRY" 789 // "FILTER_TRUEVIEW_IAR_CITY" 790 // "FILTER_TRUEVIEW_IAR_REGION" 791 // "FILTER_TRUEVIEW_IAR_ZIPCODE" 792 // "FILTER_TRUEVIEW_IAR_REMARKETING_LIST" 793 // "FILTER_TRUEVIEW_IAR_INTEREST" 794 // "FILTER_TRUEVIEW_IAR_PARENTAL_STATUS" 795 // "FILTER_TRUEVIEW_IAR_TIME_OF_DAY" 796 // "FILTER_TRUEVIEW_CUSTOM_AFFINITY" 797 // "FILTER_TRUEVIEW_CATEGORY" 798 // "FILTER_TRUEVIEW_KEYWORD" 799 // "FILTER_TRUEVIEW_PLACEMENT" 800 // "FILTER_TRUEVIEW_URL" 801 // "FILTER_TRUEVIEW_COUNTRY" 802 // "FILTER_TRUEVIEW_REGION" 803 // "FILTER_TRUEVIEW_CITY" 804 // "FILTER_TRUEVIEW_DMA" 805 // "FILTER_TRUEVIEW_ZIPCODE" 806 // "FILTER_NOT_SUPPORTED" 807 // "FILTER_MEDIA_PLAN" 808 // "FILTER_TRUEVIEW_IAR_YOUTUBE_CHANNEL" 809 // "FILTER_TRUEVIEW_IAR_YOUTUBE_VIDEO" 810 // "FILTER_SKIPPABLE_SUPPORT" 811 // "FILTER_COMPANION_CREATIVE_ID" 812 // "FILTER_BUDGET_SEGMENT_DESCRIPTION" 813 // "FILTER_FLOODLIGHT_ACTIVITY_ID" 814 // "FILTER_DEVICE_MODEL" 815 // "FILTER_DEVICE_MAKE" 816 // "FILTER_DEVICE_TYPE" 817 // "FILTER_CREATIVE_ATTRIBUTE" 818 // "FILTER_INVENTORY_COMMITMENT_TYPE" 819 // "FILTER_INVENTORY_RATE_TYPE" 820 // "FILTER_INVENTORY_DELIVERY_METHOD" 821 // "FILTER_INVENTORY_SOURCE_EXTERNAL_ID" 822 // "FILTER_AUTHORIZED_SELLER_STATE" 823 // "FILTER_VIDEO_DURATION_SECONDS_RANGE" 824 // "FILTER_PARTNER_NAME" 825 // "FILTER_PARTNER_STATUS" 826 // "FILTER_ADVERTISER_NAME" 827 // "FILTER_ADVERTISER_INTEGRATION_CODE" 828 // "FILTER_ADVERTISER_INTEGRATION_STATUS" 829 // "FILTER_CARRIER_NAME" 830 // "FILTER_CHANNEL_NAME" 831 // "FILTER_CITY_NAME" 832 // "FILTER_COMPANION_CREATIVE_NAME" 833 // "FILTER_USER_LIST_FIRST_PARTY_NAME" 834 // "FILTER_USER_LIST_THIRD_PARTY_NAME" 835 // "FILTER_NIELSEN_RESTATEMENT_DATE" 836 // "FILTER_NIELSEN_DATE_RANGE" 837 // "FILTER_INSERTION_ORDER_NAME" 838 // "FILTER_REGION_NAME" 839 // "FILTER_DMA_NAME" 840 // "FILTER_TRUEVIEW_IAR_REGION_NAME" 841 // "FILTER_TRUEVIEW_DMA_NAME" 842 // "FILTER_TRUEVIEW_REGION_NAME" 843 // "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_ID" 844 // "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_NAME" 845 // "FILTER_AD_TYPE" 846 // "FILTER_ALGORITHM" 847 // "FILTER_ALGORITHM_ID" 848 // "FILTER_AMP_PAGE_REQUEST" 849 // "FILTER_ANONYMOUS_INVENTORY_MODELING" 850 // "FILTER_APP_URL" 851 // "FILTER_APP_URL_EXCLUDED" 852 // "FILTER_ATTRIBUTED_USERLIST" 853 // "FILTER_ATTRIBUTED_USERLIST_COST" 854 // "FILTER_ATTRIBUTED_USERLIST_TYPE" 855 // "FILTER_ATTRIBUTION_MODEL" 856 // "FILTER_AUDIENCE_LIST" 857 // "FILTER_AUDIENCE_LIST_COST" 858 // "FILTER_AUDIENCE_LIST_TYPE" 859 // "FILTER_AUDIENCE_NAME" 860 // "FILTER_AUDIENCE_TYPE" 861 // "FILTER_BILLABLE_OUTCOME" 862 // "FILTER_BRAND_LIFT_TYPE" 863 // "FILTER_CHANNEL_TYPE" 864 // "FILTER_CM_PLACEMENT_ID" 865 // "FILTER_CONVERSION_SOURCE" 866 // "FILTER_CONVERSION_SOURCE_ID" 867 // "FILTER_COUNTRY_ID" 868 // "FILTER_CREATIVE" 869 // "FILTER_CREATIVE_ASSET" 870 // "FILTER_CREATIVE_INTEGRATION_CODE" 871 // "FILTER_CREATIVE_RENDERED_IN_AMP" 872 // "FILTER_CREATIVE_SOURCE" 873 // "FILTER_CREATIVE_STATUS" 874 // "FILTER_DATA_PROVIDER_NAME" 875 // "FILTER_DETAILED_DEMOGRAPHICS" 876 // "FILTER_DETAILED_DEMOGRAPHICS_ID" 877 // "FILTER_DEVICE" 878 // "FILTER_GAM_INSERTION_ORDER" 879 // "FILTER_GAM_LINE_ITEM" 880 // "FILTER_GAM_LINE_ITEM_ID" 881 // "FILTER_DIGITAL_CONTENT_LABEL" 882 // "FILTER_DOMAIN" 883 // "FILTER_ELIGIBLE_COOKIES_ON_FIRST_PARTY_AUDIENCE_LIST" 884 // "FILTER_ELIGIBLE_COOKIES_ON_THIRD_PARTY_AUDIENCE_LIST_AND_INTEREST" 885 // "FILTER_EXCHANGE" 886 // "FILTER_EXCHANGE_CODE" 887 // "FILTER_EXTENSION" 888 // "FILTER_EXTENSION_STATUS" 889 // "FILTER_EXTENSION_TYPE" 890 // "FILTER_FIRST_PARTY_AUDIENCE_LIST_COST" 891 // "FILTER_FIRST_PARTY_AUDIENCE_LIST_TYPE" 892 // "FILTER_FLOODLIGHT_ACTIVITY" 893 // "FILTER_FORMAT" 894 // "FILTER_GMAIL_AGE" 895 // "FILTER_GMAIL_CITY" 896 // "FILTER_GMAIL_COUNTRY" 897 // "FILTER_GMAIL_COUNTRY_NAME" 898 // "FILTER_GMAIL_DEVICE_TYPE" 899 // "FILTER_GMAIL_DEVICE_TYPE_NAME" 900 // "FILTER_GMAIL_GENDER" 901 // "FILTER_GMAIL_REGION" 902 // "FILTER_GMAIL_REMARKETING_LIST" 903 // "FILTER_HOUSEHOLD_INCOME" 904 // "FILTER_IMPRESSION_COUNTING_METHOD" 905 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_INSERTION_ORDER" 906 // "FILTER_INSERTION_ORDER_INTEGRATION_CODE" 907 // "FILTER_INSERTION_ORDER_STATUS" 908 // "FILTER_INTEREST" 909 // "FILTER_INVENTORY_SOURCE_GROUP" 910 // "FILTER_INVENTORY_SOURCE_GROUP_ID" 911 // "FILTER_INVENTORY_SOURCE_ID" 912 // "FILTER_INVENTORY_SOURCE_NAME" 913 // "FILTER_LIFE_EVENT" 914 // "FILTER_LIFE_EVENTS" 915 // "FILTER_LINE_ITEM_INTEGRATION_CODE" 916 // "FILTER_LINE_ITEM_NAME" 917 // "FILTER_LINE_ITEM_STATUS" 918 // "FILTER_MATCH_RATIO" 919 // "FILTER_MEASUREMENT_SOURCE" 920 // "FILTER_MEDIA_PLAN_NAME" 921 // "FILTER_PARENTAL_STATUS" 922 // "FILTER_PLACEMENT_ALL_YOUTUBE_CHANNELS" 923 // "FILTER_PLATFORM" 924 // "FILTER_PLAYBACK_METHOD" 925 // "FILTER_POSITION_IN_CONTENT" 926 // "FILTER_PUBLISHER_PROPERTY" 927 // "FILTER_PUBLISHER_PROPERTY_ID" 928 // "FILTER_PUBLISHER_PROPERTY_SECTION" 929 // "FILTER_PUBLISHER_PROPERTY_SECTION_ID" 930 // "FILTER_REFUND_REASON" 931 // "FILTER_REMARKETING_LIST" 932 // "FILTER_REWARDED" 933 // "FILTER_SENSITIVE_CATEGORY" 934 // "FILTER_SERVED_PIXEL_DENSITY" 935 // "FILTER_TARGETED_DATA_PROVIDERS" 936 // "FILTER_THIRD_PARTY_AUDIENCE_LIST_COST" 937 // "FILTER_THIRD_PARTY_AUDIENCE_LIST_TYPE" 938 // "FILTER_TRUEVIEW_AD" 939 // "FILTER_TRUEVIEW_AD_GROUP" 940 // "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS" 941 // "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS_ID" 942 // "FILTER_TRUEVIEW_HOUSEHOLD_INCOME" 943 // "FILTER_TRUEVIEW_IAR_COUNTRY_NAME" 944 // "FILTER_TRUEVIEW_REMARKETING_LIST_NAME" 945 // "FILTER_VARIANT_ID" 946 // "FILTER_VARIANT_NAME" 947 // "FILTER_VARIANT_VERSION" 948 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE" 949 // "FILTER_VERIFICATION_VIDEO_POSITION" 950 // "FILTER_VIDEO_COMPANION_CREATIVE_SIZE" 951 // "FILTER_VIDEO_CONTINUOUS_PLAY" 952 // "FILTER_VIDEO_DURATION" 953 // "FILTER_YOUTUBE_ADAPTED_AUDIENCE_LIST" 954 // "FILTER_YOUTUBE_AD_VIDEO" 955 // "FILTER_YOUTUBE_AD_VIDEO_ID" 956 // "FILTER_YOUTUBE_CHANNEL" 957 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_ADVERTISER" 958 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_PARTNER" 959 // "FILTER_YOUTUBE_VIDEO" 960 // "FILTER_ZIP_POSTAL_CODE" 961 // "FILTER_PLACEMENT_NAME_ALL_YOUTUBE_CHANNELS" 962 // "FILTER_TRUEVIEW_PLACEMENT_ID" 963 // "FILTER_PATH_PATTERN_ID" 964 // "FILTER_PATH_EVENT_INDEX" 965 // "FILTER_EVENT_TYPE" 966 // "FILTER_CHANNEL_GROUPING" 967 // "FILTER_OM_SDK_AVAILABLE" 968 // "FILTER_DATA_SOURCE" 969 // "FILTER_CM360_PLACEMENT_ID" 970 // "FILTER_TRUEVIEW_CLICK_TYPE_NAME" 971 // "FILTER_TRUEVIEW_AD_TYPE_NAME" 972 // "FILTER_VIDEO_CONTENT_DURATION" 973 // "FILTER_MATCHED_GENRE_TARGET" 974 // "FILTER_VIDEO_CONTENT_LIVE_STREAM" 975 // "FILTER_BUDGET_SEGMENT_TYPE" 976 // "FILTER_BUDGET_SEGMENT_BUDGET" 977 // "FILTER_BUDGET_SEGMENT_START_DATE" 978 // "FILTER_BUDGET_SEGMENT_END_DATE" 979 // "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE" 980 // "FILTER_LINE_ITEM_BUDGET" 981 // "FILTER_LINE_ITEM_START_DATE" 982 // "FILTER_LINE_ITEM_END_DATE" 983 // "FILTER_INSERTION_ORDER_GOAL_TYPE" 984 // "FILTER_LINE_ITEM_PACING_PERCENTAGE" 985 // "FILTER_INSERTION_ORDER_GOAL_VALUE" 986 // "FILTER_OMID_CAPABLE" 987 // "FILTER_VENDOR_MEASUREMENT_MODE" 988 // "FILTER_IMPRESSION_LOSS_REJECTION_REASON" 989 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START" 990 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE" 991 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT" 992 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE" 993 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE" 994 // "FILTER_VERIFICATION_VIDEO_RESIZED" 995 // "FILTER_VERIFICATION_AUDIBILITY_START" 996 // "FILTER_VERIFICATION_AUDIBILITY_COMPLETE" 997 // "FILTER_MEDIA_TYPE" 998 // "FILTER_AUDIO_FEED_TYPE_NAME" 999 // "FILTER_TRUEVIEW_TARGETING_EXPANSION" 1000 // "FILTER_PUBLISHER_TRAFFIC_SOURCE" 1001 GroupBys []string `json:"groupBys,omitempty"` 1002 1003 // IncludeInviteData: Deprecated. This field is no longer in use. 1004 IncludeInviteData bool `json:"includeInviteData,omitempty"` 1005 1006 // Metrics: Metrics to include as columns in your report. 1007 // 1008 // Possible values: 1009 // "METRIC_UNKNOWN" 1010 // "METRIC_IMPRESSIONS" 1011 // "METRIC_CLICKS" 1012 // "METRIC_LAST_IMPRESSIONS" 1013 // "METRIC_LAST_CLICKS" 1014 // "METRIC_TOTAL_CONVERSIONS" 1015 // "METRIC_MEDIA_COST_ADVERTISER" 1016 // "METRIC_MEDIA_COST_USD" 1017 // "METRIC_MEDIA_COST_PARTNER" 1018 // "METRIC_DATA_COST_ADVERTISER" 1019 // "METRIC_DATA_COST_USD" 1020 // "METRIC_DATA_COST_PARTNER" 1021 // "METRIC_CPM_FEE1_ADVERTISER" 1022 // "METRIC_CPM_FEE1_USD" 1023 // "METRIC_CPM_FEE1_PARTNER" 1024 // "METRIC_CPM_FEE2_ADVERTISER" 1025 // "METRIC_CPM_FEE2_USD" 1026 // "METRIC_CPM_FEE2_PARTNER" 1027 // "METRIC_MEDIA_FEE1_ADVERTISER" 1028 // "METRIC_MEDIA_FEE1_USD" 1029 // "METRIC_MEDIA_FEE1_PARTNER" 1030 // "METRIC_MEDIA_FEE2_ADVERTISER" 1031 // "METRIC_MEDIA_FEE2_USD" 1032 // "METRIC_MEDIA_FEE2_PARTNER" 1033 // "METRIC_REVENUE_ADVERTISER" 1034 // "METRIC_REVENUE_USD" 1035 // "METRIC_REVENUE_PARTNER" 1036 // "METRIC_PROFIT_ADVERTISER" 1037 // "METRIC_PROFIT_USD" 1038 // "METRIC_PROFIT_PARTNER" 1039 // "METRIC_PROFIT_MARGIN" 1040 // "METRIC_TOTAL_MEDIA_COST_USD" 1041 // "METRIC_TOTAL_MEDIA_COST_PARTNER" 1042 // "METRIC_TOTAL_MEDIA_COST_ADVERTISER" 1043 // "METRIC_BILLABLE_COST_USD" 1044 // "METRIC_BILLABLE_COST_PARTNER" 1045 // "METRIC_BILLABLE_COST_ADVERTISER" 1046 // "METRIC_PLATFORM_FEE_USD" 1047 // "METRIC_PLATFORM_FEE_PARTNER" 1048 // "METRIC_PLATFORM_FEE_ADVERTISER" 1049 // "METRIC_VIDEO_COMPLETION_RATE" 1050 // "METRIC_PROFIT_ECPM_ADVERTISER" 1051 // "METRIC_PROFIT_ECPM_USD" 1052 // "METRIC_PROFIT_ECPM_PARTNER" 1053 // "METRIC_REVENUE_ECPM_ADVERTISER" 1054 // "METRIC_REVENUE_ECPM_USD" 1055 // "METRIC_REVENUE_ECPM_PARTNER" 1056 // "METRIC_REVENUE_ECPC_ADVERTISER" 1057 // "METRIC_REVENUE_ECPC_USD" 1058 // "METRIC_REVENUE_ECPC_PARTNER" 1059 // "METRIC_REVENUE_ECPA_ADVERTISER" 1060 // "METRIC_REVENUE_ECPA_USD" 1061 // "METRIC_REVENUE_ECPA_PARTNER" 1062 // "METRIC_REVENUE_ECPAPV_ADVERTISER" 1063 // "METRIC_REVENUE_ECPAPV_USD" 1064 // "METRIC_REVENUE_ECPAPV_PARTNER" 1065 // "METRIC_REVENUE_ECPAPC_ADVERTISER" 1066 // "METRIC_REVENUE_ECPAPC_USD" 1067 // "METRIC_REVENUE_ECPAPC_PARTNER" 1068 // "METRIC_MEDIA_COST_ECPM_ADVERTISER" 1069 // "METRIC_MEDIA_COST_ECPM_USD" 1070 // "METRIC_MEDIA_COST_ECPM_PARTNER" 1071 // "METRIC_MEDIA_COST_ECPC_ADVERTISER" 1072 // "METRIC_MEDIA_COST_ECPC_USD" 1073 // "METRIC_MEDIA_COST_ECPC_PARTNER" 1074 // "METRIC_MEDIA_COST_ECPA_ADVERTISER" 1075 // "METRIC_MEDIA_COST_ECPA_USD" 1076 // "METRIC_MEDIA_COST_ECPA_PARTNER" 1077 // "METRIC_MEDIA_COST_ECPAPV_ADVERTISER" 1078 // "METRIC_MEDIA_COST_ECPAPV_USD" 1079 // "METRIC_MEDIA_COST_ECPAPV_PARTNER" 1080 // "METRIC_MEDIA_COST_ECPAPC_ADVERTISER" 1081 // "METRIC_MEDIA_COST_ECPAPC_USD" 1082 // "METRIC_MEDIA_COST_ECPAPC_PARTNER" 1083 // "METRIC_TOTAL_MEDIA_COST_ECPM_ADVERTISER" 1084 // "METRIC_TOTAL_MEDIA_COST_ECPM_USD" 1085 // "METRIC_TOTAL_MEDIA_COST_ECPM_PARTNER" 1086 // "METRIC_TOTAL_MEDIA_COST_ECPC_ADVERTISER" 1087 // "METRIC_TOTAL_MEDIA_COST_ECPC_USD" 1088 // "METRIC_TOTAL_MEDIA_COST_ECPC_PARTNER" 1089 // "METRIC_TOTAL_MEDIA_COST_ECPA_ADVERTISER" 1090 // "METRIC_TOTAL_MEDIA_COST_ECPA_USD" 1091 // "METRIC_TOTAL_MEDIA_COST_ECPA_PARTNER" 1092 // "METRIC_TOTAL_MEDIA_COST_ECPAPV_ADVERTISER" 1093 // "METRIC_TOTAL_MEDIA_COST_ECPAPV_USD" 1094 // "METRIC_TOTAL_MEDIA_COST_ECPAPV_PARTNER" 1095 // "METRIC_TOTAL_MEDIA_COST_ECPAPC_ADVERTISER" 1096 // "METRIC_TOTAL_MEDIA_COST_ECPAPC_USD" 1097 // "METRIC_TOTAL_MEDIA_COST_ECPAPC_PARTNER" 1098 // "METRIC_RICH_MEDIA_VIDEO_PLAYS" 1099 // "METRIC_RICH_MEDIA_VIDEO_COMPLETIONS" 1100 // "METRIC_RICH_MEDIA_VIDEO_PAUSES" 1101 // "METRIC_RICH_MEDIA_VIDEO_MUTES" 1102 // "METRIC_RICH_MEDIA_VIDEO_MIDPOINTS" 1103 // "METRIC_RICH_MEDIA_VIDEO_FULL_SCREENS" 1104 // "METRIC_RICH_MEDIA_VIDEO_FIRST_QUARTILE_COMPLETES" 1105 // "METRIC_RICH_MEDIA_VIDEO_THIRD_QUARTILE_COMPLETES" 1106 // "METRIC_CLICK_TO_POST_CLICK_CONVERSION_RATE" 1107 // "METRIC_IMPRESSIONS_TO_CONVERSION_RATE" 1108 // "METRIC_CONVERSIONS_PER_MILLE" 1109 // "METRIC_CTR" 1110 // "METRIC_BID_REQUESTS" 1111 // "METRIC_UNIQUE_VISITORS_COOKIES" 1112 // "METRIC_REVENUE_ECPCV_ADVERTISER" 1113 // "METRIC_REVENUE_ECPCV_USD" 1114 // "METRIC_REVENUE_ECPCV_PARTNER" 1115 // "METRIC_MEDIA_COST_ECPCV_ADVERTISER" 1116 // "METRIC_MEDIA_COST_ECPCV_USD" 1117 // "METRIC_MEDIA_COST_ECPCV_PARTNER" 1118 // "METRIC_TOTAL_MEDIA_COST_ECPCV_ADVERTISER" 1119 // "METRIC_TOTAL_MEDIA_COST_ECPCV_USD" 1120 // "METRIC_TOTAL_MEDIA_COST_ECPCV_PARTNER" 1121 // "METRIC_RICH_MEDIA_VIDEO_SKIPS" 1122 // "METRIC_FEE2_ADVERTISER" 1123 // "METRIC_FEE2_USD" 1124 // "METRIC_FEE2_PARTNER" 1125 // "METRIC_FEE3_ADVERTISER" 1126 // "METRIC_FEE3_USD" 1127 // "METRIC_FEE3_PARTNER" 1128 // "METRIC_FEE4_ADVERTISER" 1129 // "METRIC_FEE4_USD" 1130 // "METRIC_FEE4_PARTNER" 1131 // "METRIC_FEE5_ADVERTISER" 1132 // "METRIC_FEE5_USD" 1133 // "METRIC_FEE5_PARTNER" 1134 // "METRIC_FEE6_ADVERTISER" 1135 // "METRIC_FEE6_USD" 1136 // "METRIC_FEE6_PARTNER" 1137 // "METRIC_FEE7_ADVERTISER" 1138 // "METRIC_FEE7_USD" 1139 // "METRIC_FEE7_PARTNER" 1140 // "METRIC_FEE8_ADVERTISER" 1141 // "METRIC_FEE8_USD" 1142 // "METRIC_FEE8_PARTNER" 1143 // "METRIC_FEE9_ADVERTISER" 1144 // "METRIC_FEE9_USD" 1145 // "METRIC_FEE9_PARTNER" 1146 // "METRIC_FEE10_ADVERTISER" 1147 // "METRIC_FEE10_USD" 1148 // "METRIC_FEE10_PARTNER" 1149 // "METRIC_FEE11_ADVERTISER" 1150 // "METRIC_FEE11_USD" 1151 // "METRIC_FEE11_PARTNER" 1152 // "METRIC_FEE12_ADVERTISER" 1153 // "METRIC_FEE12_USD" 1154 // "METRIC_FEE12_PARTNER" 1155 // "METRIC_FEE13_ADVERTISER" 1156 // "METRIC_FEE13_USD" 1157 // "METRIC_FEE13_PARTNER" 1158 // "METRIC_FEE14_ADVERTISER" 1159 // "METRIC_FEE14_USD" 1160 // "METRIC_FEE14_PARTNER" 1161 // "METRIC_FEE15_ADVERTISER" 1162 // "METRIC_FEE15_USD" 1163 // "METRIC_FEE15_PARTNER" 1164 // "METRIC_CPM_FEE3_ADVERTISER" 1165 // "METRIC_CPM_FEE3_USD" 1166 // "METRIC_CPM_FEE3_PARTNER" 1167 // "METRIC_CPM_FEE4_ADVERTISER" 1168 // "METRIC_CPM_FEE4_USD" 1169 // "METRIC_CPM_FEE4_PARTNER" 1170 // "METRIC_CPM_FEE5_ADVERTISER" 1171 // "METRIC_CPM_FEE5_USD" 1172 // "METRIC_CPM_FEE5_PARTNER" 1173 // "METRIC_MEDIA_FEE3_ADVERTISER" 1174 // "METRIC_MEDIA_FEE3_USD" 1175 // "METRIC_MEDIA_FEE3_PARTNER" 1176 // "METRIC_MEDIA_FEE4_ADVERTISER" 1177 // "METRIC_MEDIA_FEE4_USD" 1178 // "METRIC_MEDIA_FEE4_PARTNER" 1179 // "METRIC_MEDIA_FEE5_ADVERTISER" 1180 // "METRIC_MEDIA_FEE5_USD" 1181 // "METRIC_MEDIA_FEE5_PARTNER" 1182 // "METRIC_VIDEO_COMPANION_IMPRESSIONS" 1183 // "METRIC_VIDEO_COMPANION_CLICKS" 1184 // "METRIC_FEE16_ADVERTISER" 1185 // "METRIC_FEE16_USD" 1186 // "METRIC_FEE16_PARTNER" 1187 // "METRIC_FEE17_ADVERTISER" 1188 // "METRIC_FEE17_USD" 1189 // "METRIC_FEE17_PARTNER" 1190 // "METRIC_FEE18_ADVERTISER" 1191 // "METRIC_FEE18_USD" 1192 // "METRIC_FEE18_PARTNER" 1193 // "METRIC_TRUEVIEW_VIEWS" 1194 // "METRIC_TRUEVIEW_UNIQUE_VIEWERS" 1195 // "METRIC_TRUEVIEW_EARNED_VIEWS" 1196 // "METRIC_TRUEVIEW_EARNED_SUBSCRIBERS" 1197 // "METRIC_TRUEVIEW_EARNED_PLAYLIST_ADDITIONS" 1198 // "METRIC_TRUEVIEW_EARNED_LIKES" 1199 // "METRIC_TRUEVIEW_EARNED_SHARES" 1200 // "METRIC_TRUEVIEW_IMPRESSION_SHARE" 1201 // "METRIC_TRUEVIEW_LOST_IS_BUDGET" 1202 // "METRIC_TRUEVIEW_LOST_IS_RANK" 1203 // "METRIC_TRUEVIEW_VIEW_THROUGH_CONVERSION" 1204 // "METRIC_TRUEVIEW_CONVERSION_MANY_PER_VIEW" 1205 // "METRIC_TRUEVIEW_VIEW_RATE" 1206 // "METRIC_TRUEVIEW_CONVERSION_RATE_ONE_PER_VIEW" 1207 // "METRIC_TRUEVIEW_CPV_ADVERTISER" 1208 // "METRIC_TRUEVIEW_CPV_USD" 1209 // "METRIC_TRUEVIEW_CPV_PARTNER" 1210 // "METRIC_FEE19_ADVERTISER" 1211 // "METRIC_FEE19_USD" 1212 // "METRIC_FEE19_PARTNER" 1213 // "METRIC_TEA_TRUEVIEW_IMPRESSIONS" 1214 // "METRIC_TEA_TRUEVIEW_UNIQUE_COOKIES" 1215 // "METRIC_FEE20_ADVERTISER" 1216 // "METRIC_FEE20_USD" 1217 // "METRIC_FEE20_PARTNER" 1218 // "METRIC_FEE21_ADVERTISER" 1219 // "METRIC_FEE21_USD" 1220 // "METRIC_FEE21_PARTNER" 1221 // "METRIC_FEE22_ADVERTISER" 1222 // "METRIC_FEE22_USD" 1223 // "METRIC_FEE22_PARTNER" 1224 // "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_ADVERTISER" 1225 // "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_USD" 1226 // "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_PARTNER" 1227 // "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_ADVERTISER" 1228 // "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_USD" 1229 // "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_PARTNER" 1230 // "METRIC_PROFIT_VIEWABLE_ECPM_ADVERTISER" 1231 // "METRIC_PROFIT_VIEWABLE_ECPM_USD" 1232 // "METRIC_PROFIT_VIEWABLE_ECPM_PARTNER" 1233 // "METRIC_REVENUE_VIEWABLE_ECPM_ADVERTISER" 1234 // "METRIC_REVENUE_VIEWABLE_ECPM_USD" 1235 // "METRIC_REVENUE_VIEWABLE_ECPM_PARTNER" 1236 // "METRIC_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER" 1237 // "METRIC_MEDIA_COST_VIEWABLE_ECPM_USD" 1238 // "METRIC_MEDIA_COST_VIEWABLE_ECPM_PARTNER" 1239 // "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER" 1240 // "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_USD" 1241 // "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_PARTNER" 1242 // "METRIC_TRUEVIEW_ENGAGEMENTS" 1243 // "METRIC_TRUEVIEW_ENGAGEMENT_RATE" 1244 // "METRIC_TRUEVIEW_AVERAGE_CPE_ADVERTISER" 1245 // "METRIC_TRUEVIEW_AVERAGE_CPE_USD" 1246 // "METRIC_TRUEVIEW_AVERAGE_CPE_PARTNER" 1247 // "METRIC_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS" 1248 // "METRIC_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS" 1249 // "METRIC_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS" 1250 // "METRIC_ACTIVE_VIEW_PCT_MEASURABLE_IMPRESSIONS" 1251 // "METRIC_ACTIVE_VIEW_PCT_VIEWABLE_IMPRESSIONS" 1252 // "METRIC_ACTIVE_VIEW_AVERAGE_VIEWABLE_TIME" 1253 // "METRIC_ACTIVE_VIEW_UNMEASURABLE_IMPRESSIONS" 1254 // "METRIC_ACTIVE_VIEW_UNVIEWABLE_IMPRESSIONS" 1255 // "METRIC_ACTIVE_VIEW_DISTRIBUTION_UNMEASURABLE" 1256 // "METRIC_ACTIVE_VIEW_DISTRIBUTION_UNVIEWABLE" 1257 // "METRIC_ACTIVE_VIEW_DISTRIBUTION_VIEWABLE" 1258 // "METRIC_ACTIVE_VIEW_PERCENT_VIEWABLE_FOR_TIME_THRESHOLD" 1259 // "METRIC_ACTIVE_VIEW_VIEWABLE_FOR_TIME_THRESHOLD" 1260 // "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_AT_START" 1261 // "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_FIRST_QUAR" 1262 // "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_SECOND_QUAR" 1263 // "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_THIRD_QUAR" 1264 // "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_ON_COMPLETE" 1265 // "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_AT_START" 1266 // "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_FIRST_QUAR" 1267 // "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_SECOND_QUAR" 1268 // "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_THIRD_QUAR" 1269 // "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_ON_COMPLETE" 1270 // "METRIC_ACTIVE_VIEW_AUDIBLE_VISIBLE_ON_COMPLETE_IMPRESSIONS" 1271 // "METRIC_VIEWABLE_BID_REQUESTS" 1272 // "METRIC_COOKIE_REACH_IMPRESSION_REACH" 1273 // "METRIC_COOKIE_REACH_AVERAGE_IMPRESSION_FREQUENCY" 1274 // "METRIC_DBM_ENGAGEMENT_RATE" 1275 // "METRIC_RICH_MEDIA_SCROLLS" 1276 // "METRIC_CM_POST_VIEW_REVENUE" 1277 // "METRIC_CM_POST_CLICK_REVENUE" 1278 // "METRIC_FLOODLIGHT_IMPRESSIONS" 1279 // "METRIC_BILLABLE_IMPRESSIONS" 1280 // "METRIC_NIELSEN_AVERAGE_FREQUENCY" 1281 // "METRIC_NIELSEN_IMPRESSIONS" 1282 // "METRIC_NIELSEN_UNIQUE_AUDIENCE" 1283 // "METRIC_NIELSEN_GRP" 1284 // "METRIC_NIELSEN_IMPRESSION_INDEX" 1285 // "METRIC_NIELSEN_IMPRESSIONS_SHARE" 1286 // "METRIC_NIELSEN_POPULATION" 1287 // "METRIC_NIELSEN_POPULATION_REACH" 1288 // "METRIC_NIELSEN_POPULATION_SHARE" 1289 // "METRIC_NIELSEN_REACH_INDEX" 1290 // "METRIC_NIELSEN_REACH_SHARE" 1291 // 1292 // "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_IMPRESSIO 1293 // NS" 1294 // 1295 // "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_MEASURABL 1296 // E_IMPRESSIONS" 1297 // "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_RATE" 1298 // 1299 // "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_TRUEVIEW_ 1300 // IMPRESSIONS" 1301 // 1302 // "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_TRUEVIEW_ 1303 // MEASURABLE_IMPRESSIONS" 1304 // 1305 // "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_TRUEVIEW_ 1306 // RATE" 1307 // "METRIC_ACTIVE_VIEW_CUSTOM_METRIC_MEASURABLE_IMPRESSIONS" 1308 // "METRIC_ACTIVE_VIEW_CUSTOM_METRIC_VIEWABLE_IMPRESSIONS" 1309 // "METRIC_ACTIVE_VIEW_CUSTOM_METRIC_VIEWABLE_RATE" 1310 // "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_IMPRESSIONS" 1311 // "METRIC_ACTIVE_VIEW_PERCENT_FULLY_ON_SCREEN_2_SEC" 1312 // "METRIC_ACTIVE_VIEW_PERCENT_FULL_SCREEN" 1313 // "METRIC_ACTIVE_VIEW_PERCENT_IN_BACKGROUND" 1314 // "METRIC_ACTIVE_VIEW_PERCENT_OF_AD_PLAYED" 1315 // 1316 // "METRIC_ACTIVE_VIEW_PERCENT_OF_COMPLETED_IMPRESSIONS_AUDIBLE_AND_VISIB 1317 // LE" 1318 // "METRIC_ACTIVE_VIEW_PERCENT_OF_COMPLETED_IMPRESSIONS_VISIBLE" 1319 // 1320 // "METRIC_ACTIVE_VIEW_PERCENT_OF_FIRST_QUARTILE_IMPRESSIONS_AUDIBLE_AND_ 1321 // VISIBLE" 1322 // "METRIC_ACTIVE_VIEW_PERCENT_OF_FIRST_QUARTILE_IMPRESSIONS_VISIBLE" 1323 // 1324 // "METRIC_ACTIVE_VIEW_PERCENT_OF_MIDPOINT_IMPRESSIONS_AUDIBLE_AND_VISIBL 1325 // E" 1326 // "METRIC_ACTIVE_VIEW_PERCENT_OF_MIDPOINT_IMPRESSIONS_VISIBLE" 1327 // 1328 // "METRIC_ACTIVE_VIEW_PERCENT_OF_THIRD_QUARTILE_IMPRESSIONS_AUDIBLE_AND_ 1329 // VISIBLE" 1330 // "METRIC_ACTIVE_VIEW_PERCENT_OF_THIRD_QUARTILE_IMPRESSIONS_VISIBLE" 1331 // "METRIC_ACTIVE_VIEW_PERCENT_PLAY_TIME_AUDIBLE" 1332 // "METRIC_ACTIVE_VIEW_PERCENT_PLAY_TIME_AUDIBLE_AND_VISIBLE" 1333 // "METRIC_ACTIVE_VIEW_PERCENT_PLAY_TIME_VISIBLE" 1334 // "METRIC_ADAPTED_AUDIENCE_FREQUENCY" 1335 // "METRIC_ADLINGO_FEE_ADVERTISER_CURRENCY" 1336 // "METRIC_AUDIO_CLIENT_COST_ECPCL_ADVERTISER_CURRENCY" 1337 // "METRIC_AUDIO_MEDIA_COST_ECPCL_ADVERTISER_CURRENCY" 1338 // "METRIC_AUDIO_MUTES_AUDIO" 1339 // "METRIC_AUDIO_REVENUE_ECPCL_ADVERTISER_CURRENCY" 1340 // "METRIC_AUDIO_UNMUTES_AUDIO" 1341 // "METRIC_AUDIO_UNMUTES_VIDEO" 1342 // "METRIC_AVERAGE_DISPLAY_TIME" 1343 // "METRIC_AVERAGE_IMPRESSION_FREQUENCY_PER_USER" 1344 // "METRIC_AVERAGE_INTERACTION_TIME" 1345 // "METRIC_AVERAGE_WATCH_TIME_PER_IMPRESSION" 1346 // "METRIC_BEGIN_TO_RENDER_ELIGIBLE_IMPRESSIONS" 1347 // "METRIC_BEGIN_TO_RENDER_IMPRESSIONS" 1348 // "METRIC_BENCHMARK_FREQUENCY" 1349 // "METRIC_BRAND_LIFT_ABSOLUTE_BRAND_LIFT" 1350 // "METRIC_BRAND_LIFT_ALL_SURVEY_RESPONSES" 1351 // "METRIC_BRAND_LIFT_BASELINE_POSITIVE_RESPONSE_RATE" 1352 // "METRIC_BRAND_LIFT_BASELINE_SURVEY_RESPONSES" 1353 // "METRIC_BRAND_LIFT_COST_PER_LIFTED_USER" 1354 // "METRIC_BRAND_LIFT_EXPOSED_SURVEY_RESPONSES" 1355 // "METRIC_BRAND_LIFT_HEADROOM_BRAND_LIFT" 1356 // "METRIC_BRAND_LIFT_RELATIVE_BRAND_LIFT" 1357 // "METRIC_BRAND_LIFT_USERS" 1358 // "METRIC_CARD_CLICKS" 1359 // "METRIC_CLIENT_COST_ADVERTISER_CURRENCY" 1360 // "METRIC_CLIENT_COST_ECPA_ADVERTISER_CURRENCY" 1361 // "METRIC_CLIENT_COST_ECPA_PC_ADVERTISER_CURRENCY" 1362 // "METRIC_CLIENT_COST_ECPA_PV_ADVERTISER_CURRENCY" 1363 // "METRIC_CLIENT_COST_ECPC_ADVERTISER_CURRENCY" 1364 // "METRIC_CLIENT_COST_ECPM_ADVERTISER_CURRENCY" 1365 // "METRIC_CLIENT_COST_VIEWABLE_ECPM_ADVERTISER_CURRENCY" 1366 // "METRIC_CM_POST_CLICK_REVENUE_CROSS_ENVIRONMENT" 1367 // "METRIC_CM_POST_VIEW_REVENUE_CROSS_ENVIRONMENT" 1368 // "METRIC_COMPANION_CLICKS_AUDIO" 1369 // "METRIC_COMPANION_IMPRESSIONS_AUDIO" 1370 // "METRIC_COMPLETE_LISTENS_AUDIO" 1371 // "METRIC_COMPLETION_RATE_AUDIO" 1372 // "METRIC_COUNTERS" 1373 // "METRIC_CUSTOM_FEE_1_ADVERTISER_CURRENCY" 1374 // "METRIC_CUSTOM_FEE_2_ADVERTISER_CURRENCY" 1375 // "METRIC_CUSTOM_FEE_3_ADVERTISER_CURRENCY" 1376 // "METRIC_CUSTOM_FEE_4_ADVERTISER_CURRENCY" 1377 // "METRIC_CUSTOM_FEE_5_ADVERTISER_CURRENCY" 1378 // "METRIC_CUSTOM_VALUE_PER_1000_IMPRESSIONS" 1379 // "METRIC_ENGAGEMENTS" 1380 // 1381 // "METRIC_ESTIMATED_CPM_FOR_IMPRESSIONS_WITH_CUSTOM_VALUE_ADVERTISER_CUR 1382 // RENCY" 1383 // 1384 // "METRIC_ESTIMATED_TOTAL_COST_FOR_IMPRESSIONS_WITH_CUSTOM_VALUE_ADVERTI 1385 // SER_CURRENCY" 1386 // "METRIC_EXITS" 1387 // "METRIC_EXPANSIONS" 1388 // "METRIC_FIRST_QUARTILE_AUDIO" 1389 // "METRIC_GENERAL_INVALID_TRAFFIC_GIVT_IMPRESSIONS" 1390 // "METRIC_GENERAL_INVALID_TRAFFIC_GIVT_TRACKED_ADS" 1391 // "METRIC_GIVT_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS" 1392 // "METRIC_GIVT_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS" 1393 // "METRIC_GIVT_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS" 1394 // "METRIC_GIVT_BEGIN_TO_RENDER_IMPRESSIONS" 1395 // "METRIC_GIVT_CLICKS" 1396 // "METRIC_GMAIL_CONVERSIONS" 1397 // "METRIC_GMAIL_POST_CLICK_CONVERSIONS" 1398 // "METRIC_GMAIL_POST_VIEW_CONVERSIONS" 1399 // "METRIC_GMAIL_POTENTIAL_VIEWS" 1400 // "METRIC_IMPRESSIONS_WITH_CUSTOM_VALUE" 1401 // "METRIC_IMPRESSIONS_WITH_POSITIVE_CUSTOM_VALUE" 1402 // "METRIC_IMPRESSION_CUSTOM_VALUE_COST" 1403 // "METRIC_INTERACTIVE_IMPRESSIONS" 1404 // "METRIC_INVALID_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS" 1405 // "METRIC_INVALID_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS" 1406 // "METRIC_INVALID_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS" 1407 // "METRIC_INVALID_BEGIN_TO_RENDER_IMPRESSIONS" 1408 // "METRIC_INVALID_CLICKS" 1409 // "METRIC_INVALID_IMPRESSIONS" 1410 // "METRIC_INVALID_TRACKED_ADS" 1411 // "METRIC_MIDPOINT_AUDIO" 1412 // "METRIC_ORIGINAL_AUDIENCE_FREQUENCY" 1413 // "METRIC_PAUSES_AUDIO" 1414 // "METRIC_PERCENT_IMPRESSIONS_WITH_POSITIVE_CUSTOM_VALUE" 1415 // "METRIC_PLATFORM_FEE_RATE" 1416 // "METRIC_POST_CLICK_CONVERSIONS_CROSS_ENVIRONMENT" 1417 // "METRIC_POST_VIEW_CONVERSIONS_CROSS_ENVIRONMENT" 1418 // "METRIC_POTENTIAL_IMPRESSIONS" 1419 // "METRIC_POTENTIAL_VIEWS" 1420 // "METRIC_PREMIUM_FEE_ADVERTISER_CURRENCY" 1421 // 1422 // "METRIC_PROGRAMMATIC_GUARANTEED_IMPRESSIONS_PASSED_DUE_TO_FREQUENCY" 1423 // 1424 // "METRIC_PROGRAMMATIC_GUARANTEED_SAVINGS_RE_INVESTED_DUE_TO_FREQUENCY_A 1425 // DVERTISER_CURRENCY" 1426 // "METRIC_REFUND_BILLABLE_COST_ADVERTISER_CURRENCY" 1427 // "METRIC_REFUND_MEDIA_COST_ADVERTISER_CURRENCY" 1428 // "METRIC_REFUND_PLATFORM_FEE_ADVERTISER_CURRENCY" 1429 // "METRIC_RICH_MEDIA_ENGAGEMENTS" 1430 // "METRIC_STARTS_AUDIO" 1431 // "METRIC_STOPS_AUDIO" 1432 // "METRIC_STORE_VISIT_CONVERSIONS" 1433 // "METRIC_THIRD_QUARTILE_AUDIO" 1434 // "METRIC_TIMERS" 1435 // "METRIC_TOTAL_AUDIO_MEDIA_COST_ECPCL_ADVERTISER_CURRENCY" 1436 // "METRIC_TOTAL_CONVERSIONS_CROSS_ENVIRONMENT" 1437 // "METRIC_TOTAL_DISPLAY_TIME" 1438 // "METRIC_TOTAL_IMPRESSION_CUSTOM_VALUE" 1439 // "METRIC_TOTAL_INTERACTION_TIME" 1440 // "METRIC_TOTAL_USERS" 1441 // "METRIC_TRACKED_ADS" 1442 // "METRIC_TRUEVIEW_GENERAL_INVALID_TRAFFIC_GIVT_VIEWS" 1443 // "METRIC_TRUEVIEW_INVALID_VIEWS" 1444 // "METRIC_UNIQUE_COOKIES_WITH_IMPRESSIONS" 1445 // "METRIC_UNIQUE_REACH_AVERAGE_IMPRESSION_FREQUENCY" 1446 // "METRIC_UNIQUE_REACH_CLICK_REACH" 1447 // "METRIC_UNIQUE_REACH_IMPRESSION_REACH" 1448 // "METRIC_UNIQUE_REACH_TOTAL_REACH" 1449 // "METRIC_VERIFIABLE_IMPRESSIONS" 1450 // "METRIC_VIDEO_CLIENT_COST_ECPCV_ADVERTISER_CURRENCY" 1451 // "METRIC_WATCH_TIME" 1452 // "METRIC_LAST_TOUCH_TOTAL_CONVERSIONS" 1453 // "METRIC_LAST_TOUCH_CLICK_THROUGH_CONVERSIONS" 1454 // "METRIC_LAST_TOUCH_VIEW_THROUGH_CONVERSIONS" 1455 // "METRIC_TOTAL_PATHS" 1456 // "METRIC_TOTAL_EXPOSURES" 1457 // "METRIC_PATH_CONVERSION_RATE" 1458 // "METRIC_CONVERTING_PATHS" 1459 // "METRIC_ACTIVITY_REVENUE" 1460 // "METRIC_PERCENT_INVALID_IMPRESSIONS_PREBID" 1461 // "METRIC_GRP_CORRECTED_IMPRESSIONS" 1462 // "METRIC_DEMO_CORRECTED_CLICKS" 1463 // "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_BY_DEMO" 1464 // "METRIC_VIRTUAL_PEOPLE_CLICK_REACH_BY_DEMO" 1465 // "METRIC_VIRTUAL_PEOPLE_AVERAGE_IMPRESSION_FREQUENCY_BY_DEMO" 1466 // "METRIC_DEMO_COMPOSITION_IMPRESSION" 1467 // "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_SHARE_PERCENT" 1468 // "METRIC_DEMO_POPULATION" 1469 // "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_PERCENT" 1470 // "METRIC_TARGET_RATING_POINTS" 1471 // "METRIC_PROVISIONAL_IMPRESSIONS" 1472 // "METRIC_VENDOR_BLOCKED_ADS" 1473 // "METRIC_GRP_CORRECTED_VIEWABLE_IMPRESSIONS" 1474 // "METRIC_GRP_CORRECTED_VIEWABLE_IMPRESSIONS_SHARE_PERCENT" 1475 // "METRIC_VIEWABLE_GROSS_RATING_POINTS" 1476 // 1477 // "METRIC_VIRTUAL_PEOPLE_AVERAGE_VIEWABLE_IMPRESSION_FREQUENCY_BY_DEMO" 1478 // "METRIC_VIRTUAL_PEOPLE_VIEWABLE_IMPRESSION_REACH_BY_DEMO" 1479 // "METRIC_VIRTUAL_PEOPLE_VIEWABLE_IMPRESSION_REACH_PERCENT" 1480 // "METRIC_VIRTUAL_PEOPLE_VIEWABLE_IMPRESSION_REACH_SHARE_PERCENT" 1481 // "METRIC_ENGAGEMENT_RATE" 1482 // "METRIC_CM360_POST_VIEW_REVENUE" 1483 // "METRIC_CM360_POST_CLICK_REVENUE" 1484 // "METRIC_CM360_POST_CLICK_REVENUE_CROSS_ENVIRONMENT" 1485 // "METRIC_CM360_POST_VIEW_REVENUE_CROSS_ENVIRONMENT" 1486 // "METRIC_PERCENTAGE_FROM_CURRENT_IO_GOAL" 1487 // "METRIC_DUPLICATE_FLOODLIGHT_IMPRESSIONS" 1488 // "METRIC_COOKIE_CONSENTED_FLOODLIGHT_IMPRESSIONS" 1489 // "METRIC_COOKIE_UNCONSENTED_FLOODLIGHT_IMPRESSIONS" 1490 // "METRIC_TRACKING_UNCONSENTED_CLICKS" 1491 // "METRIC_IMPRESSION_LOSS_TARGETED_IMPRESSIONS" 1492 // "METRIC_LINEITEM_BID_RESPONSE_COUNT" 1493 // "METRIC_WIN_LOSS_RATE" 1494 // "METRIC_WIN_LOSS_DEAL_AVAILABLE_REQUESTS" 1495 // "METRIC_WIN_LOSS_LINEITEM_AVAILABLE_REQUESTS" 1496 // "METRIC_WIN_LOSS_DEAL_TARGETED_IMPRESSIONS" 1497 // "METRIC_WIN_LOSS_LINEITEM_TARGETED_IMPRESSIONS" 1498 // "METRIC_VERIFICATION_VIDEO_PLAYER_SIZE_MEASURABLE_IMPRESSIONS" 1499 // "METRIC_TRUEVIEW_ALL_AD_SEQUENCE_IMPRESSIONS" 1500 // "METRIC_IMPRESSIONS_COVIEWED" 1501 // "METRIC_UNIQUE_REACH_IMPRESSION_REACH_COVIEWED" 1502 // "METRIC_UNIQUE_REACH_TOTAL_REACH_COVIEWED" 1503 // "METRIC_UNIQUE_REACH_AVERAGE_IMPRESSION_FREQUENCY_COVIEWED" 1504 // "METRIC_GRP_CORRECTED_IMPRESSIONS_COVIEWED" 1505 // "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_BY_DEMO_COVIEWED" 1506 // 1507 // "METRIC_VIRTUAL_PEOPLE_AVERAGE_IMPRESSION_FREQUENCY_BY_DEMO_COVIEWED" 1508 // "METRIC_TARGET_RATING_POINTS_COVIEWED" 1509 // "METRIC_DEMO_COMPOSITION_IMPRESSION_COVIEWED" 1510 // "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_SHARE_PERCENT_COVIEWED" 1511 // "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_PERCENT_COVIEWED" 1512 Metrics []string `json:"metrics,omitempty"` 1513 1514 // Options: Additional query options. 1515 Options *Options `json:"options,omitempty"` 1516 1517 // Type: Report type. 1518 // 1519 // Possible values: 1520 // "TYPE_GENERAL" 1521 // "TYPE_AUDIENCE_PERFORMANCE" 1522 // "TYPE_INVENTORY_AVAILABILITY" 1523 // "TYPE_KEYWORD" 1524 // "TYPE_PIXEL_LOAD" 1525 // "TYPE_AUDIENCE_COMPOSITION" 1526 // "TYPE_CROSS_PARTNER" 1527 // "TYPE_PAGE_CATEGORY" 1528 // "TYPE_THIRD_PARTY_DATA_PROVIDER" 1529 // "TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER" 1530 // "TYPE_CLIENT_SAFE" 1531 // "TYPE_ORDER_ID" 1532 // "TYPE_FEE" 1533 // "TYPE_CROSS_FEE" 1534 // "TYPE_ACTIVE_GRP" 1535 // "TYPE_YOUTUBE_VERTICAL" 1536 // "TYPE_COMSCORE_VCE" 1537 // "TYPE_TRUEVIEW" 1538 // "TYPE_NIELSEN_AUDIENCE_PROFILE" 1539 // "TYPE_NIELSEN_DAILY_REACH_BUILD" 1540 // "TYPE_NIELSEN_SITE" 1541 // "TYPE_REACH_AND_FREQUENCY" 1542 // "TYPE_ESTIMATED_CONVERSION" 1543 // "TYPE_VERIFICATION" 1544 // "TYPE_TRUEVIEW_IAR" 1545 // "TYPE_NIELSEN_ONLINE_GLOBAL_MARKET" 1546 // "TYPE_PETRA_NIELSEN_AUDIENCE_PROFILE" 1547 // "TYPE_PETRA_NIELSEN_DAILY_REACH_BUILD" 1548 // "TYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKET" 1549 // "TYPE_NOT_SUPPORTED" 1550 // "TYPE_REACH_AUDIENCE" 1551 // "TYPE_LINEAR_TV_SEARCH_LIFT" 1552 // "TYPE_PATH" 1553 // "TYPE_PATH_ATTRIBUTION" 1554 Type string `json:"type,omitempty"` 1555 1556 // ForceSendFields is a list of field names (e.g. "Filters") to 1557 // unconditionally include in API requests. By default, fields with 1558 // empty or default values are omitted from API requests. However, any 1559 // non-pointer, non-interface field appearing in ForceSendFields will be 1560 // sent to the server regardless of whether the field is empty or not. 1561 // This may be used to include empty fields in Patch requests. 1562 ForceSendFields []string `json:"-"` 1563 1564 // NullFields is a list of field names (e.g. "Filters") to include in 1565 // API requests with the JSON null value. By default, fields with empty 1566 // values are omitted from API requests. However, any field with an 1567 // empty value appearing in NullFields will be sent to the server as 1568 // null. It is an error if a field in this list has a non-empty value. 1569 // This may be used to include null fields in Patch requests. 1570 NullFields []string `json:"-"` 1571 } 1572 1573 func (s *Parameters) MarshalJSON() ([]byte, error) { 1574 type NoMethod Parameters 1575 raw := NoMethod(*s) 1576 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1577 } 1578 1579 // PathFilter: Path filters specify which paths to include in a report. 1580 // A path is the result of combining DV360 events based on User ID to 1581 // create a workflow of users' actions. When a path filter is set, the 1582 // resulting report will only include paths that match the specified 1583 // event at the specified position. All other paths will be excluded. 1584 type PathFilter struct { 1585 // EventFilters: Filter on an event to be applied to some part of the 1586 // path. 1587 EventFilters []*EventFilter `json:"eventFilters,omitempty"` 1588 1589 // PathMatchPosition: Indicates the position of the path the filter 1590 // should match to (first, last, or any event in path). 1591 // 1592 // Possible values: 1593 // "ANY" 1594 // "FIRST" 1595 // "LAST" 1596 PathMatchPosition string `json:"pathMatchPosition,omitempty"` 1597 1598 // ForceSendFields is a list of field names (e.g. "EventFilters") to 1599 // unconditionally include in API requests. By default, fields with 1600 // empty or default values are omitted from API requests. However, any 1601 // non-pointer, non-interface field appearing in ForceSendFields will be 1602 // sent to the server regardless of whether the field is empty or not. 1603 // This may be used to include empty fields in Patch requests. 1604 ForceSendFields []string `json:"-"` 1605 1606 // NullFields is a list of field names (e.g. "EventFilters") to include 1607 // in API requests with the JSON null value. By default, fields with 1608 // empty values are omitted from API requests. However, any field with 1609 // an empty value appearing in NullFields will be sent to the server as 1610 // null. It is an error if a field in this list has a non-empty value. 1611 // This may be used to include null fields in Patch requests. 1612 NullFields []string `json:"-"` 1613 } 1614 1615 func (s *PathFilter) MarshalJSON() ([]byte, error) { 1616 type NoMethod PathFilter 1617 raw := NoMethod(*s) 1618 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1619 } 1620 1621 // PathQueryOptions: Path Query Options for Report Options. 1622 type PathQueryOptions struct { 1623 // ChannelGrouping: Custom Channel Groupings. 1624 ChannelGrouping *ChannelGrouping `json:"channelGrouping,omitempty"` 1625 1626 // PathFilters: Path Filters. There is a limit of 100 path filters that 1627 // can be set per report. 1628 PathFilters []*PathFilter `json:"pathFilters,omitempty"` 1629 1630 // ForceSendFields is a list of field names (e.g. "ChannelGrouping") to 1631 // unconditionally include in API requests. By default, fields with 1632 // empty or default values are omitted from API requests. However, any 1633 // non-pointer, non-interface field appearing in ForceSendFields will be 1634 // sent to the server regardless of whether the field is empty or not. 1635 // This may be used to include empty fields in Patch requests. 1636 ForceSendFields []string `json:"-"` 1637 1638 // NullFields is a list of field names (e.g. "ChannelGrouping") to 1639 // include in API requests with the JSON null value. By default, fields 1640 // with empty values are omitted from API requests. However, any field 1641 // with an empty value appearing in NullFields will be sent to the 1642 // server as null. It is an error if a field in this list has a 1643 // non-empty value. This may be used to include null fields in Patch 1644 // requests. 1645 NullFields []string `json:"-"` 1646 } 1647 1648 func (s *PathQueryOptions) MarshalJSON() ([]byte, error) { 1649 type NoMethod PathQueryOptions 1650 raw := NoMethod(*s) 1651 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1652 } 1653 1654 // PathQueryOptionsFilter: Dimension Filter on path events. 1655 type PathQueryOptionsFilter struct { 1656 // Filter: Dimension the filter is applied to. 1657 // 1658 // Possible values: 1659 // "FILTER_UNKNOWN" 1660 // "FILTER_DATE" 1661 // "FILTER_DAY_OF_WEEK" 1662 // "FILTER_WEEK" 1663 // "FILTER_MONTH" 1664 // "FILTER_YEAR" 1665 // "FILTER_TIME_OF_DAY" 1666 // "FILTER_CONVERSION_DELAY" 1667 // "FILTER_CREATIVE_ID" 1668 // "FILTER_CREATIVE_SIZE" 1669 // "FILTER_CREATIVE_TYPE" 1670 // "FILTER_EXCHANGE_ID" 1671 // "FILTER_AD_POSITION" 1672 // "FILTER_PUBLIC_INVENTORY" 1673 // "FILTER_INVENTORY_SOURCE" 1674 // "FILTER_CITY" 1675 // "FILTER_REGION" 1676 // "FILTER_DMA" 1677 // "FILTER_COUNTRY" 1678 // "FILTER_SITE_ID" 1679 // "FILTER_CHANNEL_ID" 1680 // "FILTER_PARTNER" 1681 // "FILTER_ADVERTISER" 1682 // "FILTER_INSERTION_ORDER" 1683 // "FILTER_LINE_ITEM" 1684 // "FILTER_PARTNER_CURRENCY" 1685 // "FILTER_ADVERTISER_CURRENCY" 1686 // "FILTER_ADVERTISER_TIMEZONE" 1687 // "FILTER_LINE_ITEM_TYPE" 1688 // "FILTER_USER_LIST" 1689 // "FILTER_USER_LIST_FIRST_PARTY" 1690 // "FILTER_USER_LIST_THIRD_PARTY" 1691 // "FILTER_TARGETED_USER_LIST" 1692 // "FILTER_DATA_PROVIDER" 1693 // "FILTER_ORDER_ID" 1694 // "FILTER_VIDEO_PLAYER_SIZE" 1695 // "FILTER_VIDEO_DURATION_SECONDS" 1696 // "FILTER_KEYWORD" 1697 // "FILTER_PAGE_CATEGORY" 1698 // "FILTER_CAMPAIGN_DAILY_FREQUENCY" 1699 // "FILTER_LINE_ITEM_DAILY_FREQUENCY" 1700 // "FILTER_LINE_ITEM_LIFETIME_FREQUENCY" 1701 // "FILTER_OS" 1702 // "FILTER_BROWSER" 1703 // "FILTER_CARRIER" 1704 // "FILTER_SITE_LANGUAGE" 1705 // "FILTER_INVENTORY_FORMAT" 1706 // "FILTER_ZIP_CODE" 1707 // "FILTER_VIDEO_RATING_TIER" 1708 // "FILTER_VIDEO_FORMAT_SUPPORT" 1709 // "FILTER_VIDEO_SKIPPABLE_SUPPORT" 1710 // "FILTER_VIDEO_CREATIVE_DURATION" 1711 // "FILTER_PAGE_LAYOUT" 1712 // "FILTER_VIDEO_AD_POSITION_IN_STREAM" 1713 // "FILTER_AGE" 1714 // "FILTER_GENDER" 1715 // "FILTER_QUARTER" 1716 // "FILTER_TRUEVIEW_CONVERSION_TYPE" 1717 // "FILTER_MOBILE_GEO" 1718 // "FILTER_MRAID_SUPPORT" 1719 // "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY" 1720 // "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE" 1721 // "FILTER_NIELSEN_COUNTRY_CODE" 1722 // "FILTER_NIELSEN_DEVICE_ID" 1723 // "FILTER_NIELSEN_GENDER" 1724 // "FILTER_NIELSEN_AGE" 1725 // "FILTER_INVENTORY_SOURCE_TYPE" 1726 // "FILTER_CREATIVE_WIDTH" 1727 // "FILTER_CREATIVE_HEIGHT" 1728 // "FILTER_DFP_ORDER_ID" 1729 // "FILTER_TRUEVIEW_AGE" 1730 // "FILTER_TRUEVIEW_GENDER" 1731 // "FILTER_TRUEVIEW_PARENTAL_STATUS" 1732 // "FILTER_TRUEVIEW_REMARKETING_LIST" 1733 // "FILTER_TRUEVIEW_INTEREST" 1734 // "FILTER_TRUEVIEW_AD_GROUP_ID" 1735 // "FILTER_TRUEVIEW_AD_GROUP_AD_ID" 1736 // "FILTER_TRUEVIEW_IAR_LANGUAGE" 1737 // "FILTER_TRUEVIEW_IAR_GENDER" 1738 // "FILTER_TRUEVIEW_IAR_AGE" 1739 // "FILTER_TRUEVIEW_IAR_CATEGORY" 1740 // "FILTER_TRUEVIEW_IAR_COUNTRY" 1741 // "FILTER_TRUEVIEW_IAR_CITY" 1742 // "FILTER_TRUEVIEW_IAR_REGION" 1743 // "FILTER_TRUEVIEW_IAR_ZIPCODE" 1744 // "FILTER_TRUEVIEW_IAR_REMARKETING_LIST" 1745 // "FILTER_TRUEVIEW_IAR_INTEREST" 1746 // "FILTER_TRUEVIEW_IAR_PARENTAL_STATUS" 1747 // "FILTER_TRUEVIEW_IAR_TIME_OF_DAY" 1748 // "FILTER_TRUEVIEW_CUSTOM_AFFINITY" 1749 // "FILTER_TRUEVIEW_CATEGORY" 1750 // "FILTER_TRUEVIEW_KEYWORD" 1751 // "FILTER_TRUEVIEW_PLACEMENT" 1752 // "FILTER_TRUEVIEW_URL" 1753 // "FILTER_TRUEVIEW_COUNTRY" 1754 // "FILTER_TRUEVIEW_REGION" 1755 // "FILTER_TRUEVIEW_CITY" 1756 // "FILTER_TRUEVIEW_DMA" 1757 // "FILTER_TRUEVIEW_ZIPCODE" 1758 // "FILTER_NOT_SUPPORTED" 1759 // "FILTER_MEDIA_PLAN" 1760 // "FILTER_TRUEVIEW_IAR_YOUTUBE_CHANNEL" 1761 // "FILTER_TRUEVIEW_IAR_YOUTUBE_VIDEO" 1762 // "FILTER_SKIPPABLE_SUPPORT" 1763 // "FILTER_COMPANION_CREATIVE_ID" 1764 // "FILTER_BUDGET_SEGMENT_DESCRIPTION" 1765 // "FILTER_FLOODLIGHT_ACTIVITY_ID" 1766 // "FILTER_DEVICE_MODEL" 1767 // "FILTER_DEVICE_MAKE" 1768 // "FILTER_DEVICE_TYPE" 1769 // "FILTER_CREATIVE_ATTRIBUTE" 1770 // "FILTER_INVENTORY_COMMITMENT_TYPE" 1771 // "FILTER_INVENTORY_RATE_TYPE" 1772 // "FILTER_INVENTORY_DELIVERY_METHOD" 1773 // "FILTER_INVENTORY_SOURCE_EXTERNAL_ID" 1774 // "FILTER_AUTHORIZED_SELLER_STATE" 1775 // "FILTER_VIDEO_DURATION_SECONDS_RANGE" 1776 // "FILTER_PARTNER_NAME" 1777 // "FILTER_PARTNER_STATUS" 1778 // "FILTER_ADVERTISER_NAME" 1779 // "FILTER_ADVERTISER_INTEGRATION_CODE" 1780 // "FILTER_ADVERTISER_INTEGRATION_STATUS" 1781 // "FILTER_CARRIER_NAME" 1782 // "FILTER_CHANNEL_NAME" 1783 // "FILTER_CITY_NAME" 1784 // "FILTER_COMPANION_CREATIVE_NAME" 1785 // "FILTER_USER_LIST_FIRST_PARTY_NAME" 1786 // "FILTER_USER_LIST_THIRD_PARTY_NAME" 1787 // "FILTER_NIELSEN_RESTATEMENT_DATE" 1788 // "FILTER_NIELSEN_DATE_RANGE" 1789 // "FILTER_INSERTION_ORDER_NAME" 1790 // "FILTER_REGION_NAME" 1791 // "FILTER_DMA_NAME" 1792 // "FILTER_TRUEVIEW_IAR_REGION_NAME" 1793 // "FILTER_TRUEVIEW_DMA_NAME" 1794 // "FILTER_TRUEVIEW_REGION_NAME" 1795 // "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_ID" 1796 // "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_NAME" 1797 // "FILTER_AD_TYPE" 1798 // "FILTER_ALGORITHM" 1799 // "FILTER_ALGORITHM_ID" 1800 // "FILTER_AMP_PAGE_REQUEST" 1801 // "FILTER_ANONYMOUS_INVENTORY_MODELING" 1802 // "FILTER_APP_URL" 1803 // "FILTER_APP_URL_EXCLUDED" 1804 // "FILTER_ATTRIBUTED_USERLIST" 1805 // "FILTER_ATTRIBUTED_USERLIST_COST" 1806 // "FILTER_ATTRIBUTED_USERLIST_TYPE" 1807 // "FILTER_ATTRIBUTION_MODEL" 1808 // "FILTER_AUDIENCE_LIST" 1809 // "FILTER_AUDIENCE_LIST_COST" 1810 // "FILTER_AUDIENCE_LIST_TYPE" 1811 // "FILTER_AUDIENCE_NAME" 1812 // "FILTER_AUDIENCE_TYPE" 1813 // "FILTER_BILLABLE_OUTCOME" 1814 // "FILTER_BRAND_LIFT_TYPE" 1815 // "FILTER_CHANNEL_TYPE" 1816 // "FILTER_CM_PLACEMENT_ID" 1817 // "FILTER_CONVERSION_SOURCE" 1818 // "FILTER_CONVERSION_SOURCE_ID" 1819 // "FILTER_COUNTRY_ID" 1820 // "FILTER_CREATIVE" 1821 // "FILTER_CREATIVE_ASSET" 1822 // "FILTER_CREATIVE_INTEGRATION_CODE" 1823 // "FILTER_CREATIVE_RENDERED_IN_AMP" 1824 // "FILTER_CREATIVE_SOURCE" 1825 // "FILTER_CREATIVE_STATUS" 1826 // "FILTER_DATA_PROVIDER_NAME" 1827 // "FILTER_DETAILED_DEMOGRAPHICS" 1828 // "FILTER_DETAILED_DEMOGRAPHICS_ID" 1829 // "FILTER_DEVICE" 1830 // "FILTER_GAM_INSERTION_ORDER" 1831 // "FILTER_GAM_LINE_ITEM" 1832 // "FILTER_GAM_LINE_ITEM_ID" 1833 // "FILTER_DIGITAL_CONTENT_LABEL" 1834 // "FILTER_DOMAIN" 1835 // "FILTER_ELIGIBLE_COOKIES_ON_FIRST_PARTY_AUDIENCE_LIST" 1836 // "FILTER_ELIGIBLE_COOKIES_ON_THIRD_PARTY_AUDIENCE_LIST_AND_INTEREST" 1837 // "FILTER_EXCHANGE" 1838 // "FILTER_EXCHANGE_CODE" 1839 // "FILTER_EXTENSION" 1840 // "FILTER_EXTENSION_STATUS" 1841 // "FILTER_EXTENSION_TYPE" 1842 // "FILTER_FIRST_PARTY_AUDIENCE_LIST_COST" 1843 // "FILTER_FIRST_PARTY_AUDIENCE_LIST_TYPE" 1844 // "FILTER_FLOODLIGHT_ACTIVITY" 1845 // "FILTER_FORMAT" 1846 // "FILTER_GMAIL_AGE" 1847 // "FILTER_GMAIL_CITY" 1848 // "FILTER_GMAIL_COUNTRY" 1849 // "FILTER_GMAIL_COUNTRY_NAME" 1850 // "FILTER_GMAIL_DEVICE_TYPE" 1851 // "FILTER_GMAIL_DEVICE_TYPE_NAME" 1852 // "FILTER_GMAIL_GENDER" 1853 // "FILTER_GMAIL_REGION" 1854 // "FILTER_GMAIL_REMARKETING_LIST" 1855 // "FILTER_HOUSEHOLD_INCOME" 1856 // "FILTER_IMPRESSION_COUNTING_METHOD" 1857 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_INSERTION_ORDER" 1858 // "FILTER_INSERTION_ORDER_INTEGRATION_CODE" 1859 // "FILTER_INSERTION_ORDER_STATUS" 1860 // "FILTER_INTEREST" 1861 // "FILTER_INVENTORY_SOURCE_GROUP" 1862 // "FILTER_INVENTORY_SOURCE_GROUP_ID" 1863 // "FILTER_INVENTORY_SOURCE_ID" 1864 // "FILTER_INVENTORY_SOURCE_NAME" 1865 // "FILTER_LIFE_EVENT" 1866 // "FILTER_LIFE_EVENTS" 1867 // "FILTER_LINE_ITEM_INTEGRATION_CODE" 1868 // "FILTER_LINE_ITEM_NAME" 1869 // "FILTER_LINE_ITEM_STATUS" 1870 // "FILTER_MATCH_RATIO" 1871 // "FILTER_MEASUREMENT_SOURCE" 1872 // "FILTER_MEDIA_PLAN_NAME" 1873 // "FILTER_PARENTAL_STATUS" 1874 // "FILTER_PLACEMENT_ALL_YOUTUBE_CHANNELS" 1875 // "FILTER_PLATFORM" 1876 // "FILTER_PLAYBACK_METHOD" 1877 // "FILTER_POSITION_IN_CONTENT" 1878 // "FILTER_PUBLISHER_PROPERTY" 1879 // "FILTER_PUBLISHER_PROPERTY_ID" 1880 // "FILTER_PUBLISHER_PROPERTY_SECTION" 1881 // "FILTER_PUBLISHER_PROPERTY_SECTION_ID" 1882 // "FILTER_REFUND_REASON" 1883 // "FILTER_REMARKETING_LIST" 1884 // "FILTER_REWARDED" 1885 // "FILTER_SENSITIVE_CATEGORY" 1886 // "FILTER_SERVED_PIXEL_DENSITY" 1887 // "FILTER_TARGETED_DATA_PROVIDERS" 1888 // "FILTER_THIRD_PARTY_AUDIENCE_LIST_COST" 1889 // "FILTER_THIRD_PARTY_AUDIENCE_LIST_TYPE" 1890 // "FILTER_TRUEVIEW_AD" 1891 // "FILTER_TRUEVIEW_AD_GROUP" 1892 // "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS" 1893 // "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS_ID" 1894 // "FILTER_TRUEVIEW_HOUSEHOLD_INCOME" 1895 // "FILTER_TRUEVIEW_IAR_COUNTRY_NAME" 1896 // "FILTER_TRUEVIEW_REMARKETING_LIST_NAME" 1897 // "FILTER_VARIANT_ID" 1898 // "FILTER_VARIANT_NAME" 1899 // "FILTER_VARIANT_VERSION" 1900 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE" 1901 // "FILTER_VERIFICATION_VIDEO_POSITION" 1902 // "FILTER_VIDEO_COMPANION_CREATIVE_SIZE" 1903 // "FILTER_VIDEO_CONTINUOUS_PLAY" 1904 // "FILTER_VIDEO_DURATION" 1905 // "FILTER_YOUTUBE_ADAPTED_AUDIENCE_LIST" 1906 // "FILTER_YOUTUBE_AD_VIDEO" 1907 // "FILTER_YOUTUBE_AD_VIDEO_ID" 1908 // "FILTER_YOUTUBE_CHANNEL" 1909 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_ADVERTISER" 1910 // "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_PARTNER" 1911 // "FILTER_YOUTUBE_VIDEO" 1912 // "FILTER_ZIP_POSTAL_CODE" 1913 // "FILTER_PLACEMENT_NAME_ALL_YOUTUBE_CHANNELS" 1914 // "FILTER_TRUEVIEW_PLACEMENT_ID" 1915 // "FILTER_PATH_PATTERN_ID" 1916 // "FILTER_PATH_EVENT_INDEX" 1917 // "FILTER_EVENT_TYPE" 1918 // "FILTER_CHANNEL_GROUPING" 1919 // "FILTER_OM_SDK_AVAILABLE" 1920 // "FILTER_DATA_SOURCE" 1921 // "FILTER_CM360_PLACEMENT_ID" 1922 // "FILTER_TRUEVIEW_CLICK_TYPE_NAME" 1923 // "FILTER_TRUEVIEW_AD_TYPE_NAME" 1924 // "FILTER_VIDEO_CONTENT_DURATION" 1925 // "FILTER_MATCHED_GENRE_TARGET" 1926 // "FILTER_VIDEO_CONTENT_LIVE_STREAM" 1927 // "FILTER_BUDGET_SEGMENT_TYPE" 1928 // "FILTER_BUDGET_SEGMENT_BUDGET" 1929 // "FILTER_BUDGET_SEGMENT_START_DATE" 1930 // "FILTER_BUDGET_SEGMENT_END_DATE" 1931 // "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE" 1932 // "FILTER_LINE_ITEM_BUDGET" 1933 // "FILTER_LINE_ITEM_START_DATE" 1934 // "FILTER_LINE_ITEM_END_DATE" 1935 // "FILTER_INSERTION_ORDER_GOAL_TYPE" 1936 // "FILTER_LINE_ITEM_PACING_PERCENTAGE" 1937 // "FILTER_INSERTION_ORDER_GOAL_VALUE" 1938 // "FILTER_OMID_CAPABLE" 1939 // "FILTER_VENDOR_MEASUREMENT_MODE" 1940 // "FILTER_IMPRESSION_LOSS_REJECTION_REASON" 1941 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START" 1942 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE" 1943 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT" 1944 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE" 1945 // "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE" 1946 // "FILTER_VERIFICATION_VIDEO_RESIZED" 1947 // "FILTER_VERIFICATION_AUDIBILITY_START" 1948 // "FILTER_VERIFICATION_AUDIBILITY_COMPLETE" 1949 // "FILTER_MEDIA_TYPE" 1950 // "FILTER_AUDIO_FEED_TYPE_NAME" 1951 // "FILTER_TRUEVIEW_TARGETING_EXPANSION" 1952 // "FILTER_PUBLISHER_TRAFFIC_SOURCE" 1953 Filter string `json:"filter,omitempty"` 1954 1955 // Match: Indicates how the filter should be matched to the value. 1956 // 1957 // Possible values: 1958 // "UNKNOWN" 1959 // "EXACT" 1960 // "PARTIAL" 1961 // "BEGINS_WITH" 1962 // "WILDCARD_EXPRESSION" 1963 Match string `json:"match,omitempty"` 1964 1965 // Values: Value to filter on. 1966 Values []string `json:"values,omitempty"` 1967 1968 // ForceSendFields is a list of field names (e.g. "Filter") to 1969 // unconditionally include in API requests. By default, fields with 1970 // empty or default values are omitted from API requests. However, any 1971 // non-pointer, non-interface field appearing in ForceSendFields will be 1972 // sent to the server regardless of whether the field is empty or not. 1973 // This may be used to include empty fields in Patch requests. 1974 ForceSendFields []string `json:"-"` 1975 1976 // NullFields is a list of field names (e.g. "Filter") to include in API 1977 // requests with the JSON null value. By default, fields with empty 1978 // values are omitted from API requests. However, any field with an 1979 // empty value appearing in NullFields will be sent to the server as 1980 // null. It is an error if a field in this list has a non-empty value. 1981 // This may be used to include null fields in Patch requests. 1982 NullFields []string `json:"-"` 1983 } 1984 1985 func (s *PathQueryOptionsFilter) MarshalJSON() ([]byte, error) { 1986 type NoMethod PathQueryOptionsFilter 1987 raw := NoMethod(*s) 1988 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1989 } 1990 1991 // Query: Represents a query. 1992 type Query struct { 1993 // Kind: Identifies what kind of resource this is. Value: the fixed 1994 // string "doubleclickbidmanager#query". 1995 Kind string `json:"kind,omitempty"` 1996 1997 // Metadata: Query metadata. 1998 Metadata *QueryMetadata `json:"metadata,omitempty"` 1999 2000 // Params: Query parameters. 2001 Params *Parameters `json:"params,omitempty"` 2002 2003 // QueryId: Query ID. 2004 QueryId int64 `json:"queryId,omitempty,string"` 2005 2006 // ReportDataEndTimeMs: The ending time for the data that is shown in 2007 // the report. Note, reportDataEndTimeMs is required if 2008 // metadata.dataRange is CUSTOM_DATES and ignored otherwise. 2009 ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"` 2010 2011 // ReportDataStartTimeMs: The starting time for the data that is shown 2012 // in the report. Note, reportDataStartTimeMs is required if 2013 // metadata.dataRange is CUSTOM_DATES and ignored otherwise. 2014 ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"` 2015 2016 // Schedule: Information on how often and when to run a query. 2017 Schedule *QuerySchedule `json:"schedule,omitempty"` 2018 2019 // TimezoneCode: Canonical timezone code for report data time. Defaults 2020 // to America/New_York. 2021 TimezoneCode string `json:"timezoneCode,omitempty"` 2022 2023 // ServerResponse contains the HTTP response code and headers from the 2024 // server. 2025 googleapi.ServerResponse `json:"-"` 2026 2027 // ForceSendFields is a list of field names (e.g. "Kind") to 2028 // unconditionally include in API requests. By default, fields with 2029 // empty or default values are omitted from API requests. However, any 2030 // non-pointer, non-interface field appearing in ForceSendFields will be 2031 // sent to the server regardless of whether the field is empty or not. 2032 // This may be used to include empty fields in Patch requests. 2033 ForceSendFields []string `json:"-"` 2034 2035 // NullFields is a list of field names (e.g. "Kind") to include in API 2036 // requests with the JSON null value. By default, fields with empty 2037 // values are omitted from API requests. However, any field with an 2038 // empty value appearing in NullFields will be sent to the server as 2039 // null. It is an error if a field in this list has a non-empty value. 2040 // This may be used to include null fields in Patch requests. 2041 NullFields []string `json:"-"` 2042 } 2043 2044 func (s *Query) MarshalJSON() ([]byte, error) { 2045 type NoMethod Query 2046 raw := NoMethod(*s) 2047 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2048 } 2049 2050 // QueryMetadata: Query metadata. 2051 type QueryMetadata struct { 2052 // DataRange: Range of report data. 2053 // 2054 // Possible values: 2055 // "CUSTOM_DATES" 2056 // "CURRENT_DAY" 2057 // "PREVIOUS_DAY" 2058 // "WEEK_TO_DATE" 2059 // "MONTH_TO_DATE" 2060 // "QUARTER_TO_DATE" 2061 // "YEAR_TO_DATE" 2062 // "PREVIOUS_WEEK" 2063 // "PREVIOUS_HALF_MONTH" 2064 // "PREVIOUS_MONTH" 2065 // "PREVIOUS_QUARTER" 2066 // "PREVIOUS_YEAR" 2067 // "LAST_7_DAYS" 2068 // "LAST_30_DAYS" 2069 // "LAST_90_DAYS" 2070 // "LAST_365_DAYS" 2071 // "ALL_TIME" 2072 // "LAST_14_DAYS" 2073 // "TYPE_NOT_SUPPORTED" 2074 // "LAST_60_DAYS" 2075 DataRange string `json:"dataRange,omitempty"` 2076 2077 // Format: Format of the generated report. 2078 // 2079 // Possible values: 2080 // "CSV" 2081 // "EXCEL_CSV" 2082 // "XLSX" 2083 Format string `json:"format,omitempty"` 2084 2085 // GoogleCloudStoragePathForLatestReport: The path to the location in 2086 // Google Cloud Storage where the latest report is stored. 2087 GoogleCloudStoragePathForLatestReport string `json:"googleCloudStoragePathForLatestReport,omitempty"` 2088 2089 // GoogleDrivePathForLatestReport: The path in Google Drive for the 2090 // latest report. 2091 GoogleDrivePathForLatestReport string `json:"googleDrivePathForLatestReport,omitempty"` 2092 2093 // LatestReportRunTimeMs: The time when the latest report started to 2094 // run. 2095 LatestReportRunTimeMs int64 `json:"latestReportRunTimeMs,omitempty,string"` 2096 2097 // Locale: Locale of the generated reports. Valid values are cs CZECH de 2098 // GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko 2099 // KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk 2100 // UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string 2101 // not in the list above will generate reports in English. 2102 Locale string `json:"locale,omitempty"` 2103 2104 // ReportCount: Number of reports that have been generated for the 2105 // query. 2106 ReportCount int64 `json:"reportCount,omitempty"` 2107 2108 // Running: Whether the latest report is currently running. 2109 Running bool `json:"running,omitempty"` 2110 2111 // SendNotification: Whether to send an email notification when a report 2112 // is ready. Default to false. 2113 SendNotification bool `json:"sendNotification,omitempty"` 2114 2115 // ShareEmailAddress: List of email addresses which are sent email 2116 // notifications when the report is finished. Separate from 2117 // sendNotification. 2118 ShareEmailAddress []string `json:"shareEmailAddress,omitempty"` 2119 2120 // Title: Query title. It is used to name the reports generated from 2121 // this query. 2122 Title string `json:"title,omitempty"` 2123 2124 // ForceSendFields is a list of field names (e.g. "DataRange") to 2125 // unconditionally include in API requests. By default, fields with 2126 // empty or default values are omitted from API requests. However, any 2127 // non-pointer, non-interface field appearing in ForceSendFields will be 2128 // sent to the server regardless of whether the field is empty or not. 2129 // This may be used to include empty fields in Patch requests. 2130 ForceSendFields []string `json:"-"` 2131 2132 // NullFields is a list of field names (e.g. "DataRange") to include in 2133 // API requests with the JSON null value. By default, fields with empty 2134 // values are omitted from API requests. However, any field with an 2135 // empty value appearing in NullFields will be sent to the server as 2136 // null. It is an error if a field in this list has a non-empty value. 2137 // This may be used to include null fields in Patch requests. 2138 NullFields []string `json:"-"` 2139 } 2140 2141 func (s *QueryMetadata) MarshalJSON() ([]byte, error) { 2142 type NoMethod QueryMetadata 2143 raw := NoMethod(*s) 2144 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2145 } 2146 2147 // QuerySchedule: Information on how frequently and when to run a query. 2148 type QuerySchedule struct { 2149 // EndTimeMs: Datetime to periodically run the query until. 2150 EndTimeMs int64 `json:"endTimeMs,omitempty,string"` 2151 2152 // Frequency: How often the query is run. 2153 // 2154 // Possible values: 2155 // "ONE_TIME" 2156 // "DAILY" 2157 // "WEEKLY" 2158 // "SEMI_MONTHLY" 2159 // "MONTHLY" 2160 // "QUARTERLY" 2161 // "YEARLY" 2162 Frequency string `json:"frequency,omitempty"` 2163 2164 // NextRunMinuteOfDay: Time of day at which a new report will be 2165 // generated, represented as minutes past midnight. Range is 0 to 1439. 2166 // Only applies to scheduled reports. 2167 NextRunMinuteOfDay int64 `json:"nextRunMinuteOfDay,omitempty"` 2168 2169 // NextRunTimezoneCode: Canonical timezone code for report generation 2170 // time. Defaults to America/New_York. 2171 NextRunTimezoneCode string `json:"nextRunTimezoneCode,omitempty"` 2172 2173 // StartTimeMs: When to start running the query. Not applicable to 2174 // `ONE_TIME` frequency. 2175 StartTimeMs int64 `json:"startTimeMs,omitempty,string"` 2176 2177 // ForceSendFields is a list of field names (e.g. "EndTimeMs") to 2178 // unconditionally include in API requests. By default, fields with 2179 // empty or default values are omitted from API requests. However, any 2180 // non-pointer, non-interface field appearing in ForceSendFields will be 2181 // sent to the server regardless of whether the field is empty or not. 2182 // This may be used to include empty fields in Patch requests. 2183 ForceSendFields []string `json:"-"` 2184 2185 // NullFields is a list of field names (e.g. "EndTimeMs") to include in 2186 // API requests with the JSON null value. By default, fields with empty 2187 // values are omitted from API requests. However, any field with an 2188 // empty value appearing in NullFields will be sent to the server as 2189 // null. It is an error if a field in this list has a non-empty value. 2190 // This may be used to include null fields in Patch requests. 2191 NullFields []string `json:"-"` 2192 } 2193 2194 func (s *QuerySchedule) MarshalJSON() ([]byte, error) { 2195 type NoMethod QuerySchedule 2196 raw := NoMethod(*s) 2197 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2198 } 2199 2200 // Report: Represents a report. 2201 type Report struct { 2202 // Key: Key used to identify a report. 2203 Key *ReportKey `json:"key,omitempty"` 2204 2205 // Metadata: Report metadata. 2206 Metadata *ReportMetadata `json:"metadata,omitempty"` 2207 2208 // Params: Report parameters. 2209 Params *Parameters `json:"params,omitempty"` 2210 2211 // ForceSendFields is a list of field names (e.g. "Key") to 2212 // unconditionally include in API requests. By default, fields with 2213 // empty or default values are omitted from API requests. However, any 2214 // non-pointer, non-interface field appearing in ForceSendFields will be 2215 // sent to the server regardless of whether the field is empty or not. 2216 // This may be used to include empty fields in Patch requests. 2217 ForceSendFields []string `json:"-"` 2218 2219 // NullFields is a list of field names (e.g. "Key") to include in API 2220 // requests with the JSON null value. By default, fields with empty 2221 // values are omitted from API requests. However, any field with an 2222 // empty value appearing in NullFields will be sent to the server as 2223 // null. It is an error if a field in this list has a non-empty value. 2224 // This may be used to include null fields in Patch requests. 2225 NullFields []string `json:"-"` 2226 } 2227 2228 func (s *Report) MarshalJSON() ([]byte, error) { 2229 type NoMethod Report 2230 raw := NoMethod(*s) 2231 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2232 } 2233 2234 // ReportFailure: An explanation of a report failure. 2235 type ReportFailure struct { 2236 // ErrorCode: Error code that shows why the report was not created. 2237 // 2238 // Possible values: 2239 // "AUTHENTICATION_ERROR" 2240 // "UNAUTHORIZED_API_ACCESS" 2241 // "SERVER_ERROR" 2242 // "VALIDATION_ERROR" 2243 // "REPORTING_FATAL_ERROR" 2244 // "REPORTING_TRANSIENT_ERROR" 2245 // "REPORTING_IMCOMPATIBLE_METRICS" 2246 // "REPORTING_ILLEGAL_FILENAME" 2247 // "REPORTING_QUERY_NOT_FOUND" 2248 // "REPORTING_BUCKET_NOT_FOUND" 2249 // "REPORTING_CREATE_BUCKET_FAILED" 2250 // "REPORTING_DELETE_BUCKET_FAILED" 2251 // "REPORTING_UPDATE_BUCKET_PERMISSION_FAILED" 2252 // "REPORTING_WRITE_BUCKET_OBJECT_FAILED" 2253 // "DEPRECATED_REPORTING_INVALID_QUERY" 2254 // "REPORTING_INVALID_QUERY_TOO_MANY_UNFILTERED_LARGE_GROUP_BYS" 2255 // "REPORTING_INVALID_QUERY_TITLE_MISSING" 2256 // "REPORTING_INVALID_QUERY_MISSING_PARTNER_AND_ADVERTISER_FILTERS" 2257 ErrorCode string `json:"errorCode,omitempty"` 2258 2259 // ForceSendFields is a list of field names (e.g. "ErrorCode") to 2260 // unconditionally include in API requests. By default, fields with 2261 // empty or default values are omitted from API requests. However, any 2262 // non-pointer, non-interface field appearing in ForceSendFields will be 2263 // sent to the server regardless of whether the field is empty or not. 2264 // This may be used to include empty fields in Patch requests. 2265 ForceSendFields []string `json:"-"` 2266 2267 // NullFields is a list of field names (e.g. "ErrorCode") to include in 2268 // API requests with the JSON null value. By default, fields with empty 2269 // values are omitted from API requests. However, any field with an 2270 // empty value appearing in NullFields will be sent to the server as 2271 // null. It is an error if a field in this list has a non-empty value. 2272 // This may be used to include null fields in Patch requests. 2273 NullFields []string `json:"-"` 2274 } 2275 2276 func (s *ReportFailure) MarshalJSON() ([]byte, error) { 2277 type NoMethod ReportFailure 2278 raw := NoMethod(*s) 2279 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2280 } 2281 2282 // ReportKey: Key used to identify a report. 2283 type ReportKey struct { 2284 // QueryId: Query ID. 2285 QueryId int64 `json:"queryId,omitempty,string"` 2286 2287 // ReportId: Report ID. 2288 ReportId int64 `json:"reportId,omitempty,string"` 2289 2290 // ForceSendFields is a list of field names (e.g. "QueryId") to 2291 // unconditionally include in API requests. By default, fields with 2292 // empty or default values are omitted from API requests. However, any 2293 // non-pointer, non-interface field appearing in ForceSendFields will be 2294 // sent to the server regardless of whether the field is empty or not. 2295 // This may be used to include empty fields in Patch requests. 2296 ForceSendFields []string `json:"-"` 2297 2298 // NullFields is a list of field names (e.g. "QueryId") to include in 2299 // API requests with the JSON null value. By default, fields with empty 2300 // values are omitted from API requests. However, any field with an 2301 // empty value appearing in NullFields will be sent to the server as 2302 // null. It is an error if a field in this list has a non-empty value. 2303 // This may be used to include null fields in Patch requests. 2304 NullFields []string `json:"-"` 2305 } 2306 2307 func (s *ReportKey) MarshalJSON() ([]byte, error) { 2308 type NoMethod ReportKey 2309 raw := NoMethod(*s) 2310 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2311 } 2312 2313 // ReportMetadata: Report metadata. 2314 type ReportMetadata struct { 2315 // GoogleCloudStoragePath: The path to the location in Google Cloud 2316 // Storage where the report is stored. 2317 GoogleCloudStoragePath string `json:"googleCloudStoragePath,omitempty"` 2318 2319 // ReportDataEndTimeMs: The ending time for the data that is shown in 2320 // the report. 2321 ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"` 2322 2323 // ReportDataStartTimeMs: The starting time for the data that is shown 2324 // in the report. 2325 ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"` 2326 2327 // Status: Report status. 2328 Status *ReportStatus `json:"status,omitempty"` 2329 2330 // ForceSendFields is a list of field names (e.g. 2331 // "GoogleCloudStoragePath") to unconditionally include in API requests. 2332 // By default, fields with empty or default values are omitted from API 2333 // requests. However, any non-pointer, non-interface field appearing in 2334 // ForceSendFields will be sent to the server regardless of whether the 2335 // field is empty or not. This may be used to include empty fields in 2336 // Patch requests. 2337 ForceSendFields []string `json:"-"` 2338 2339 // NullFields is a list of field names (e.g. "GoogleCloudStoragePath") 2340 // to include in API requests with the JSON null value. By default, 2341 // fields with empty values are omitted from API requests. However, any 2342 // field with an empty value appearing in NullFields will be sent to the 2343 // server as null. It is an error if a field in this list has a 2344 // non-empty value. This may be used to include null fields in Patch 2345 // requests. 2346 NullFields []string `json:"-"` 2347 } 2348 2349 func (s *ReportMetadata) MarshalJSON() ([]byte, error) { 2350 type NoMethod ReportMetadata 2351 raw := NoMethod(*s) 2352 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2353 } 2354 2355 // ReportStatus: Report status. 2356 type ReportStatus struct { 2357 // Failure: If the report failed, this records the cause. 2358 Failure *ReportFailure `json:"failure,omitempty"` 2359 2360 // FinishTimeMs: The time when this report either completed successfully 2361 // or failed. 2362 FinishTimeMs int64 `json:"finishTimeMs,omitempty,string"` 2363 2364 // Format: The file type of the report. 2365 // 2366 // Possible values: 2367 // "CSV" 2368 // "EXCEL_CSV" 2369 // "XLSX" 2370 Format string `json:"format,omitempty"` 2371 2372 // State: The state of the report. 2373 // 2374 // Possible values: 2375 // "RUNNING" 2376 // "DONE" 2377 // "FAILED" 2378 State string `json:"state,omitempty"` 2379 2380 // ForceSendFields is a list of field names (e.g. "Failure") to 2381 // unconditionally include in API requests. By default, fields with 2382 // empty or default values are omitted from API requests. However, any 2383 // non-pointer, non-interface field appearing in ForceSendFields will be 2384 // sent to the server regardless of whether the field is empty or not. 2385 // This may be used to include empty fields in Patch requests. 2386 ForceSendFields []string `json:"-"` 2387 2388 // NullFields is a list of field names (e.g. "Failure") to include in 2389 // API requests with the JSON null value. By default, fields with empty 2390 // values are omitted from API requests. However, any field with an 2391 // empty value appearing in NullFields will be sent to the server as 2392 // null. It is an error if a field in this list has a non-empty value. 2393 // This may be used to include null fields in Patch requests. 2394 NullFields []string `json:"-"` 2395 } 2396 2397 func (s *ReportStatus) MarshalJSON() ([]byte, error) { 2398 type NoMethod ReportStatus 2399 raw := NoMethod(*s) 2400 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2401 } 2402 2403 // Rule: A Rule defines a name, and a boolean expression in conjunctive 2404 // normal form (http: 2405 // //mathworld.wolfram.com/ConjunctiveNormalForm.html){.external} that 2406 // can be // applied to a path event to determine if that name should be 2407 // applied. 2408 type Rule struct { 2409 DisjunctiveMatchStatements []*DisjunctiveMatchStatement `json:"disjunctiveMatchStatements,omitempty"` 2410 2411 // Name: Rule name. 2412 Name string `json:"name,omitempty"` 2413 2414 // ForceSendFields is a list of field names (e.g. 2415 // "DisjunctiveMatchStatements") to unconditionally include in API 2416 // requests. By default, fields with empty or default values are omitted 2417 // from API requests. However, any non-pointer, non-interface field 2418 // appearing in ForceSendFields will be sent to the server regardless of 2419 // whether the field is empty or not. This may be used to include empty 2420 // fields in Patch requests. 2421 ForceSendFields []string `json:"-"` 2422 2423 // NullFields is a list of field names (e.g. 2424 // "DisjunctiveMatchStatements") to include in API requests with the 2425 // JSON null value. By default, fields with empty values are omitted 2426 // from API requests. However, any field with an empty value appearing 2427 // in NullFields will be sent to the server as null. It is an error if a 2428 // field in this list has a non-empty value. This may be used to include 2429 // null fields in Patch requests. 2430 NullFields []string `json:"-"` 2431 } 2432 2433 func (s *Rule) MarshalJSON() ([]byte, error) { 2434 type NoMethod Rule 2435 raw := NoMethod(*s) 2436 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2437 } 2438 2439 // RunQueryRequest: Request to run a stored query to generate a report. 2440 type RunQueryRequest struct { 2441 // DataRange: Report data range used to generate the report. 2442 // 2443 // Possible values: 2444 // "CUSTOM_DATES" 2445 // "CURRENT_DAY" 2446 // "PREVIOUS_DAY" 2447 // "WEEK_TO_DATE" 2448 // "MONTH_TO_DATE" 2449 // "QUARTER_TO_DATE" 2450 // "YEAR_TO_DATE" 2451 // "PREVIOUS_WEEK" 2452 // "PREVIOUS_HALF_MONTH" 2453 // "PREVIOUS_MONTH" 2454 // "PREVIOUS_QUARTER" 2455 // "PREVIOUS_YEAR" 2456 // "LAST_7_DAYS" 2457 // "LAST_30_DAYS" 2458 // "LAST_90_DAYS" 2459 // "LAST_365_DAYS" 2460 // "ALL_TIME" 2461 // "LAST_14_DAYS" 2462 // "TYPE_NOT_SUPPORTED" 2463 // "LAST_60_DAYS" 2464 DataRange string `json:"dataRange,omitempty"` 2465 2466 // ReportDataEndTimeMs: The ending time for the data that is shown in 2467 // the report. Note, reportDataEndTimeMs is required if dataRange is 2468 // CUSTOM_DATES and ignored otherwise. 2469 ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"` 2470 2471 // ReportDataStartTimeMs: The starting time for the data that is shown 2472 // in the report. Note, reportDataStartTimeMs is required if dataRange 2473 // is CUSTOM_DATES and ignored otherwise. 2474 ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"` 2475 2476 // TimezoneCode: Canonical timezone code for report data time. Defaults 2477 // to America/New_York. 2478 TimezoneCode string `json:"timezoneCode,omitempty"` 2479 2480 // ForceSendFields is a list of field names (e.g. "DataRange") to 2481 // unconditionally include in API requests. By default, fields with 2482 // empty or default values are omitted from API requests. However, any 2483 // non-pointer, non-interface field appearing in ForceSendFields will be 2484 // sent to the server regardless of whether the field is empty or not. 2485 // This may be used to include empty fields in Patch requests. 2486 ForceSendFields []string `json:"-"` 2487 2488 // NullFields is a list of field names (e.g. "DataRange") to include in 2489 // API requests with the JSON null value. By default, fields with empty 2490 // values are omitted from API requests. However, any field with an 2491 // empty value appearing in NullFields will be sent to the server as 2492 // null. It is an error if a field in this list has a non-empty value. 2493 // This may be used to include null fields in Patch requests. 2494 NullFields []string `json:"-"` 2495 } 2496 2497 func (s *RunQueryRequest) MarshalJSON() ([]byte, error) { 2498 type NoMethod RunQueryRequest 2499 raw := NoMethod(*s) 2500 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2501 } 2502 2503 // method id "doubleclickbidmanager.queries.createquery": 2504 2505 type QueriesCreatequeryCall struct { 2506 s *Service 2507 query *Query 2508 urlParams_ gensupport.URLParams 2509 ctx_ context.Context 2510 header_ http.Header 2511 } 2512 2513 // Createquery: Creates a query. 2514 func (r *QueriesService) Createquery(query *Query) *QueriesCreatequeryCall { 2515 c := &QueriesCreatequeryCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2516 c.query = query 2517 return c 2518 } 2519 2520 // Asynchronous sets the optional parameter "asynchronous": If true, 2521 // tries to run the query asynchronously. Only applicable when the 2522 // frequency is ONE_TIME. 2523 func (c *QueriesCreatequeryCall) Asynchronous(asynchronous bool) *QueriesCreatequeryCall { 2524 c.urlParams_.Set("asynchronous", fmt.Sprint(asynchronous)) 2525 return c 2526 } 2527 2528 // Fields allows partial responses to be retrieved. See 2529 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2530 // for more information. 2531 func (c *QueriesCreatequeryCall) Fields(s ...googleapi.Field) *QueriesCreatequeryCall { 2532 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2533 return c 2534 } 2535 2536 // Context sets the context to be used in this call's Do method. Any 2537 // pending HTTP request will be aborted if the provided context is 2538 // canceled. 2539 func (c *QueriesCreatequeryCall) Context(ctx context.Context) *QueriesCreatequeryCall { 2540 c.ctx_ = ctx 2541 return c 2542 } 2543 2544 // Header returns an http.Header that can be modified by the caller to 2545 // add HTTP headers to the request. 2546 func (c *QueriesCreatequeryCall) Header() http.Header { 2547 if c.header_ == nil { 2548 c.header_ = make(http.Header) 2549 } 2550 return c.header_ 2551 } 2552 2553 func (c *QueriesCreatequeryCall) doRequest(alt string) (*http.Response, error) { 2554 reqHeaders := make(http.Header) 2555 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2556 for k, v := range c.header_ { 2557 reqHeaders[k] = v 2558 } 2559 reqHeaders.Set("User-Agent", c.s.userAgent()) 2560 var body io.Reader = nil 2561 body, err := googleapi.WithoutDataWrapper.JSONReader(c.query) 2562 if err != nil { 2563 return nil, err 2564 } 2565 reqHeaders.Set("Content-Type", "application/json") 2566 c.urlParams_.Set("alt", alt) 2567 c.urlParams_.Set("prettyPrint", "false") 2568 urls := googleapi.ResolveRelative(c.s.BasePath, "query") 2569 urls += "?" + c.urlParams_.Encode() 2570 req, err := http.NewRequest("POST", urls, body) 2571 if err != nil { 2572 return nil, err 2573 } 2574 req.Header = reqHeaders 2575 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2576 } 2577 2578 // Do executes the "doubleclickbidmanager.queries.createquery" call. 2579 // Exactly one of *Query or error will be non-nil. Any non-2xx status 2580 // code is an error. Response headers are in either 2581 // *Query.ServerResponse.Header or (if a response was returned at all) 2582 // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 2583 // check whether the returned error was because http.StatusNotModified 2584 // was returned. 2585 func (c *QueriesCreatequeryCall) Do(opts ...googleapi.CallOption) (*Query, error) { 2586 gensupport.SetOptions(c.urlParams_, opts...) 2587 res, err := c.doRequest("json") 2588 if res != nil && res.StatusCode == http.StatusNotModified { 2589 if res.Body != nil { 2590 res.Body.Close() 2591 } 2592 return nil, gensupport.WrapError(&googleapi.Error{ 2593 Code: res.StatusCode, 2594 Header: res.Header, 2595 }) 2596 } 2597 if err != nil { 2598 return nil, err 2599 } 2600 defer googleapi.CloseBody(res) 2601 if err := googleapi.CheckResponse(res); err != nil { 2602 return nil, gensupport.WrapError(err) 2603 } 2604 ret := &Query{ 2605 ServerResponse: googleapi.ServerResponse{ 2606 Header: res.Header, 2607 HTTPStatusCode: res.StatusCode, 2608 }, 2609 } 2610 target := &ret 2611 if err := gensupport.DecodeResponse(target, res); err != nil { 2612 return nil, err 2613 } 2614 return ret, nil 2615 // { 2616 // "description": "Creates a query.", 2617 // "flatPath": "query", 2618 // "httpMethod": "POST", 2619 // "id": "doubleclickbidmanager.queries.createquery", 2620 // "parameterOrder": [], 2621 // "parameters": { 2622 // "asynchronous": { 2623 // "default": "false", 2624 // "description": "If true, tries to run the query asynchronously. Only applicable when the frequency is ONE_TIME.", 2625 // "location": "query", 2626 // "type": "boolean" 2627 // } 2628 // }, 2629 // "path": "query", 2630 // "request": { 2631 // "$ref": "Query" 2632 // }, 2633 // "response": { 2634 // "$ref": "Query" 2635 // }, 2636 // "scopes": [ 2637 // "https://www.googleapis.com/auth/doubleclickbidmanager" 2638 // ] 2639 // } 2640 2641 } 2642 2643 // method id "doubleclickbidmanager.queries.deletequery": 2644 2645 type QueriesDeletequeryCall struct { 2646 s *Service 2647 queryId int64 2648 urlParams_ gensupport.URLParams 2649 ctx_ context.Context 2650 header_ http.Header 2651 } 2652 2653 // Deletequery: Deletes a stored query as well as the associated stored 2654 // reports. 2655 // 2656 // - queryId: Query ID to delete. 2657 func (r *QueriesService) Deletequery(queryId int64) *QueriesDeletequeryCall { 2658 c := &QueriesDeletequeryCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2659 c.queryId = queryId 2660 return c 2661 } 2662 2663 // Fields allows partial responses to be retrieved. See 2664 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2665 // for more information. 2666 func (c *QueriesDeletequeryCall) Fields(s ...googleapi.Field) *QueriesDeletequeryCall { 2667 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2668 return c 2669 } 2670 2671 // Context sets the context to be used in this call's Do method. Any 2672 // pending HTTP request will be aborted if the provided context is 2673 // canceled. 2674 func (c *QueriesDeletequeryCall) Context(ctx context.Context) *QueriesDeletequeryCall { 2675 c.ctx_ = ctx 2676 return c 2677 } 2678 2679 // Header returns an http.Header that can be modified by the caller to 2680 // add HTTP headers to the request. 2681 func (c *QueriesDeletequeryCall) Header() http.Header { 2682 if c.header_ == nil { 2683 c.header_ = make(http.Header) 2684 } 2685 return c.header_ 2686 } 2687 2688 func (c *QueriesDeletequeryCall) doRequest(alt string) (*http.Response, error) { 2689 reqHeaders := make(http.Header) 2690 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2691 for k, v := range c.header_ { 2692 reqHeaders[k] = v 2693 } 2694 reqHeaders.Set("User-Agent", c.s.userAgent()) 2695 var body io.Reader = nil 2696 c.urlParams_.Set("alt", alt) 2697 c.urlParams_.Set("prettyPrint", "false") 2698 urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}") 2699 urls += "?" + c.urlParams_.Encode() 2700 req, err := http.NewRequest("DELETE", urls, body) 2701 if err != nil { 2702 return nil, err 2703 } 2704 req.Header = reqHeaders 2705 googleapi.Expand(req.URL, map[string]string{ 2706 "queryId": strconv.FormatInt(c.queryId, 10), 2707 }) 2708 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2709 } 2710 2711 // Do executes the "doubleclickbidmanager.queries.deletequery" call. 2712 func (c *QueriesDeletequeryCall) Do(opts ...googleapi.CallOption) error { 2713 gensupport.SetOptions(c.urlParams_, opts...) 2714 res, err := c.doRequest("json") 2715 if err != nil { 2716 return err 2717 } 2718 defer googleapi.CloseBody(res) 2719 if err := googleapi.CheckResponse(res); err != nil { 2720 return gensupport.WrapError(err) 2721 } 2722 return nil 2723 // { 2724 // "description": "Deletes a stored query as well as the associated stored reports.", 2725 // "flatPath": "query/{queryId}", 2726 // "httpMethod": "DELETE", 2727 // "id": "doubleclickbidmanager.queries.deletequery", 2728 // "parameterOrder": [ 2729 // "queryId" 2730 // ], 2731 // "parameters": { 2732 // "queryId": { 2733 // "description": "Query ID to delete.", 2734 // "format": "int64", 2735 // "location": "path", 2736 // "required": true, 2737 // "type": "string" 2738 // } 2739 // }, 2740 // "path": "query/{queryId}", 2741 // "scopes": [ 2742 // "https://www.googleapis.com/auth/doubleclickbidmanager" 2743 // ] 2744 // } 2745 2746 } 2747 2748 // method id "doubleclickbidmanager.queries.getquery": 2749 2750 type QueriesGetqueryCall struct { 2751 s *Service 2752 queryId int64 2753 urlParams_ gensupport.URLParams 2754 ifNoneMatch_ string 2755 ctx_ context.Context 2756 header_ http.Header 2757 } 2758 2759 // Getquery: Retrieves a stored query. 2760 // 2761 // - queryId: Query ID to retrieve. 2762 func (r *QueriesService) Getquery(queryId int64) *QueriesGetqueryCall { 2763 c := &QueriesGetqueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2764 c.queryId = queryId 2765 return c 2766 } 2767 2768 // Fields allows partial responses to be retrieved. See 2769 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2770 // for more information. 2771 func (c *QueriesGetqueryCall) Fields(s ...googleapi.Field) *QueriesGetqueryCall { 2772 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2773 return c 2774 } 2775 2776 // IfNoneMatch sets the optional parameter which makes the operation 2777 // fail if the object's ETag matches the given value. This is useful for 2778 // getting updates only after the object has changed since the last 2779 // request. Use googleapi.IsNotModified to check whether the response 2780 // error from Do is the result of In-None-Match. 2781 func (c *QueriesGetqueryCall) IfNoneMatch(entityTag string) *QueriesGetqueryCall { 2782 c.ifNoneMatch_ = entityTag 2783 return c 2784 } 2785 2786 // Context sets the context to be used in this call's Do method. Any 2787 // pending HTTP request will be aborted if the provided context is 2788 // canceled. 2789 func (c *QueriesGetqueryCall) Context(ctx context.Context) *QueriesGetqueryCall { 2790 c.ctx_ = ctx 2791 return c 2792 } 2793 2794 // Header returns an http.Header that can be modified by the caller to 2795 // add HTTP headers to the request. 2796 func (c *QueriesGetqueryCall) Header() http.Header { 2797 if c.header_ == nil { 2798 c.header_ = make(http.Header) 2799 } 2800 return c.header_ 2801 } 2802 2803 func (c *QueriesGetqueryCall) doRequest(alt string) (*http.Response, error) { 2804 reqHeaders := make(http.Header) 2805 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2806 for k, v := range c.header_ { 2807 reqHeaders[k] = v 2808 } 2809 reqHeaders.Set("User-Agent", c.s.userAgent()) 2810 if c.ifNoneMatch_ != "" { 2811 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2812 } 2813 var body io.Reader = nil 2814 c.urlParams_.Set("alt", alt) 2815 c.urlParams_.Set("prettyPrint", "false") 2816 urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}") 2817 urls += "?" + c.urlParams_.Encode() 2818 req, err := http.NewRequest("GET", urls, body) 2819 if err != nil { 2820 return nil, err 2821 } 2822 req.Header = reqHeaders 2823 googleapi.Expand(req.URL, map[string]string{ 2824 "queryId": strconv.FormatInt(c.queryId, 10), 2825 }) 2826 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2827 } 2828 2829 // Do executes the "doubleclickbidmanager.queries.getquery" call. 2830 // Exactly one of *Query or error will be non-nil. Any non-2xx status 2831 // code is an error. Response headers are in either 2832 // *Query.ServerResponse.Header or (if a response was returned at all) 2833 // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 2834 // check whether the returned error was because http.StatusNotModified 2835 // was returned. 2836 func (c *QueriesGetqueryCall) Do(opts ...googleapi.CallOption) (*Query, error) { 2837 gensupport.SetOptions(c.urlParams_, opts...) 2838 res, err := c.doRequest("json") 2839 if res != nil && res.StatusCode == http.StatusNotModified { 2840 if res.Body != nil { 2841 res.Body.Close() 2842 } 2843 return nil, gensupport.WrapError(&googleapi.Error{ 2844 Code: res.StatusCode, 2845 Header: res.Header, 2846 }) 2847 } 2848 if err != nil { 2849 return nil, err 2850 } 2851 defer googleapi.CloseBody(res) 2852 if err := googleapi.CheckResponse(res); err != nil { 2853 return nil, gensupport.WrapError(err) 2854 } 2855 ret := &Query{ 2856 ServerResponse: googleapi.ServerResponse{ 2857 Header: res.Header, 2858 HTTPStatusCode: res.StatusCode, 2859 }, 2860 } 2861 target := &ret 2862 if err := gensupport.DecodeResponse(target, res); err != nil { 2863 return nil, err 2864 } 2865 return ret, nil 2866 // { 2867 // "description": "Retrieves a stored query.", 2868 // "flatPath": "query/{queryId}", 2869 // "httpMethod": "GET", 2870 // "id": "doubleclickbidmanager.queries.getquery", 2871 // "parameterOrder": [ 2872 // "queryId" 2873 // ], 2874 // "parameters": { 2875 // "queryId": { 2876 // "description": "Query ID to retrieve.", 2877 // "format": "int64", 2878 // "location": "path", 2879 // "required": true, 2880 // "type": "string" 2881 // } 2882 // }, 2883 // "path": "query/{queryId}", 2884 // "response": { 2885 // "$ref": "Query" 2886 // }, 2887 // "scopes": [ 2888 // "https://www.googleapis.com/auth/doubleclickbidmanager" 2889 // ] 2890 // } 2891 2892 } 2893 2894 // method id "doubleclickbidmanager.queries.listqueries": 2895 2896 type QueriesListqueriesCall struct { 2897 s *Service 2898 urlParams_ gensupport.URLParams 2899 ifNoneMatch_ string 2900 ctx_ context.Context 2901 header_ http.Header 2902 } 2903 2904 // Listqueries: Retrieves stored queries. 2905 func (r *QueriesService) Listqueries() *QueriesListqueriesCall { 2906 c := &QueriesListqueriesCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2907 return c 2908 } 2909 2910 // PageSize sets the optional parameter "pageSize": Maximum number of 2911 // results per page. Must be between 1 and 100. Defaults to 100 if 2912 // unspecified. 2913 func (c *QueriesListqueriesCall) PageSize(pageSize int64) *QueriesListqueriesCall { 2914 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 2915 return c 2916 } 2917 2918 // PageToken sets the optional parameter "pageToken": Optional 2919 // pagination token. 2920 func (c *QueriesListqueriesCall) PageToken(pageToken string) *QueriesListqueriesCall { 2921 c.urlParams_.Set("pageToken", pageToken) 2922 return c 2923 } 2924 2925 // Fields allows partial responses to be retrieved. See 2926 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2927 // for more information. 2928 func (c *QueriesListqueriesCall) Fields(s ...googleapi.Field) *QueriesListqueriesCall { 2929 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2930 return c 2931 } 2932 2933 // IfNoneMatch sets the optional parameter which makes the operation 2934 // fail if the object's ETag matches the given value. This is useful for 2935 // getting updates only after the object has changed since the last 2936 // request. Use googleapi.IsNotModified to check whether the response 2937 // error from Do is the result of In-None-Match. 2938 func (c *QueriesListqueriesCall) IfNoneMatch(entityTag string) *QueriesListqueriesCall { 2939 c.ifNoneMatch_ = entityTag 2940 return c 2941 } 2942 2943 // Context sets the context to be used in this call's Do method. Any 2944 // pending HTTP request will be aborted if the provided context is 2945 // canceled. 2946 func (c *QueriesListqueriesCall) Context(ctx context.Context) *QueriesListqueriesCall { 2947 c.ctx_ = ctx 2948 return c 2949 } 2950 2951 // Header returns an http.Header that can be modified by the caller to 2952 // add HTTP headers to the request. 2953 func (c *QueriesListqueriesCall) Header() http.Header { 2954 if c.header_ == nil { 2955 c.header_ = make(http.Header) 2956 } 2957 return c.header_ 2958 } 2959 2960 func (c *QueriesListqueriesCall) doRequest(alt string) (*http.Response, error) { 2961 reqHeaders := make(http.Header) 2962 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2963 for k, v := range c.header_ { 2964 reqHeaders[k] = v 2965 } 2966 reqHeaders.Set("User-Agent", c.s.userAgent()) 2967 if c.ifNoneMatch_ != "" { 2968 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2969 } 2970 var body io.Reader = nil 2971 c.urlParams_.Set("alt", alt) 2972 c.urlParams_.Set("prettyPrint", "false") 2973 urls := googleapi.ResolveRelative(c.s.BasePath, "queries") 2974 urls += "?" + c.urlParams_.Encode() 2975 req, err := http.NewRequest("GET", urls, body) 2976 if err != nil { 2977 return nil, err 2978 } 2979 req.Header = reqHeaders 2980 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2981 } 2982 2983 // Do executes the "doubleclickbidmanager.queries.listqueries" call. 2984 // Exactly one of *ListQueriesResponse or error will be non-nil. Any 2985 // non-2xx status code is an error. Response headers are in either 2986 // *ListQueriesResponse.ServerResponse.Header or (if a response was 2987 // returned at all) in error.(*googleapi.Error).Header. Use 2988 // googleapi.IsNotModified to check whether the returned error was 2989 // because http.StatusNotModified was returned. 2990 func (c *QueriesListqueriesCall) Do(opts ...googleapi.CallOption) (*ListQueriesResponse, error) { 2991 gensupport.SetOptions(c.urlParams_, opts...) 2992 res, err := c.doRequest("json") 2993 if res != nil && res.StatusCode == http.StatusNotModified { 2994 if res.Body != nil { 2995 res.Body.Close() 2996 } 2997 return nil, gensupport.WrapError(&googleapi.Error{ 2998 Code: res.StatusCode, 2999 Header: res.Header, 3000 }) 3001 } 3002 if err != nil { 3003 return nil, err 3004 } 3005 defer googleapi.CloseBody(res) 3006 if err := googleapi.CheckResponse(res); err != nil { 3007 return nil, gensupport.WrapError(err) 3008 } 3009 ret := &ListQueriesResponse{ 3010 ServerResponse: googleapi.ServerResponse{ 3011 Header: res.Header, 3012 HTTPStatusCode: res.StatusCode, 3013 }, 3014 } 3015 target := &ret 3016 if err := gensupport.DecodeResponse(target, res); err != nil { 3017 return nil, err 3018 } 3019 return ret, nil 3020 // { 3021 // "description": "Retrieves stored queries.", 3022 // "flatPath": "queries", 3023 // "httpMethod": "GET", 3024 // "id": "doubleclickbidmanager.queries.listqueries", 3025 // "parameterOrder": [], 3026 // "parameters": { 3027 // "pageSize": { 3028 // "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.", 3029 // "format": "int32", 3030 // "location": "query", 3031 // "type": "integer" 3032 // }, 3033 // "pageToken": { 3034 // "description": "Optional pagination token.", 3035 // "location": "query", 3036 // "type": "string" 3037 // } 3038 // }, 3039 // "path": "queries", 3040 // "response": { 3041 // "$ref": "ListQueriesResponse" 3042 // }, 3043 // "scopes": [ 3044 // "https://www.googleapis.com/auth/doubleclickbidmanager" 3045 // ] 3046 // } 3047 3048 } 3049 3050 // Pages invokes f for each page of results. 3051 // A non-nil error returned from f will halt the iteration. 3052 // The provided context supersedes any context provided to the Context method. 3053 func (c *QueriesListqueriesCall) Pages(ctx context.Context, f func(*ListQueriesResponse) error) error { 3054 c.ctx_ = ctx 3055 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 3056 for { 3057 x, err := c.Do() 3058 if err != nil { 3059 return err 3060 } 3061 if err := f(x); err != nil { 3062 return err 3063 } 3064 if x.NextPageToken == "" { 3065 return nil 3066 } 3067 c.PageToken(x.NextPageToken) 3068 } 3069 } 3070 3071 // method id "doubleclickbidmanager.queries.runquery": 3072 3073 type QueriesRunqueryCall struct { 3074 s *Service 3075 queryId int64 3076 runqueryrequest *RunQueryRequest 3077 urlParams_ gensupport.URLParams 3078 ctx_ context.Context 3079 header_ http.Header 3080 } 3081 3082 // Runquery: Runs a stored query to generate a report. 3083 // 3084 // - queryId: Query ID to run. 3085 func (r *QueriesService) Runquery(queryId int64, runqueryrequest *RunQueryRequest) *QueriesRunqueryCall { 3086 c := &QueriesRunqueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3087 c.queryId = queryId 3088 c.runqueryrequest = runqueryrequest 3089 return c 3090 } 3091 3092 // Asynchronous sets the optional parameter "asynchronous": If true, 3093 // tries to run the query asynchronously. 3094 func (c *QueriesRunqueryCall) Asynchronous(asynchronous bool) *QueriesRunqueryCall { 3095 c.urlParams_.Set("asynchronous", fmt.Sprint(asynchronous)) 3096 return c 3097 } 3098 3099 // Fields allows partial responses to be retrieved. See 3100 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3101 // for more information. 3102 func (c *QueriesRunqueryCall) Fields(s ...googleapi.Field) *QueriesRunqueryCall { 3103 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3104 return c 3105 } 3106 3107 // Context sets the context to be used in this call's Do method. Any 3108 // pending HTTP request will be aborted if the provided context is 3109 // canceled. 3110 func (c *QueriesRunqueryCall) Context(ctx context.Context) *QueriesRunqueryCall { 3111 c.ctx_ = ctx 3112 return c 3113 } 3114 3115 // Header returns an http.Header that can be modified by the caller to 3116 // add HTTP headers to the request. 3117 func (c *QueriesRunqueryCall) Header() http.Header { 3118 if c.header_ == nil { 3119 c.header_ = make(http.Header) 3120 } 3121 return c.header_ 3122 } 3123 3124 func (c *QueriesRunqueryCall) doRequest(alt string) (*http.Response, error) { 3125 reqHeaders := make(http.Header) 3126 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 3127 for k, v := range c.header_ { 3128 reqHeaders[k] = v 3129 } 3130 reqHeaders.Set("User-Agent", c.s.userAgent()) 3131 var body io.Reader = nil 3132 body, err := googleapi.WithoutDataWrapper.JSONReader(c.runqueryrequest) 3133 if err != nil { 3134 return nil, err 3135 } 3136 reqHeaders.Set("Content-Type", "application/json") 3137 c.urlParams_.Set("alt", alt) 3138 c.urlParams_.Set("prettyPrint", "false") 3139 urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}") 3140 urls += "?" + c.urlParams_.Encode() 3141 req, err := http.NewRequest("POST", urls, body) 3142 if err != nil { 3143 return nil, err 3144 } 3145 req.Header = reqHeaders 3146 googleapi.Expand(req.URL, map[string]string{ 3147 "queryId": strconv.FormatInt(c.queryId, 10), 3148 }) 3149 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3150 } 3151 3152 // Do executes the "doubleclickbidmanager.queries.runquery" call. 3153 func (c *QueriesRunqueryCall) Do(opts ...googleapi.CallOption) error { 3154 gensupport.SetOptions(c.urlParams_, opts...) 3155 res, err := c.doRequest("json") 3156 if err != nil { 3157 return err 3158 } 3159 defer googleapi.CloseBody(res) 3160 if err := googleapi.CheckResponse(res); err != nil { 3161 return gensupport.WrapError(err) 3162 } 3163 return nil 3164 // { 3165 // "description": "Runs a stored query to generate a report.", 3166 // "flatPath": "query/{queryId}", 3167 // "httpMethod": "POST", 3168 // "id": "doubleclickbidmanager.queries.runquery", 3169 // "parameterOrder": [ 3170 // "queryId" 3171 // ], 3172 // "parameters": { 3173 // "asynchronous": { 3174 // "default": "false", 3175 // "description": "If true, tries to run the query asynchronously.", 3176 // "location": "query", 3177 // "type": "boolean" 3178 // }, 3179 // "queryId": { 3180 // "description": "Query ID to run.", 3181 // "format": "int64", 3182 // "location": "path", 3183 // "required": true, 3184 // "type": "string" 3185 // } 3186 // }, 3187 // "path": "query/{queryId}", 3188 // "request": { 3189 // "$ref": "RunQueryRequest" 3190 // }, 3191 // "scopes": [ 3192 // "https://www.googleapis.com/auth/doubleclickbidmanager" 3193 // ] 3194 // } 3195 3196 } 3197 3198 // method id "doubleclickbidmanager.reports.listreports": 3199 3200 type ReportsListreportsCall struct { 3201 s *Service 3202 queryId int64 3203 urlParams_ gensupport.URLParams 3204 ifNoneMatch_ string 3205 ctx_ context.Context 3206 header_ http.Header 3207 } 3208 3209 // Listreports: Retrieves stored reports. 3210 // 3211 // - queryId: Query ID with which the reports are associated. 3212 func (r *ReportsService) Listreports(queryId int64) *ReportsListreportsCall { 3213 c := &ReportsListreportsCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3214 c.queryId = queryId 3215 return c 3216 } 3217 3218 // PageSize sets the optional parameter "pageSize": Maximum number of 3219 // results per page. Must be between 1 and 100. Defaults to 100 if 3220 // unspecified. 3221 func (c *ReportsListreportsCall) PageSize(pageSize int64) *ReportsListreportsCall { 3222 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 3223 return c 3224 } 3225 3226 // PageToken sets the optional parameter "pageToken": Optional 3227 // pagination token. 3228 func (c *ReportsListreportsCall) PageToken(pageToken string) *ReportsListreportsCall { 3229 c.urlParams_.Set("pageToken", pageToken) 3230 return c 3231 } 3232 3233 // Fields allows partial responses to be retrieved. See 3234 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3235 // for more information. 3236 func (c *ReportsListreportsCall) Fields(s ...googleapi.Field) *ReportsListreportsCall { 3237 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3238 return c 3239 } 3240 3241 // IfNoneMatch sets the optional parameter which makes the operation 3242 // fail if the object's ETag matches the given value. This is useful for 3243 // getting updates only after the object has changed since the last 3244 // request. Use googleapi.IsNotModified to check whether the response 3245 // error from Do is the result of In-None-Match. 3246 func (c *ReportsListreportsCall) IfNoneMatch(entityTag string) *ReportsListreportsCall { 3247 c.ifNoneMatch_ = entityTag 3248 return c 3249 } 3250 3251 // Context sets the context to be used in this call's Do method. Any 3252 // pending HTTP request will be aborted if the provided context is 3253 // canceled. 3254 func (c *ReportsListreportsCall) Context(ctx context.Context) *ReportsListreportsCall { 3255 c.ctx_ = ctx 3256 return c 3257 } 3258 3259 // Header returns an http.Header that can be modified by the caller to 3260 // add HTTP headers to the request. 3261 func (c *ReportsListreportsCall) Header() http.Header { 3262 if c.header_ == nil { 3263 c.header_ = make(http.Header) 3264 } 3265 return c.header_ 3266 } 3267 3268 func (c *ReportsListreportsCall) doRequest(alt string) (*http.Response, error) { 3269 reqHeaders := make(http.Header) 3270 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 3271 for k, v := range c.header_ { 3272 reqHeaders[k] = v 3273 } 3274 reqHeaders.Set("User-Agent", c.s.userAgent()) 3275 if c.ifNoneMatch_ != "" { 3276 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3277 } 3278 var body io.Reader = nil 3279 c.urlParams_.Set("alt", alt) 3280 c.urlParams_.Set("prettyPrint", "false") 3281 urls := googleapi.ResolveRelative(c.s.BasePath, "queries/{queryId}/reports") 3282 urls += "?" + c.urlParams_.Encode() 3283 req, err := http.NewRequest("GET", urls, body) 3284 if err != nil { 3285 return nil, err 3286 } 3287 req.Header = reqHeaders 3288 googleapi.Expand(req.URL, map[string]string{ 3289 "queryId": strconv.FormatInt(c.queryId, 10), 3290 }) 3291 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3292 } 3293 3294 // Do executes the "doubleclickbidmanager.reports.listreports" call. 3295 // Exactly one of *ListReportsResponse or error will be non-nil. Any 3296 // non-2xx status code is an error. Response headers are in either 3297 // *ListReportsResponse.ServerResponse.Header or (if a response was 3298 // returned at all) in error.(*googleapi.Error).Header. Use 3299 // googleapi.IsNotModified to check whether the returned error was 3300 // because http.StatusNotModified was returned. 3301 func (c *ReportsListreportsCall) Do(opts ...googleapi.CallOption) (*ListReportsResponse, error) { 3302 gensupport.SetOptions(c.urlParams_, opts...) 3303 res, err := c.doRequest("json") 3304 if res != nil && res.StatusCode == http.StatusNotModified { 3305 if res.Body != nil { 3306 res.Body.Close() 3307 } 3308 return nil, gensupport.WrapError(&googleapi.Error{ 3309 Code: res.StatusCode, 3310 Header: res.Header, 3311 }) 3312 } 3313 if err != nil { 3314 return nil, err 3315 } 3316 defer googleapi.CloseBody(res) 3317 if err := googleapi.CheckResponse(res); err != nil { 3318 return nil, gensupport.WrapError(err) 3319 } 3320 ret := &ListReportsResponse{ 3321 ServerResponse: googleapi.ServerResponse{ 3322 Header: res.Header, 3323 HTTPStatusCode: res.StatusCode, 3324 }, 3325 } 3326 target := &ret 3327 if err := gensupport.DecodeResponse(target, res); err != nil { 3328 return nil, err 3329 } 3330 return ret, nil 3331 // { 3332 // "description": "Retrieves stored reports.", 3333 // "flatPath": "queries/{queryId}/reports", 3334 // "httpMethod": "GET", 3335 // "id": "doubleclickbidmanager.reports.listreports", 3336 // "parameterOrder": [ 3337 // "queryId" 3338 // ], 3339 // "parameters": { 3340 // "pageSize": { 3341 // "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.", 3342 // "format": "int32", 3343 // "location": "query", 3344 // "type": "integer" 3345 // }, 3346 // "pageToken": { 3347 // "description": "Optional pagination token.", 3348 // "location": "query", 3349 // "type": "string" 3350 // }, 3351 // "queryId": { 3352 // "description": "Query ID with which the reports are associated.", 3353 // "format": "int64", 3354 // "location": "path", 3355 // "required": true, 3356 // "type": "string" 3357 // } 3358 // }, 3359 // "path": "queries/{queryId}/reports", 3360 // "response": { 3361 // "$ref": "ListReportsResponse" 3362 // }, 3363 // "scopes": [ 3364 // "https://www.googleapis.com/auth/doubleclickbidmanager" 3365 // ] 3366 // } 3367 3368 } 3369 3370 // Pages invokes f for each page of results. 3371 // A non-nil error returned from f will halt the iteration. 3372 // The provided context supersedes any context provided to the Context method. 3373 func (c *ReportsListreportsCall) Pages(ctx context.Context, f func(*ListReportsResponse) error) error { 3374 c.ctx_ = ctx 3375 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 3376 for { 3377 x, err := c.Do() 3378 if err != nil { 3379 return err 3380 } 3381 if err := f(x); err != nil { 3382 return err 3383 } 3384 if x.NextPageToken == "" { 3385 return nil 3386 } 3387 c.PageToken(x.NextPageToken) 3388 } 3389 } 3390