// Copyright 2024 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package displayvideo provides access to the Display & Video 360 API. // // For product documentation, see: https://developers.google.com/display-video/ // // # Library status // // These client libraries are officially supported by Google. However, this // library is considered complete and is in maintenance mode. This means // that we will address critical bugs and security issues but will not add // any new features. // // When possible, we recommend using our newer // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) // that are still actively being worked and iterated on. // // # Creating a client // // Usage example: // // import "google.golang.org/api/displayvideo/v2" // ... // ctx := context.Background() // displayvideoService, err := displayvideo.NewService(ctx) // // In this example, Google Application Default Credentials are used for // authentication. For information on how to create and obtain Application // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // # Other authentication options // // By default, all available scopes (see "Constants") are used to authenticate. // To restrict scopes, use [google.golang.org/api/option.WithScopes]: // // displayvideoService, err := displayvideo.NewService(ctx, option.WithScopes(displayvideo.DoubleclickbidmanagerScope)) // // To use an API key for authentication (note: some APIs do not support API // keys), use [google.golang.org/api/option.WithAPIKey]: // // displayvideoService, err := displayvideo.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth // flow, use [google.golang.org/api/option.WithTokenSource]: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // displayvideoService, err := displayvideo.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] for details on options. package displayvideo // import "google.golang.org/api/displayvideo/v2" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint var _ = internal.Version const apiId = "displayvideo:v2" const apiName = "displayvideo" const apiVersion = "v2" const basePath = "https://displayvideo.googleapis.com/" const basePathTemplate = "https://displayvideo.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://displayvideo.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // Create, see, edit, and permanently delete your Display & Video 360 entities // and reports DisplayVideoScope = "https://www.googleapis.com/auth/display-video" // Create, see, and edit Display & Video 360 Campaign entities and see billing // invoices DisplayVideoMediaplanningScope = "https://www.googleapis.com/auth/display-video-mediaplanning" // Private Service: // https://www.googleapis.com/auth/display-video-user-management DisplayVideoUserManagementScope = "https://www.googleapis.com/auth/display-video-user-management" // View and manage your reports in DoubleClick Bid Manager DoubleclickbidmanagerScope = "https://www.googleapis.com/auth/doubleclickbidmanager" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/display-video", "https://www.googleapis.com/auth/display-video-mediaplanning", "https://www.googleapis.com/auth/display-video-user-management", "https://www.googleapis.com/auth/doubleclickbidmanager", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) opts = append(opts, internaloption.EnableNewAuthLibrary()) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Advertisers = NewAdvertisersService(s) s.CombinedAudiences = NewCombinedAudiencesService(s) s.CustomBiddingAlgorithms = NewCustomBiddingAlgorithmsService(s) s.CustomLists = NewCustomListsService(s) s.FirstAndThirdPartyAudiences = NewFirstAndThirdPartyAudiencesService(s) s.FloodlightGroups = NewFloodlightGroupsService(s) s.GoogleAudiences = NewGoogleAudiencesService(s) s.GuaranteedOrders = NewGuaranteedOrdersService(s) s.InventorySourceGroups = NewInventorySourceGroupsService(s) s.InventorySources = NewInventorySourcesService(s) s.Media = NewMediaService(s) s.Partners = NewPartnersService(s) s.Sdfdownloadtasks = NewSdfdownloadtasksService(s) s.TargetingTypes = NewTargetingTypesService(s) s.Users = NewUsersService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Advertisers *AdvertisersService CombinedAudiences *CombinedAudiencesService CustomBiddingAlgorithms *CustomBiddingAlgorithmsService CustomLists *CustomListsService FirstAndThirdPartyAudiences *FirstAndThirdPartyAudiencesService FloodlightGroups *FloodlightGroupsService GoogleAudiences *GoogleAudiencesService GuaranteedOrders *GuaranteedOrdersService InventorySourceGroups *InventorySourceGroupsService InventorySources *InventorySourcesService Media *MediaService Partners *PartnersService Sdfdownloadtasks *SdfdownloadtasksService TargetingTypes *TargetingTypesService Users *UsersService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewAdvertisersService(s *Service) *AdvertisersService { rs := &AdvertisersService{s: s} rs.Assets = NewAdvertisersAssetsService(s) rs.Campaigns = NewAdvertisersCampaignsService(s) rs.Channels = NewAdvertisersChannelsService(s) rs.Creatives = NewAdvertisersCreativesService(s) rs.InsertionOrders = NewAdvertisersInsertionOrdersService(s) rs.Invoices = NewAdvertisersInvoicesService(s) rs.LineItems = NewAdvertisersLineItemsService(s) rs.LocationLists = NewAdvertisersLocationListsService(s) rs.ManualTriggers = NewAdvertisersManualTriggersService(s) rs.NegativeKeywordLists = NewAdvertisersNegativeKeywordListsService(s) rs.TargetingTypes = NewAdvertisersTargetingTypesService(s) rs.YoutubeAdGroupAds = NewAdvertisersYoutubeAdGroupAdsService(s) rs.YoutubeAdGroups = NewAdvertisersYoutubeAdGroupsService(s) return rs } type AdvertisersService struct { s *Service Assets *AdvertisersAssetsService Campaigns *AdvertisersCampaignsService Channels *AdvertisersChannelsService Creatives *AdvertisersCreativesService InsertionOrders *AdvertisersInsertionOrdersService Invoices *AdvertisersInvoicesService LineItems *AdvertisersLineItemsService LocationLists *AdvertisersLocationListsService ManualTriggers *AdvertisersManualTriggersService NegativeKeywordLists *AdvertisersNegativeKeywordListsService TargetingTypes *AdvertisersTargetingTypesService YoutubeAdGroupAds *AdvertisersYoutubeAdGroupAdsService YoutubeAdGroups *AdvertisersYoutubeAdGroupsService } func NewAdvertisersAssetsService(s *Service) *AdvertisersAssetsService { rs := &AdvertisersAssetsService{s: s} return rs } type AdvertisersAssetsService struct { s *Service } func NewAdvertisersCampaignsService(s *Service) *AdvertisersCampaignsService { rs := &AdvertisersCampaignsService{s: s} rs.TargetingTypes = NewAdvertisersCampaignsTargetingTypesService(s) return rs } type AdvertisersCampaignsService struct { s *Service TargetingTypes *AdvertisersCampaignsTargetingTypesService } func NewAdvertisersCampaignsTargetingTypesService(s *Service) *AdvertisersCampaignsTargetingTypesService { rs := &AdvertisersCampaignsTargetingTypesService{s: s} rs.AssignedTargetingOptions = NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s) return rs } type AdvertisersCampaignsTargetingTypesService struct { s *Service AssignedTargetingOptions *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService } func NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService { rs := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService{s: s} return rs } type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService struct { s *Service } func NewAdvertisersChannelsService(s *Service) *AdvertisersChannelsService { rs := &AdvertisersChannelsService{s: s} rs.Sites = NewAdvertisersChannelsSitesService(s) return rs } type AdvertisersChannelsService struct { s *Service Sites *AdvertisersChannelsSitesService } func NewAdvertisersChannelsSitesService(s *Service) *AdvertisersChannelsSitesService { rs := &AdvertisersChannelsSitesService{s: s} return rs } type AdvertisersChannelsSitesService struct { s *Service } func NewAdvertisersCreativesService(s *Service) *AdvertisersCreativesService { rs := &AdvertisersCreativesService{s: s} return rs } type AdvertisersCreativesService struct { s *Service } func NewAdvertisersInsertionOrdersService(s *Service) *AdvertisersInsertionOrdersService { rs := &AdvertisersInsertionOrdersService{s: s} rs.TargetingTypes = NewAdvertisersInsertionOrdersTargetingTypesService(s) return rs } type AdvertisersInsertionOrdersService struct { s *Service TargetingTypes *AdvertisersInsertionOrdersTargetingTypesService } func NewAdvertisersInsertionOrdersTargetingTypesService(s *Service) *AdvertisersInsertionOrdersTargetingTypesService { rs := &AdvertisersInsertionOrdersTargetingTypesService{s: s} rs.AssignedTargetingOptions = NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s) return rs } type AdvertisersInsertionOrdersTargetingTypesService struct { s *Service AssignedTargetingOptions *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService } func NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService { rs := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService{s: s} return rs } type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService struct { s *Service } func NewAdvertisersInvoicesService(s *Service) *AdvertisersInvoicesService { rs := &AdvertisersInvoicesService{s: s} return rs } type AdvertisersInvoicesService struct { s *Service } func NewAdvertisersLineItemsService(s *Service) *AdvertisersLineItemsService { rs := &AdvertisersLineItemsService{s: s} rs.TargetingTypes = NewAdvertisersLineItemsTargetingTypesService(s) return rs } type AdvertisersLineItemsService struct { s *Service TargetingTypes *AdvertisersLineItemsTargetingTypesService } func NewAdvertisersLineItemsTargetingTypesService(s *Service) *AdvertisersLineItemsTargetingTypesService { rs := &AdvertisersLineItemsTargetingTypesService{s: s} rs.AssignedTargetingOptions = NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s) return rs } type AdvertisersLineItemsTargetingTypesService struct { s *Service AssignedTargetingOptions *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService } func NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService { rs := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService{s: s} return rs } type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService struct { s *Service } func NewAdvertisersLocationListsService(s *Service) *AdvertisersLocationListsService { rs := &AdvertisersLocationListsService{s: s} rs.AssignedLocations = NewAdvertisersLocationListsAssignedLocationsService(s) return rs } type AdvertisersLocationListsService struct { s *Service AssignedLocations *AdvertisersLocationListsAssignedLocationsService } func NewAdvertisersLocationListsAssignedLocationsService(s *Service) *AdvertisersLocationListsAssignedLocationsService { rs := &AdvertisersLocationListsAssignedLocationsService{s: s} return rs } type AdvertisersLocationListsAssignedLocationsService struct { s *Service } func NewAdvertisersManualTriggersService(s *Service) *AdvertisersManualTriggersService { rs := &AdvertisersManualTriggersService{s: s} return rs } type AdvertisersManualTriggersService struct { s *Service } func NewAdvertisersNegativeKeywordListsService(s *Service) *AdvertisersNegativeKeywordListsService { rs := &AdvertisersNegativeKeywordListsService{s: s} rs.NegativeKeywords = NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s) return rs } type AdvertisersNegativeKeywordListsService struct { s *Service NegativeKeywords *AdvertisersNegativeKeywordListsNegativeKeywordsService } func NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s *Service) *AdvertisersNegativeKeywordListsNegativeKeywordsService { rs := &AdvertisersNegativeKeywordListsNegativeKeywordsService{s: s} return rs } type AdvertisersNegativeKeywordListsNegativeKeywordsService struct { s *Service } func NewAdvertisersTargetingTypesService(s *Service) *AdvertisersTargetingTypesService { rs := &AdvertisersTargetingTypesService{s: s} rs.AssignedTargetingOptions = NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s) return rs } type AdvertisersTargetingTypesService struct { s *Service AssignedTargetingOptions *AdvertisersTargetingTypesAssignedTargetingOptionsService } func NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersTargetingTypesAssignedTargetingOptionsService { rs := &AdvertisersTargetingTypesAssignedTargetingOptionsService{s: s} return rs } type AdvertisersTargetingTypesAssignedTargetingOptionsService struct { s *Service } func NewAdvertisersYoutubeAdGroupAdsService(s *Service) *AdvertisersYoutubeAdGroupAdsService { rs := &AdvertisersYoutubeAdGroupAdsService{s: s} return rs } type AdvertisersYoutubeAdGroupAdsService struct { s *Service } func NewAdvertisersYoutubeAdGroupsService(s *Service) *AdvertisersYoutubeAdGroupsService { rs := &AdvertisersYoutubeAdGroupsService{s: s} rs.TargetingTypes = NewAdvertisersYoutubeAdGroupsTargetingTypesService(s) return rs } type AdvertisersYoutubeAdGroupsService struct { s *Service TargetingTypes *AdvertisersYoutubeAdGroupsTargetingTypesService } func NewAdvertisersYoutubeAdGroupsTargetingTypesService(s *Service) *AdvertisersYoutubeAdGroupsTargetingTypesService { rs := &AdvertisersYoutubeAdGroupsTargetingTypesService{s: s} rs.AssignedTargetingOptions = NewAdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService(s) return rs } type AdvertisersYoutubeAdGroupsTargetingTypesService struct { s *Service AssignedTargetingOptions *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService } func NewAdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService { rs := &AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService{s: s} return rs } type AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService struct { s *Service } func NewCombinedAudiencesService(s *Service) *CombinedAudiencesService { rs := &CombinedAudiencesService{s: s} return rs } type CombinedAudiencesService struct { s *Service } func NewCustomBiddingAlgorithmsService(s *Service) *CustomBiddingAlgorithmsService { rs := &CustomBiddingAlgorithmsService{s: s} rs.Scripts = NewCustomBiddingAlgorithmsScriptsService(s) return rs } type CustomBiddingAlgorithmsService struct { s *Service Scripts *CustomBiddingAlgorithmsScriptsService } func NewCustomBiddingAlgorithmsScriptsService(s *Service) *CustomBiddingAlgorithmsScriptsService { rs := &CustomBiddingAlgorithmsScriptsService{s: s} return rs } type CustomBiddingAlgorithmsScriptsService struct { s *Service } func NewCustomListsService(s *Service) *CustomListsService { rs := &CustomListsService{s: s} return rs } type CustomListsService struct { s *Service } func NewFirstAndThirdPartyAudiencesService(s *Service) *FirstAndThirdPartyAudiencesService { rs := &FirstAndThirdPartyAudiencesService{s: s} return rs } type FirstAndThirdPartyAudiencesService struct { s *Service } func NewFloodlightGroupsService(s *Service) *FloodlightGroupsService { rs := &FloodlightGroupsService{s: s} rs.FloodlightActivities = NewFloodlightGroupsFloodlightActivitiesService(s) return rs } type FloodlightGroupsService struct { s *Service FloodlightActivities *FloodlightGroupsFloodlightActivitiesService } func NewFloodlightGroupsFloodlightActivitiesService(s *Service) *FloodlightGroupsFloodlightActivitiesService { rs := &FloodlightGroupsFloodlightActivitiesService{s: s} return rs } type FloodlightGroupsFloodlightActivitiesService struct { s *Service } func NewGoogleAudiencesService(s *Service) *GoogleAudiencesService { rs := &GoogleAudiencesService{s: s} return rs } type GoogleAudiencesService struct { s *Service } func NewGuaranteedOrdersService(s *Service) *GuaranteedOrdersService { rs := &GuaranteedOrdersService{s: s} return rs } type GuaranteedOrdersService struct { s *Service } func NewInventorySourceGroupsService(s *Service) *InventorySourceGroupsService { rs := &InventorySourceGroupsService{s: s} rs.AssignedInventorySources = NewInventorySourceGroupsAssignedInventorySourcesService(s) return rs } type InventorySourceGroupsService struct { s *Service AssignedInventorySources *InventorySourceGroupsAssignedInventorySourcesService } func NewInventorySourceGroupsAssignedInventorySourcesService(s *Service) *InventorySourceGroupsAssignedInventorySourcesService { rs := &InventorySourceGroupsAssignedInventorySourcesService{s: s} return rs } type InventorySourceGroupsAssignedInventorySourcesService struct { s *Service } func NewInventorySourcesService(s *Service) *InventorySourcesService { rs := &InventorySourcesService{s: s} return rs } type InventorySourcesService struct { s *Service } func NewMediaService(s *Service) *MediaService { rs := &MediaService{s: s} return rs } type MediaService struct { s *Service } func NewPartnersService(s *Service) *PartnersService { rs := &PartnersService{s: s} rs.Channels = NewPartnersChannelsService(s) rs.TargetingTypes = NewPartnersTargetingTypesService(s) return rs } type PartnersService struct { s *Service Channels *PartnersChannelsService TargetingTypes *PartnersTargetingTypesService } func NewPartnersChannelsService(s *Service) *PartnersChannelsService { rs := &PartnersChannelsService{s: s} rs.Sites = NewPartnersChannelsSitesService(s) return rs } type PartnersChannelsService struct { s *Service Sites *PartnersChannelsSitesService } func NewPartnersChannelsSitesService(s *Service) *PartnersChannelsSitesService { rs := &PartnersChannelsSitesService{s: s} return rs } type PartnersChannelsSitesService struct { s *Service } func NewPartnersTargetingTypesService(s *Service) *PartnersTargetingTypesService { rs := &PartnersTargetingTypesService{s: s} rs.AssignedTargetingOptions = NewPartnersTargetingTypesAssignedTargetingOptionsService(s) return rs } type PartnersTargetingTypesService struct { s *Service AssignedTargetingOptions *PartnersTargetingTypesAssignedTargetingOptionsService } func NewPartnersTargetingTypesAssignedTargetingOptionsService(s *Service) *PartnersTargetingTypesAssignedTargetingOptionsService { rs := &PartnersTargetingTypesAssignedTargetingOptionsService{s: s} return rs } type PartnersTargetingTypesAssignedTargetingOptionsService struct { s *Service } func NewSdfdownloadtasksService(s *Service) *SdfdownloadtasksService { rs := &SdfdownloadtasksService{s: s} rs.Operations = NewSdfdownloadtasksOperationsService(s) return rs } type SdfdownloadtasksService struct { s *Service Operations *SdfdownloadtasksOperationsService } func NewSdfdownloadtasksOperationsService(s *Service) *SdfdownloadtasksOperationsService { rs := &SdfdownloadtasksOperationsService{s: s} return rs } type SdfdownloadtasksOperationsService struct { s *Service } func NewTargetingTypesService(s *Service) *TargetingTypesService { rs := &TargetingTypesService{s: s} rs.TargetingOptions = NewTargetingTypesTargetingOptionsService(s) return rs } type TargetingTypesService struct { s *Service TargetingOptions *TargetingTypesTargetingOptionsService } func NewTargetingTypesTargetingOptionsService(s *Service) *TargetingTypesTargetingOptionsService { rs := &TargetingTypesTargetingOptionsService{s: s} return rs } type TargetingTypesTargetingOptionsService struct { s *Service } func NewUsersService(s *Service) *UsersService { rs := &UsersService{s: s} return rs } type UsersService struct { s *Service } // ActivateManualTriggerRequest: Request message for // ManualTriggerService.ActivateManualTrigger. type ActivateManualTriggerRequest struct { } // ActiveViewVideoViewabilityMetricConfig: Configuration for custom Active View // video viewability metrics. type ActiveViewVideoViewabilityMetricConfig struct { // DisplayName: Required. The display name of the custom metric. DisplayName string `json:"displayName,omitempty"` // MinimumDuration: The minimum visible video duration required (in seconds) in // order for an impression to be recorded. You must specify minimum_duration, // minimum_quartile or both. If both are specified, an impression meets the // metric criteria if either requirement is met (whichever happens first). // // Possible values: // "VIDEO_DURATION_UNSPECIFIED" - Value is not specified or is unknown in // this version. // "VIDEO_DURATION_SECONDS_NONE" - No duration value. // "VIDEO_DURATION_SECONDS_0" - 0 seconds. // "VIDEO_DURATION_SECONDS_1" - 1 second. // "VIDEO_DURATION_SECONDS_2" - 2 seconds. // "VIDEO_DURATION_SECONDS_3" - 3 seconds. // "VIDEO_DURATION_SECONDS_4" - 4 seconds. // "VIDEO_DURATION_SECONDS_5" - 5 seconds. // "VIDEO_DURATION_SECONDS_6" - 6 seconds. // "VIDEO_DURATION_SECONDS_7" - 7 seconds. // "VIDEO_DURATION_SECONDS_8" - 8 seconds. // "VIDEO_DURATION_SECONDS_9" - 9 seconds. // "VIDEO_DURATION_SECONDS_10" - 10 seconds. // "VIDEO_DURATION_SECONDS_11" - 11 seconds. // "VIDEO_DURATION_SECONDS_12" - 12 seconds. // "VIDEO_DURATION_SECONDS_13" - 13 seconds. // "VIDEO_DURATION_SECONDS_14" - 14 seconds. // "VIDEO_DURATION_SECONDS_15" - 15 seconds. // "VIDEO_DURATION_SECONDS_30" - 30 seconds. // "VIDEO_DURATION_SECONDS_45" - 45 seconds. // "VIDEO_DURATION_SECONDS_60" - 60 seconds. MinimumDuration string `json:"minimumDuration,omitempty"` // MinimumQuartile: The minimum visible video duration required, based on the // video quartiles, in order for an impression to be recorded. You must specify // minimum_duration, minimum_quartile or both. If both are specified, an // impression meets the metric criteria if either requirement is met (whichever // happens first). // // Possible values: // "VIDEO_DURATION_QUARTILE_UNSPECIFIED" - Value is not specified or is // unknown in this version. // "VIDEO_DURATION_QUARTILE_NONE" - No quartile value. // "VIDEO_DURATION_QUARTILE_FIRST" - First quartile. // "VIDEO_DURATION_QUARTILE_SECOND" - Second quartile (midpoint). // "VIDEO_DURATION_QUARTILE_THIRD" - Third quartile. // "VIDEO_DURATION_QUARTILE_FOURTH" - Fourth quartile (completion). MinimumQuartile string `json:"minimumQuartile,omitempty"` // MinimumViewability: Required. The minimum percentage of the video ad's // pixels visible on the screen in order for an impression to be recorded. // // Possible values: // "VIEWABILITY_PERCENT_UNSPECIFIED" - Value is not specified or is unknown // in this version. // "VIEWABILITY_PERCENT_0" - 0% viewable. // "VIEWABILITY_PERCENT_25" - 25% viewable. // "VIEWABILITY_PERCENT_50" - 50% viewable. // "VIEWABILITY_PERCENT_75" - 75% viewable. // "VIEWABILITY_PERCENT_100" - 100% viewable. MinimumViewability string `json:"minimumViewability,omitempty"` // MinimumVolume: Required. The minimum percentage of the video ad's volume // required in order for an impression to be recorded. // // Possible values: // "VIDEO_VOLUME_PERCENT_UNSPECIFIED" - Value is not specified or is unknown // in this version. // "VIDEO_VOLUME_PERCENT_0" - 0% volume. // "VIDEO_VOLUME_PERCENT_10" - 10% volume. MinimumVolume string `json:"minimumVolume,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActiveViewVideoViewabilityMetricConfig) MarshalJSON() ([]byte, error) { type NoMethod ActiveViewVideoViewabilityMetricConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdUrl: Additional URLs related to the ad, including beacons. type AdUrl struct { // Type: The type of the Ad URL. // // Possible values: // "AD_URL_TYPE_UNSPECIFIED" - Unknown or unspecified. // "AD_URL_TYPE_BEACON_IMPRESSION" - A 1x1 tracking pixel to ping when an // impression of a creative is delivered. // "AD_URL_TYPE_BEACON_EXPANDABLE_DCM_IMPRESSION" - Expandable DCM impression // beacon. At serving time, it is expanded to several beacons. // "AD_URL_TYPE_BEACON_CLICK" - Tracking URL to ping when the click event is // triggered. // "AD_URL_TYPE_BEACON_SKIP" - Tracking URL to ping when the skip event is // triggered. Type string `json:"type,omitempty"` // Url: The URL string value. Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Type") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AdUrl) MarshalJSON() ([]byte, error) { type NoMethod AdUrl return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Adloox: Details of Adloox settings. type Adloox struct { // ExcludedAdlooxCategories: Adloox's brand safety settings. // // Possible values: // "ADLOOX_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any Adloox option. // "ADULT_CONTENT_HARD" - Adult content (hard). // "ADULT_CONTENT_SOFT" - Adult content (soft). // "ILLEGAL_CONTENT" - Illegal content. // "BORDERLINE_CONTENT" - Borderline content. // "DISCRIMINATORY_CONTENT" - Discriminatory content. // "VIOLENT_CONTENT_WEAPONS" - Violent content & weapons. // "LOW_VIEWABILITY_DOMAINS" - Low viewability domains. // "FRAUD" - Fraud. ExcludedAdlooxCategories []string `json:"excludedAdlooxCategories,omitempty"` // ForceSendFields is a list of field names (e.g. "ExcludedAdlooxCategories") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ExcludedAdlooxCategories") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Adloox) MarshalJSON() ([]byte, error) { type NoMethod Adloox return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Advertiser: A single advertiser in Display & Video 360 (DV360). type Advertiser struct { // AdServerConfig: Required. Immutable. Ad server related settings of the // advertiser. AdServerConfig *AdvertiserAdServerConfig `json:"adServerConfig,omitempty"` // AdvertiserId: Output only. The unique ID of the advertiser. Assigned by the // system. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // BillingConfig: Optional. Required. Billing related settings of the // advertiser. BillingConfig *AdvertiserBillingConfig `json:"billingConfig,omitempty"` // CreativeConfig: Required. Creative related settings of the advertiser. CreativeConfig *AdvertiserCreativeConfig `json:"creativeConfig,omitempty"` // DataAccessConfig: Settings that control how advertiser data may be accessed. DataAccessConfig *AdvertiserDataAccessConfig `json:"dataAccessConfig,omitempty"` // DisplayName: Required. The display name of the advertiser. Must be UTF-8 // encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // EntityStatus: Required. Controls whether or not insertion orders and line // items of the advertiser can spend their budgets and bid on inventory. * // Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and // `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to // `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 // days from when it was first scheduled for deletion. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // GeneralConfig: Required. General settings of the advertiser. GeneralConfig *AdvertiserGeneralConfig `json:"generalConfig,omitempty"` // IntegrationDetails: Integration details of the advertiser. Only // integrationCode is currently applicable to advertiser. Other fields of // IntegrationDetails are not supported and will be ignored if provided. IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"` // Name: Output only. The resource name of the advertiser. Name string `json:"name,omitempty"` // PartnerId: Required. Immutable. The unique ID of the partner that the // advertiser belongs to. PartnerId int64 `json:"partnerId,omitempty,string"` // PrismaEnabled: Whether integration with Mediaocean (Prisma) is enabled. By // enabling this, you agree to the following: On behalf of my company, I // authorize Mediaocean (Prisma) to send budget segment plans to Google, and I // authorize Google to send corresponding reporting and invoices from DV360 to // Mediaocean for the purposes of budget planning, billing, and reconciliation // for this advertiser. PrismaEnabled bool `json:"prismaEnabled,omitempty"` // ServingConfig: Targeting settings related to ad serving of the advertiser. ServingConfig *AdvertiserTargetingConfig `json:"servingConfig,omitempty"` // UpdateTime: Output only. The timestamp when the advertiser was last updated. // Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdServerConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdServerConfig") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Advertiser) MarshalJSON() ([]byte, error) { type NoMethod Advertiser return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdvertiserAdServerConfig: Ad server related settings of an advertiser. type AdvertiserAdServerConfig struct { // CmHybridConfig: The configuration for advertisers that use both Campaign // Manager 360 (CM360) and third-party ad servers. CmHybridConfig *CmHybridConfig `json:"cmHybridConfig,omitempty"` // ThirdPartyOnlyConfig: The configuration for advertisers that use third-party // ad servers only. ThirdPartyOnlyConfig *ThirdPartyOnlyConfig `json:"thirdPartyOnlyConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "CmHybridConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CmHybridConfig") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AdvertiserAdServerConfig) MarshalJSON() ([]byte, error) { type NoMethod AdvertiserAdServerConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdvertiserBillingConfig: Billing related settings of an advertiser. type AdvertiserBillingConfig struct { // BillingProfileId: Optional. The ID of a billing profile assigned to the // advertiser. BillingProfileId int64 `json:"billingProfileId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "BillingProfileId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BillingProfileId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AdvertiserBillingConfig) MarshalJSON() ([]byte, error) { type NoMethod AdvertiserBillingConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdvertiserCreativeConfig: Creatives related settings of an advertiser. type AdvertiserCreativeConfig struct { // DynamicCreativeEnabled: Whether or not the advertiser is enabled for dynamic // creatives. DynamicCreativeEnabled bool `json:"dynamicCreativeEnabled,omitempty"` // IasClientId: An ID for configuring campaign monitoring provided by Integral // Ad Service (IAS). The DV360 system will append an IAS "Campaign Monitor" tag // containing this ID to the creative tag. IasClientId int64 `json:"iasClientId,omitempty,string"` // ObaComplianceDisabled: Whether or not to disable Google's About this Ad // feature that adds badging (to identify the content as an ad) and // transparency information (on interaction with About this Ad) to your ads for // Online Behavioral Advertising (OBA) and regulatory requirements. About this // Ad gives users greater control over the ads they see and helps you explain // why they're seeing your ad. Learn more // (//support.google.com/displayvideo/answer/14315795). If you choose to set // this field to `true`, note that ads served through Display & Video 360 must // comply to the following: * Be Online Behavioral Advertising (OBA) compliant, // as per your contract with Google Marketing Platform. * In the European // Economic Area (EEA), include transparency information and a mechanism for // users to report illegal content in ads. If using an alternative ad badging, // transparency, and reporting solution, you must ensure it includes the // required transparency information and illegal content flagging mechanism and // that you notify Google of any illegal content reports using the appropriate // form // (//support.google.com/legal/troubleshooter/1114905?sjid=6787484030557261960-E // U#ts=2981967%2C2982031%2C12980091). ObaComplianceDisabled bool `json:"obaComplianceDisabled,omitempty"` // VideoCreativeDataSharingAuthorized: By setting this field to `true`, you, on // behalf of your company, authorize Google to use video creatives associated // with this Display & Video 360 advertiser to provide reporting and features // related to the advertiser's television campaigns. Applicable only when the // advertiser has a CM360 hybrid ad server configuration. VideoCreativeDataSharingAuthorized bool `json:"videoCreativeDataSharingAuthorized,omitempty"` // ForceSendFields is a list of field names (e.g. "DynamicCreativeEnabled") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DynamicCreativeEnabled") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AdvertiserCreativeConfig) MarshalJSON() ([]byte, error) { type NoMethod AdvertiserCreativeConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdvertiserDataAccessConfig: Settings that control how advertiser related // data may be accessed. type AdvertiserDataAccessConfig struct { // SdfConfig: Structured Data Files (SDF) settings for the advertiser. If not // specified, the SDF settings of the parent partner are used. SdfConfig *AdvertiserSdfConfig `json:"sdfConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "SdfConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "SdfConfig") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AdvertiserDataAccessConfig) MarshalJSON() ([]byte, error) { type NoMethod AdvertiserDataAccessConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdvertiserGeneralConfig: General settings of an advertiser. type AdvertiserGeneralConfig struct { // CurrencyCode: Required. Immutable. Advertiser's currency in ISO 4217 format. // Accepted codes and the currencies they represent are: Currency Code : // Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` : // Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` : // Chilean Peso * `CNY` : Chinese Yuan * `COP` : Colombian Peso * `CZK` : Czech // Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : Euro * // `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint // * `IDR` : Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee // * `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican Pesos * // `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone // * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish // Zloty * `RON` : New Romanian Leu * `RUB` : Russian Ruble * `SEK` : Swedish // Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US Dollar // * `ZAR` : South African Rand CurrencyCode string `json:"currencyCode,omitempty"` // DomainUrl: Required. The domain URL of the advertiser's primary website. The // system will send this information to publishers that require website URL to // associate a campaign with an advertiser. Provide a URL with no path or query // string, beginning with `http:` or `https:`. For example, // http://www.example.com DomainUrl string `json:"domainUrl,omitempty"` // TimeZone: Output only. The standard TZ database name of the advertiser's // time zone. For example, `America/New_York`. See more at: // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360 // hybrid advertisers, the time zone is the same as that of the associated // CM360 account; for third-party only advertisers, the time zone is the same // as that of the parent partner. TimeZone string `json:"timeZone,omitempty"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CurrencyCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AdvertiserGeneralConfig) MarshalJSON() ([]byte, error) { type NoMethod AdvertiserGeneralConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdvertiserSdfConfig: Structured Data Files (SDF) settings of an advertiser. type AdvertiserSdfConfig struct { // OverridePartnerSdfConfig: Whether or not this advertiser overrides the SDF // configuration of its parent partner. By default, an advertiser inherits the // SDF configuration from the parent partner. To override the partner // configuration, set this field to `true` and provide the new configuration in // sdfConfig. OverridePartnerSdfConfig bool `json:"overridePartnerSdfConfig,omitempty"` // SdfConfig: The SDF configuration for the advertiser. * Required when // overridePartnerSdfConfig is `true`. * Output only when // overridePartnerSdfConfig is `false`. SdfConfig *SdfConfig `json:"sdfConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "OverridePartnerSdfConfig") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "OverridePartnerSdfConfig") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AdvertiserSdfConfig) MarshalJSON() ([]byte, error) { type NoMethod AdvertiserSdfConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AdvertiserTargetingConfig: Targeting settings related to ad serving of an // advertiser. type AdvertiserTargetingConfig struct { // ExemptTvFromViewabilityTargeting: Whether or not connected TV devices are // exempt from viewability targeting for all video line items under the // advertiser. ExemptTvFromViewabilityTargeting bool `json:"exemptTvFromViewabilityTargeting,omitempty"` // ForceSendFields is a list of field names (e.g. // "ExemptTvFromViewabilityTargeting") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "ExemptTvFromViewabilityTargeting") to include in API requests with the JSON // null value. By default, fields with empty values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for // more details. NullFields []string `json:"-"` } func (s *AdvertiserTargetingConfig) MarshalJSON() ([]byte, error) { type NoMethod AdvertiserTargetingConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgeRangeAssignedTargetingOptionDetails: Represents a targetable age range. // This will be populated in the details field of an AssignedTargetingOption // when targeting_type is `TARGETING_TYPE_AGE_RANGE`. type AgeRangeAssignedTargetingOptionDetails struct { // AgeRange: Required. The age range of an audience. We only support targeting // a continuous age range of an audience. Thus, the age range represented in // this field can be 1) targeted solely, or, 2) part of a larger continuous age // range. The reach of a continuous age range targeting can be expanded by also // targeting an audience of an unknown age. // // Possible values: // "AGE_RANGE_UNSPECIFIED" - Default value when age range is not specified in // this version. This enum is a placeholder for default value and does not // represent a real age range option. // "AGE_RANGE_18_24" - The age range of the audience is 18 to 24. // "AGE_RANGE_25_34" - The age range of the audience is 25 to 34. // "AGE_RANGE_35_44" - The age range of the audience is 35 to 44. // "AGE_RANGE_45_54" - The age range of the audience is 45 to 54. // "AGE_RANGE_55_64" - The age range of the audience is 55 to 64. // "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up. // "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown. // "AGE_RANGE_18_20" - The age range of the audience is 18 to 20, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_21_24" - The age range of the audience is 21 to 24, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_25_29" - The age range of the audience is 25 to 29, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_30_34" - The age range of the audience is 30 to 34, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_35_39" - The age range of the audience is 35 to 39, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_40_44" - The age range of the audience is 40 to 44, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_45_49" - The age range of the audience is 45 to 49, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_50_54" - The age range of the audience is 50 to 54, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_55_59" - The age range of the audience is 55 to 59, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_60_64" - The age range of the audience is 60 to 64, only // supported for the AdGroup of YouTube Programmatic Reservation line item. AgeRange string `json:"ageRange,omitempty"` // ForceSendFields is a list of field names (e.g. "AgeRange") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AgeRange") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgeRangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AgeRangeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgeRangeTargetingOptionDetails: Represents a targetable age range. This will // be populated in the age_range_details field when targeting_type is // `TARGETING_TYPE_AGE_RANGE`. type AgeRangeTargetingOptionDetails struct { // AgeRange: Output only. The age range of an audience. // // Possible values: // "AGE_RANGE_UNSPECIFIED" - Default value when age range is not specified in // this version. This enum is a placeholder for default value and does not // represent a real age range option. // "AGE_RANGE_18_24" - The age range of the audience is 18 to 24. // "AGE_RANGE_25_34" - The age range of the audience is 25 to 34. // "AGE_RANGE_35_44" - The age range of the audience is 35 to 44. // "AGE_RANGE_45_54" - The age range of the audience is 45 to 54. // "AGE_RANGE_55_64" - The age range of the audience is 55 to 64. // "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up. // "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown. // "AGE_RANGE_18_20" - The age range of the audience is 18 to 20, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_21_24" - The age range of the audience is 21 to 24, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_25_29" - The age range of the audience is 25 to 29, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_30_34" - The age range of the audience is 30 to 34, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_35_39" - The age range of the audience is 35 to 39, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_40_44" - The age range of the audience is 40 to 44, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_45_49" - The age range of the audience is 45 to 49, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_50_54" - The age range of the audience is 50 to 54, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_55_59" - The age range of the audience is 55 to 59, only // supported for the AdGroup of YouTube Programmatic Reservation line item. // "AGE_RANGE_60_64" - The age range of the audience is 60 to 64, only // supported for the AdGroup of YouTube Programmatic Reservation line item. AgeRange string `json:"ageRange,omitempty"` // ForceSendFields is a list of field names (e.g. "AgeRange") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AgeRange") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgeRangeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AgeRangeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AppAssignedTargetingOptionDetails: Details for assigned app targeting // option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`. type AppAssignedTargetingOptionDetails struct { // AppId: Required. The ID of the app. Android's Play store app uses bundle ID, // for example `com.google.android.gm`. Apple's App store app ID uses 9 digit // string, for example `422689480`. AppId string `json:"appId,omitempty"` // AppPlatform: Indicates the platform of the targeted app. If this field is // not specified, the app platform will be assumed to be mobile (i.e., Android // or iOS), and we will derive the appropriate mobile platform from the app ID. // // Possible values: // "APP_PLATFORM_UNSPECIFIED" - Default value when app platform is not // specified in this version. This enum is a placeholder for default value and // does not represent a real platform option. // "APP_PLATFORM_IOS" - The app platform is iOS. // "APP_PLATFORM_ANDROID" - The app platform is Android. // "APP_PLATFORM_ROKU" - The app platform is Roku. // "APP_PLATFORM_AMAZON_FIRETV" - The app platform is Amazon FireTV. // "APP_PLATFORM_PLAYSTATION" - The app platform is Playstation. // "APP_PLATFORM_APPLE_TV" - The app platform is Apple TV. // "APP_PLATFORM_XBOX" - The app platform is Xbox. // "APP_PLATFORM_SAMSUNG_TV" - The app platform is Samsung TV. // "APP_PLATFORM_ANDROID_TV" - The app platform is Android TV. // "APP_PLATFORM_GENERIC_CTV" - The app platform is a CTV platform that is // not explicitly listed elsewhere. // "APP_PLATFORM_LG_TV" - The app platform is LG TV. // "APP_PLATFORM_VIZIO_TV" - The app platform is VIZIO TV. AppPlatform string `json:"appPlatform,omitempty"` // DisplayName: Output only. The display name of the app. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // ForceSendFields is a list of field names (e.g. "AppId") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AppId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AppAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AppAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AppCategoryAssignedTargetingOptionDetails: Details for assigned app category // targeting option. This will be populated in the app_category_details field // of an AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_APP_CATEGORY`. type AppCategoryAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the app category. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_APP_CATEGORY`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AppCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AppCategoryAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AppCategoryTargetingOptionDetails: Represents a targetable collection of // apps. A collection lets you target dynamic groups of related apps that are // maintained by the platform, for example `All Apps/Google Play/Games`. This // will be populated in the app_category_details field when targeting_type is // `TARGETING_TYPE_APP_CATEGORY`. type AppCategoryTargetingOptionDetails struct { // DisplayName: Output only. The name of the app collection. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AppCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AppCategoryTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Asset: A single asset. type Asset struct { // Content: The asset content. For uploaded assets, the content is the serving // path. Content string `json:"content,omitempty"` // MediaId: Media ID of the uploaded asset. This is a unique identifier for the // asset. This ID can be passed to other API calls, e.g. CreateCreative to // associate the asset with a creative. The Media ID space updated on **April // 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving // the new media ID from associated creative resources or re-uploading the // asset. MediaId int64 `json:"mediaId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Content") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Content") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Asset) MarshalJSON() ([]byte, error) { type NoMethod Asset return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AssetAssociation: Asset association for the creative. type AssetAssociation struct { // Asset: The associated asset. Asset *Asset `json:"asset,omitempty"` // Role: The role of this asset for the creative. // // Possible values: // "ASSET_ROLE_UNSPECIFIED" - Asset role is not specified or is unknown in // this version. // "ASSET_ROLE_MAIN" - The asset is the main asset of the creative. // "ASSET_ROLE_BACKUP" - The asset is a backup asset of the creative. // "ASSET_ROLE_POLITE_LOAD" - The asset is a polite load asset of the // creative. // "ASSET_ROLE_HEADLINE" - Headline of a native creative. The content must be // UTF-8 encoded with a length of no more than 25 characters. This role is only // supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * // `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` // "ASSET_ROLE_LONG_HEADLINE" - Long headline of a native creative. The // content must be UTF-8 encoded with a length of no more than 50 characters. // This role is only supported in following creative_type: * // `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * // `CREATIVE_TYPE_NATIVE_VIDEO` // "ASSET_ROLE_BODY" - Body text of a native creative. The content must be // UTF-8 encoded with a length of no more than 90 characters. This role is only // supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * // `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` // "ASSET_ROLE_LONG_BODY" - Long body text of a native creative. The content // must be UTF-8 encoded with a length of no more than 150 characters. This // role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` // * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` // "ASSET_ROLE_CAPTION_URL" - A short, friendly version of the landing page // URL to show in the creative. This URL gives people an idea of where they'll // arrive after they click on the creative. The content must be UTF-8 encoded // with a length of no more than 30 characters. For example, if the landing // page URL is 'http://www.example.com/page', the caption URL can be // 'example.com'. The protocol (http://) is optional, but the URL can't contain // spaces or special characters. This role is only supported in following // creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` // * `CREATIVE_TYPE_NATIVE_VIDEO` // "ASSET_ROLE_CALL_TO_ACTION" - The text to use on the call-to-action button // of a native creative. The content must be UTF-8 encoded with a length of no // more than 15 characters. This role is only supported in following // creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` // * `CREATIVE_TYPE_NATIVE_VIDEO` // "ASSET_ROLE_ADVERTISER_NAME" - The text that identifies the advertiser or // brand name. The content must be UTF-8 encoded with a length of no more than // 25 characters. This role is only supported in following creative_type: * // `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * // `CREATIVE_TYPE_NATIVE_VIDEO` // "ASSET_ROLE_PRICE" - The purchase price of your app in the Google play // store or iOS app store (for example, $5.99). Note that this value is not // automatically synced with the actual value listed in the store. It will // always be the one provided when save the creative. The content must be UTF-8 // encoded with a length of no more than 15 characters. Assets of this role are // read-only. // "ASSET_ROLE_ANDROID_APP_ID" - The ID of an Android app in the Google play // store. You can find this ID in the App’s Google Play Store URL after // ‘id’. For example, in // https://play.google.com/store/apps/details?id=com.company.appname the // identifier is com.company.appname. Assets of this role are read-only. // "ASSET_ROLE_IOS_APP_ID" - The ID of an iOS app in the Apple app store. // This ID number can be found in the Apple App Store URL as the string of // numbers directly after "id". For example, in // https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is // 422689480. Assets of this role are read-only. // "ASSET_ROLE_RATING" - The rating of an app in the Google play store or iOS // app store. Note that this value is not automatically synced with the actual // rating in the store. It will always be the one provided when save the // creative. Assets of this role are read-only. // "ASSET_ROLE_ICON" - The icon of a creative. This role is only supported // and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * // `CREATIVE_TYPE_NATIVE_SITE_SQUARE` // "ASSET_ROLE_COVER_IMAGE" - The cover image of a native video creative. // This role is only supported and required in following creative_type: * // `CREATIVE_TYPE_VIDEO` Role string `json:"role,omitempty"` // ForceSendFields is a list of field names (e.g. "Asset") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Asset") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AssetAssociation) MarshalJSON() ([]byte, error) { type NoMethod AssetAssociation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AssignedInventorySource: An assignment between a targetable inventory source // and an inventory source group. type AssignedInventorySource struct { // AssignedInventorySourceId: Output only. The unique ID of the assigned // inventory source. The ID is only unique within a given inventory source // group. It may be reused in other contexts. AssignedInventorySourceId int64 `json:"assignedInventorySourceId,omitempty,string"` // InventorySourceId: Required. The ID of the inventory source entity being // targeted. InventorySourceId string `json:"inventorySourceId,omitempty"` // Name: Output only. The resource name of the assigned inventory source. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedInventorySourceId") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedInventorySourceId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AssignedInventorySource) MarshalJSON() ([]byte, error) { type NoMethod AssignedInventorySource return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AssignedLocation: An assignment between a location list and a relevant // targeting option. type AssignedLocation struct { // AssignedLocationId: Output only. The unique ID of the assigned location. The // ID is only unique within a location list. It may be reused in other // contexts. AssignedLocationId int64 `json:"assignedLocationId,omitempty,string"` // Name: Output only. The resource name of the assigned location. Name string `json:"name,omitempty"` // TargetingOptionId: Required. The ID of the targeting option assigned to the // location list. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedLocationId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedLocationId") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AssignedLocation) MarshalJSON() ([]byte, error) { type NoMethod AssignedLocation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AssignedTargetingOption: A single assigned targeting option, which defines // the state of a targeting option for an entity with targeting settings. type AssignedTargetingOption struct { // AgeRangeDetails: Age range details. This field will be populated when the // targeting_type is `TARGETING_TYPE_AGE_RANGE`. AgeRangeDetails *AgeRangeAssignedTargetingOptionDetails `json:"ageRangeDetails,omitempty"` // AppCategoryDetails: App category details. This field will be populated when // the targeting_type is `TARGETING_TYPE_APP_CATEGORY`. AppCategoryDetails *AppCategoryAssignedTargetingOptionDetails `json:"appCategoryDetails,omitempty"` // AppDetails: App details. This field will be populated when the // targeting_type is `TARGETING_TYPE_APP`. AppDetails *AppAssignedTargetingOptionDetails `json:"appDetails,omitempty"` // AssignedTargetingOptionId: Output only. The unique ID of the assigned // targeting option. The ID is only unique within a given resource and // targeting type. It may be reused in other contexts. AssignedTargetingOptionId string `json:"assignedTargetingOptionId,omitempty"` // AssignedTargetingOptionIdAlias: Output only. An alias for the // assigned_targeting_option_id. This value can be used in place of // `assignedTargetingOptionId` when retrieving or deleting existing targeting. // This field will only be supported for all assigned targeting options of the // following targeting types: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * // `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field // is also supported for line item assigned targeting options of the following // targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` AssignedTargetingOptionIdAlias string `json:"assignedTargetingOptionIdAlias,omitempty"` // AudienceGroupDetails: Audience targeting details. This field will be // populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You // can only target one audience group option per resource. AudienceGroupDetails *AudienceGroupAssignedTargetingOptionDetails `json:"audienceGroupDetails,omitempty"` // AudioContentTypeDetails: Audio content type details. This field will be // populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. AudioContentTypeDetails *AudioContentTypeAssignedTargetingOptionDetails `json:"audioContentTypeDetails,omitempty"` // AuthorizedSellerStatusDetails: Authorized seller status details. This field // will be populated when the targeting_type is // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one // authorized seller status option per resource. If a resource doesn't have an // authorized seller status option, all authorized sellers indicated as DIRECT // or RESELLER in the ads.txt file are targeted by default. AuthorizedSellerStatusDetails *AuthorizedSellerStatusAssignedTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"` // BrowserDetails: Browser details. This field will be populated when the // targeting_type is `TARGETING_TYPE_BROWSER`. BrowserDetails *BrowserAssignedTargetingOptionDetails `json:"browserDetails,omitempty"` // BusinessChainDetails: Business chain details. This field will be populated // when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. BusinessChainDetails *BusinessChainAssignedTargetingOptionDetails `json:"businessChainDetails,omitempty"` // CarrierAndIspDetails: Carrier and ISP details. This field will be populated // when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. CarrierAndIspDetails *CarrierAndIspAssignedTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"` // CategoryDetails: Category details. This field will be populated when the // targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category will also // target its subcategories. If a category is excluded from targeting and a // subcategory is included, the exclusion will take precedence. CategoryDetails *CategoryAssignedTargetingOptionDetails `json:"categoryDetails,omitempty"` // ChannelDetails: Channel details. This field will be populated when the // targeting_type is `TARGETING_TYPE_CHANNEL`. ChannelDetails *ChannelAssignedTargetingOptionDetails `json:"channelDetails,omitempty"` // ContentDurationDetails: Content duration details. This field will be // populated when the targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. ContentDurationDetails *ContentDurationAssignedTargetingOptionDetails `json:"contentDurationDetails,omitempty"` // ContentGenreDetails: Content genre details. This field will be populated // when the targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. ContentGenreDetails *ContentGenreAssignedTargetingOptionDetails `json:"contentGenreDetails,omitempty"` // ContentInstreamPositionDetails: Content instream position details. This // field will be populated when the targeting_type is // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. ContentInstreamPositionDetails *ContentInstreamPositionAssignedTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"` // ContentOutstreamPositionDetails: Content outstream position details. This // field will be populated when the targeting_type is // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. ContentOutstreamPositionDetails *ContentOutstreamPositionAssignedTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"` // ContentStreamTypeDetails: Content duration details. This field will be // populated when the TargetingType is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. ContentStreamTypeDetails *ContentStreamTypeAssignedTargetingOptionDetails `json:"contentStreamTypeDetails,omitempty"` // DayAndTimeDetails: Day and time details. This field will be populated when // the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`. DayAndTimeDetails *DayAndTimeAssignedTargetingOptionDetails `json:"dayAndTimeDetails,omitempty"` // DeviceMakeModelDetails: Device make and model details. This field will be // populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. DeviceMakeModelDetails *DeviceMakeModelAssignedTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"` // DeviceTypeDetails: Device Type details. This field will be populated when // the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. DeviceTypeDetails *DeviceTypeAssignedTargetingOptionDetails `json:"deviceTypeDetails,omitempty"` // DigitalContentLabelExclusionDetails: Digital content label details. This // field will be populated when the targeting_type is // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are // targeting exclusions. Advertiser level digital content label exclusions, if // set, are always applied in serving (even though they aren't visible in // resource settings). Resource settings can exclude content labels in addition // to advertiser exclusions, but can't override them. A line item won't serve // if all the digital content labels are excluded. DigitalContentLabelExclusionDetails *DigitalContentLabelAssignedTargetingOptionDetails `json:"digitalContentLabelExclusionDetails,omitempty"` // EnvironmentDetails: Environment details. This field will be populated when // the targeting_type is `TARGETING_TYPE_ENVIRONMENT`. EnvironmentDetails *EnvironmentAssignedTargetingOptionDetails `json:"environmentDetails,omitempty"` // ExchangeDetails: Exchange details. This field will be populated when the // targeting_type is `TARGETING_TYPE_EXCHANGE`. ExchangeDetails *ExchangeAssignedTargetingOptionDetails `json:"exchangeDetails,omitempty"` // GenderDetails: Gender details. This field will be populated when the // targeting_type is `TARGETING_TYPE_GENDER`. GenderDetails *GenderAssignedTargetingOptionDetails `json:"genderDetails,omitempty"` // GeoRegionDetails: Geographic region details. This field will be populated // when the targeting_type is `TARGETING_TYPE_GEO_REGION`. GeoRegionDetails *GeoRegionAssignedTargetingOptionDetails `json:"geoRegionDetails,omitempty"` // HouseholdIncomeDetails: Household income details. This field will be // populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`. HouseholdIncomeDetails *HouseholdIncomeAssignedTargetingOptionDetails `json:"householdIncomeDetails,omitempty"` // Inheritance: Output only. The inheritance status of the assigned targeting // option. // // Possible values: // "INHERITANCE_UNSPECIFIED" - The inheritance is unspecified or unknown. // "NOT_INHERITED" - The assigned targeting option is not inherited from // higher level entity. // "INHERITED_FROM_PARTNER" - The assigned targeting option is inherited from // partner targeting settings. // "INHERITED_FROM_ADVERTISER" - The assigned targeting option is inherited // from advertiser targeting settings. Inheritance string `json:"inheritance,omitempty"` // InventorySourceDetails: Inventory source details. This field will be // populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`. InventorySourceDetails *InventorySourceAssignedTargetingOptionDetails `json:"inventorySourceDetails,omitempty"` // InventorySourceGroupDetails: Inventory source group details. This field will // be populated when the targeting_type is // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`. InventorySourceGroupDetails *InventorySourceGroupAssignedTargetingOptionDetails `json:"inventorySourceGroupDetails,omitempty"` // KeywordDetails: Keyword details. This field will be populated when the // targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000 direct // negative keywords can be assigned to a resource. No limit on number of // positive keywords that can be assigned. KeywordDetails *KeywordAssignedTargetingOptionDetails `json:"keywordDetails,omitempty"` // LanguageDetails: Language details. This field will be populated when the // targeting_type is `TARGETING_TYPE_LANGUAGE`. LanguageDetails *LanguageAssignedTargetingOptionDetails `json:"languageDetails,omitempty"` // Name: Output only. The resource name for this assigned targeting option. Name string `json:"name,omitempty"` // NativeContentPositionDetails: Native content position details. This field // will be populated when the targeting_type is // `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. NativeContentPositionDetails *NativeContentPositionAssignedTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"` // NegativeKeywordListDetails: Keyword details. This field will be populated // when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum // of 4 negative keyword lists can be assigned to a resource. NegativeKeywordListDetails *NegativeKeywordListAssignedTargetingOptionDetails `json:"negativeKeywordListDetails,omitempty"` // OmidDetails: Open Measurement enabled inventory details. This field will be // populated when the targeting_type is `TARGETING_TYPE_OMID`. OmidDetails *OmidAssignedTargetingOptionDetails `json:"omidDetails,omitempty"` // OnScreenPositionDetails: On screen position details. This field will be // populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. OnScreenPositionDetails *OnScreenPositionAssignedTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"` // OperatingSystemDetails: Operating system details. This field will be // populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`. OperatingSystemDetails *OperatingSystemAssignedTargetingOptionDetails `json:"operatingSystemDetails,omitempty"` // ParentalStatusDetails: Parental status details. This field will be populated // when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. ParentalStatusDetails *ParentalStatusAssignedTargetingOptionDetails `json:"parentalStatusDetails,omitempty"` // PoiDetails: POI details. This field will be populated when the // targeting_type is `TARGETING_TYPE_POI`. PoiDetails *PoiAssignedTargetingOptionDetails `json:"poiDetails,omitempty"` // ProximityLocationListDetails: Proximity location list details. This field // will be populated when the targeting_type is // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. ProximityLocationListDetails *ProximityLocationListAssignedTargetingOptionDetails `json:"proximityLocationListDetails,omitempty"` // RegionalLocationListDetails: Regional location list details. This field will // be populated when the targeting_type is // `TARGETING_TYPE_REGIONAL_LOCATION_LIST`. RegionalLocationListDetails *RegionalLocationListAssignedTargetingOptionDetails `json:"regionalLocationListDetails,omitempty"` // SensitiveCategoryExclusionDetails: Sensitive category details. This field // will be populated when the targeting_type is // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are // targeting exclusions. Advertiser level sensitive category exclusions, if // set, are always applied in serving (even though they aren't visible in // resource settings). Resource settings can exclude sensitive categories in // addition to advertiser exclusions, but can't override them. SensitiveCategoryExclusionDetails *SensitiveCategoryAssignedTargetingOptionDetails `json:"sensitiveCategoryExclusionDetails,omitempty"` // SessionPositionDetails: Session position details. This field will be // populated when the targeting_type is `TARGETING_TYPE_SESSION_POSITION`. SessionPositionDetails *SessionPositionAssignedTargetingOptionDetails `json:"sessionPositionDetails,omitempty"` // SubExchangeDetails: Sub-exchange details. This field will be populated when // the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`. SubExchangeDetails *SubExchangeAssignedTargetingOptionDetails `json:"subExchangeDetails,omitempty"` // TargetingType: Output only. Identifies the type of this assigned targeting // option. // // Possible values: // "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or // is unknown in this version. // "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related // websites or apps). // "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example, // education or puzzle games). // "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds). // "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com). // "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on // a specific day. // "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for // example, 18-24). // "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified // regions on a regional location list. // "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified // points of interest on a proximity location list. // "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example, // female or male). // "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size // for video ads. // "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for // video ads. // "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental // status (for example, parent or not a parent). // "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in // a specific content instream position (for example, pre-roll, mid-roll, or // post-roll). // "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific // content outstream position. // "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for // example, tablet or connected TV). // "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of // audiences. Singleton field, at most one can exist on a single Lineitem at a // time. // "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for // example, Chrome). // "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household // income range (for example, top 10%). // "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen // position. // "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third // party verification (for example, IAS or DoubleVerify). // "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by // specific digital content label ratings (for example, DL-MA: suitable only // for mature audiences). // "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by // sensitive categories (for example, adult). // "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for // example, web or app). // "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network // carrier or internet service provider (ISP) (for example, Comcast or Orange). // "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating // system (for example, macOS). // "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make // or model (for example, Roku or Samsung). // "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example, // dog or retriever). // "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative // keyword list. // "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for // example, 80% viewable). // "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for // example, arts & entertainment). // "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific // deals and auction packages. // "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for // example, English or Japanese). // "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt // authorized sellers. If no targeting option of this type is assigned, the // resource uses the "Authorized Direct Sellers and Resellers" option by // default. // "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location // (for example, a city or state). // "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a // group of deals and auction packages. // "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges. // "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific // sub-exchanges. // "TARGETING_TYPE_POI" - Target ads around a specific point of interest, // such as a notable building, a street address, or latitude/longitude // coordinates. // "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a // business chain within a specific geo region. // "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content // duration. // "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video // content stream type. // "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native // content position. // "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled // inventory. // "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio // content type. // "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre. // "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video. // Targeting of this type cannot be created or updated using the API. Although // this targeting is inherited by child resources, **inherited targeting of // this type will not be retrieveable**. // "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube // channel. Targeting of this type cannot be created or updated using the API. // Although this targeting is inherited by child resources, **inherited // targeting of this type will not be retrieveable**. // "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain // position of a session. Only supported for Ad Group resources under YouTube // Programmatic Reservation line items. Targeting of this type cannot be // created or updated using the API. TargetingType string `json:"targetingType,omitempty"` // ThirdPartyVerifierDetails: Third party verification details. This field will // be populated when the targeting_type is // `TARGETING_TYPE_THIRD_PARTY_VERIFIER`. ThirdPartyVerifierDetails *ThirdPartyVerifierAssignedTargetingOptionDetails `json:"thirdPartyVerifierDetails,omitempty"` // UrlDetails: URL details. This field will be populated when the // targeting_type is `TARGETING_TYPE_URL`. UrlDetails *UrlAssignedTargetingOptionDetails `json:"urlDetails,omitempty"` // UserRewardedContentDetails: User rewarded content details. This field will // be populated when the targeting_type is // `TARGETING_TYPE_USER_REWARDED_CONTENT`. UserRewardedContentDetails *UserRewardedContentAssignedTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"` // VideoPlayerSizeDetails: Video player size details. This field will be // populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. VideoPlayerSizeDetails *VideoPlayerSizeAssignedTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"` // ViewabilityDetails: Viewability details. This field will be populated when // the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one // viewability option per resource. ViewabilityDetails *ViewabilityAssignedTargetingOptionDetails `json:"viewabilityDetails,omitempty"` // YoutubeChannelDetails: YouTube channel details. This field will be populated // when the targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`. YoutubeChannelDetails *YoutubeChannelAssignedTargetingOptionDetails `json:"youtubeChannelDetails,omitempty"` // YoutubeVideoDetails: YouTube video details. This field will be populated // when the targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`. YoutubeVideoDetails *YoutubeVideoAssignedTargetingOptionDetails `json:"youtubeVideoDetails,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AgeRangeDetails") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AssignedTargetingOption) MarshalJSON() ([]byte, error) { type NoMethod AssignedTargetingOption return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AssignedUserRole: A single assigned user role, which defines a user's // authorized interaction with a specified partner or advertiser. type AssignedUserRole struct { // AdvertiserId: The ID of the advertiser that the assigend user role applies // to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // AssignedUserRoleId: Output only. The ID of the assigned user role. AssignedUserRoleId string `json:"assignedUserRoleId,omitempty"` // PartnerId: The ID of the partner that the assigned user role applies to. PartnerId int64 `json:"partnerId,omitempty,string"` // UserRole: Required. The user role to assign to a user for the entity. // // Possible values: // "USER_ROLE_UNSPECIFIED" - Default value when the user role is not // specified or is unknown in this version. // "ADMIN" - The user can manage campaigns, creatives, insertion orders, line // items, and reports for the entity. They can view and edit billing // information, create or modify users, and enable or disable exchanges. This // role can only be assigned for a partner entity. // "ADMIN_PARTNER_CLIENT" - The user can manage campaigns, creatives, // insertion orders, line items, and reports for the entity. They can create // and modify other `ADMIN_PARTNER_CLIENT` users and view billing information. // They cannot view revenue models, markups, or any other reseller-sensitive // fields. This role can only be assigned for a partner entity. // "STANDARD" - The user can manage campaigns, creatives, insertion orders, // line items, and reports for the entity. They cannot create and modify users // or view billing information. // "STANDARD_PLANNER" - The user can view all campaigns, creatives, insertion // orders, line items, and reports for the entity, including all cost data. // They can create and modify planning-related features, including plans and // inventory. // "STANDARD_PLANNER_LIMITED" - The user can view all campaigns, creatives, // insertion orders, line items, and reports for the entity. They can create or // modify planning-related features, including plans and inventory. They have // no access to cost data and cannot start, accept, or negotiate deals. // "STANDARD_PARTNER_CLIENT" - The user can manage campaigns, creatives, // insertion orders, line items, and reports for the entity. They cannot create // or modify other users or view billing information. They cannot view revenue // models, markups, or any other reseller-sensitive fields. This role can only // be assigned for an advertiser entity. // "READ_ONLY" - The user can only build reports and view data for the // entity. // "REPORTING_ONLY" - The user can only create and manage reports. // "LIMITED_REPORTING_ONLY" - The user can only create and manage the // following client-safe reports: General, Audience Performance, Cross-Partner, // Keyword, Order ID, Category, and Third-Party Data Provider. // "CREATIVE" - The user can view media plan information they need to // collaborate, but can't view cost-related data or Marketplace. // "CREATIVE_ADMIN" - The user can view media plan information they need to // collaborate, but can't view cost-related data or Marketplace. In addition, // they can add other creative admins or creative users to the entity. UserRole string `json:"userRole,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AssignedUserRole) MarshalJSON() ([]byte, error) { type NoMethod AssignedUserRole return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AudienceGroupAssignedTargetingOptionDetails: Assigned audience group // targeting option details. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION, // except for excluded_first_and_third_party_audience_group and // excluded_google_audience_group, of which COMPLEMENT is used as an // INTERSECTION with other groups. type AudienceGroupAssignedTargetingOptionDetails struct { // ExcludedFirstAndThirdPartyAudienceGroup: The first and third party audience // ids and recencies of the excluded first and third party audience group. Used // for negative targeting. The COMPLEMENT of the UNION of this group and other // excluded audience groups is used as an INTERSECTION to any positive audience // targeting. All items are logically ‘OR’ of each other. ExcludedFirstAndThirdPartyAudienceGroup *FirstAndThirdPartyAudienceGroup `json:"excludedFirstAndThirdPartyAudienceGroup,omitempty"` // ExcludedGoogleAudienceGroup: The Google audience ids of the excluded Google // audience group. Used for negative targeting. The COMPLEMENT of the UNION of // this group and other excluded audience groups is used as an INTERSECTION to // any positive audience targeting. Only contains Affinity, In-market and // Installed-apps type Google audiences. All items are logically ‘OR’ of // each other. ExcludedGoogleAudienceGroup *GoogleAudienceGroup `json:"excludedGoogleAudienceGroup,omitempty"` // IncludedCombinedAudienceGroup: The combined audience ids of the included // combined audience group. Contains combined audience ids only. IncludedCombinedAudienceGroup *CombinedAudienceGroup `json:"includedCombinedAudienceGroup,omitempty"` // IncludedCustomListGroup: The custom list ids of the included custom list // group. Contains custom list ids only. IncludedCustomListGroup *CustomListGroup `json:"includedCustomListGroup,omitempty"` // IncludedFirstAndThirdPartyAudienceGroups: The first and third party audience // ids and recencies of included first and third party audience groups. Each // first and third party audience group contains first and third party audience // ids only. The relation between each first and third party audience group is // INTERSECTION, and the result is UNION'ed with other audience groups. // Repeated groups with same settings will be ignored. IncludedFirstAndThirdPartyAudienceGroups []*FirstAndThirdPartyAudienceGroup `json:"includedFirstAndThirdPartyAudienceGroups,omitempty"` // IncludedGoogleAudienceGroup: The Google audience ids of the included Google // audience group. Contains Google audience ids only. IncludedGoogleAudienceGroup *GoogleAudienceGroup `json:"includedGoogleAudienceGroup,omitempty"` // ForceSendFields is a list of field names (e.g. // "ExcludedFirstAndThirdPartyAudienceGroup") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "ExcludedFirstAndThirdPartyAudienceGroup") to include in API requests with // the JSON null value. By default, fields with empty values are omitted from // API requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields // for more details. NullFields []string `json:"-"` } func (s *AudienceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AudienceGroupAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AudioAd: Details for an audio ad. type AudioAd struct { // DisplayUrl: The webpage address that appears with the ad. DisplayUrl string `json:"displayUrl,omitempty"` // FinalUrl: The URL address of the webpage that people reach after they click // the ad. FinalUrl string `json:"finalUrl,omitempty"` // TrackingUrl: The URL address loaded in the background for tracking purposes. TrackingUrl string `json:"trackingUrl,omitempty"` // Video: The YouTube video of the ad. Video *YoutubeVideoDetails `json:"video,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayUrl") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayUrl") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AudioAd) MarshalJSON() ([]byte, error) { type NoMethod AudioAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AudioContentTypeAssignedTargetingOptionDetails: Details for audio content // type assigned targeting option. This will be populated in the // audio_content_type_details field when targeting_type is // `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not // supported. Remove all audio content type targeting options to achieve this // effect. type AudioContentTypeAssignedTargetingOptionDetails struct { // AudioContentType: Required. The audio content type. // // Possible values: // "AUDIO_CONTENT_TYPE_UNSPECIFIED" - Audio content type is not specified in // this version. This enum is a place holder for a default value and does not // represent a real content stream type. // "AUDIO_CONTENT_TYPE_UNKNOWN" - The audio content type is unknown. // "AUDIO_CONTENT_TYPE_MUSIC" - The audio content type is music. // "AUDIO_CONTENT_TYPE_BROADCAST" - The audio content type is broadcast. // "AUDIO_CONTENT_TYPE_PODCAST" - The audio content type is podcast. AudioContentType string `json:"audioContentType,omitempty"` // ForceSendFields is a list of field names (e.g. "AudioContentType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AudioContentType") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AudioContentTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AudioContentTypeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AudioContentTypeTargetingOptionDetails: Represents a targetable audio // content type. This will be populated in the audio_content_type_details field // when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. type AudioContentTypeTargetingOptionDetails struct { // AudioContentType: Output only. The audio content type. // // Possible values: // "AUDIO_CONTENT_TYPE_UNSPECIFIED" - Audio content type is not specified in // this version. This enum is a place holder for a default value and does not // represent a real content stream type. // "AUDIO_CONTENT_TYPE_UNKNOWN" - The audio content type is unknown. // "AUDIO_CONTENT_TYPE_MUSIC" - The audio content type is music. // "AUDIO_CONTENT_TYPE_BROADCAST" - The audio content type is broadcast. // "AUDIO_CONTENT_TYPE_PODCAST" - The audio content type is podcast. AudioContentType string `json:"audioContentType,omitempty"` // ForceSendFields is a list of field names (e.g. "AudioContentType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AudioContentType") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AudioContentTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AudioContentTypeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AudioVideoOffset: The length an audio or a video has been played. type AudioVideoOffset struct { // Percentage: The offset in percentage of the audio or video duration. Percentage int64 `json:"percentage,omitempty,string"` // Seconds: The offset in seconds from the start of the audio or video. Seconds int64 `json:"seconds,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Percentage") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Percentage") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AudioVideoOffset) MarshalJSON() ([]byte, error) { type NoMethod AudioVideoOffset return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AuditAdvertiserResponse: Response message for // AdvertiserService.AuditAdvertiser. type AuditAdvertiserResponse struct { // AdGroupCriteriaCount: The number of individual targeting options from the // following targeting types that are assigned to a line item under this // advertiser. These individual targeting options count towards the limit of // 4500000 ad group targeting options per advertiser. Qualifying Targeting // types: * Channels, URLs, apps, and collections * Demographic * Google // Audiences, including Affinity, Custom Affinity, and In-market audiences * // Inventory source * Keyword * Mobile app category * User lists * Video // targeting * Viewability AdGroupCriteriaCount int64 `json:"adGroupCriteriaCount,omitempty,string"` // CampaignCriteriaCount: The number of individual targeting options from the // following targeting types that are assigned to a line item under this // advertiser. These individual targeting options count towards the limit of // 900000 campaign targeting options per advertiser. Qualifying Targeting // types: * Position * Browser * Connection speed * Day and time * Device and // operating system * Digital content label * Sensitive categories * // Environment * Geography, including business chains and proximity * ISP * // Language * Third-party verification CampaignCriteriaCount int64 `json:"campaignCriteriaCount,omitempty,string"` // ChannelsCount: The number of channels created under this advertiser. These // channels count towards the limit of 1000 channels per advertiser. ChannelsCount int64 `json:"channelsCount,omitempty,string"` // NegativeKeywordListsCount: The number of negative keyword lists created // under this advertiser. These negative keyword lists count towards the limit // of 20 negative keyword lists per advertiser. NegativeKeywordListsCount int64 `json:"negativeKeywordListsCount,omitempty,string"` // NegativelyTargetedChannelsCount: The number of negatively targeted channels // created under this advertiser. These negatively targeted channels count // towards the limit of 5 negatively targeted channels per advertiser. NegativelyTargetedChannelsCount int64 `json:"negativelyTargetedChannelsCount,omitempty,string"` // UsedCampaignsCount: The number of ACTIVE and PAUSED campaigns under this // advertiser. These campaigns count towards the limit of 9999 campaigns per // advertiser. UsedCampaignsCount int64 `json:"usedCampaignsCount,omitempty,string"` // UsedInsertionOrdersCount: The number of ACTIVE, PAUSED and DRAFT insertion // orders under this advertiser. These insertion orders count towards the limit // of 9999 insertion orders per advertiser. UsedInsertionOrdersCount int64 `json:"usedInsertionOrdersCount,omitempty,string"` // UsedLineItemsCount: The number of ACTIVE, PAUSED, and DRAFT line items under // this advertiser. These line items count towards the limit of 9999 line items // per advertiser. UsedLineItemsCount int64 `json:"usedLineItemsCount,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdGroupCriteriaCount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdGroupCriteriaCount") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AuditAdvertiserResponse) MarshalJSON() ([]byte, error) { type NoMethod AuditAdvertiserResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AuthorizedSellerStatusAssignedTargetingOptionDetails: Represents an assigned // authorized seller status. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. If a resource does not have an // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned targeting option, it is // using the "Authorized Direct Sellers and Resellers" option. type AuthorizedSellerStatusAssignedTargetingOptionDetails struct { // AuthorizedSellerStatus: Output only. The authorized seller status to target. // // Possible values: // "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when authorized // seller status is not specified in this version. This enum is a placeholder // for the default value, or "Authorized Direct Sellers and Resellers" in the // UI. // "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only // authorized sellers that directly own the inventory being monetized, as // indicated by a DIRECT declaration in the ads.txt file. This value is // equivalent to "Authorized Direct Sellers" in the UI. // "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" - // All authorized sellers, including publishers that have not posted an ads.txt // file. Display & Video 360 automatically disallows unauthorized sellers. This // value is equivalent to "Authorized and Non-Participating Publishers" in the // UI. AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"` // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthorizedSellerStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorizedSellerStatus") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AuthorizedSellerStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AuthorizedSellerStatusAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AuthorizedSellerStatusTargetingOptionDetails: Represents a targetable // authorized seller status. This will be populated in the // authorized_seller_status_details field when targeting_type is // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. type AuthorizedSellerStatusTargetingOptionDetails struct { // AuthorizedSellerStatus: Output only. The authorized seller status. // // Possible values: // "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when authorized // seller status is not specified in this version. This enum is a placeholder // for the default value, or "Authorized Direct Sellers and Resellers" in the // UI. // "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only // authorized sellers that directly own the inventory being monetized, as // indicated by a DIRECT declaration in the ads.txt file. This value is // equivalent to "Authorized Direct Sellers" in the UI. // "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" - // All authorized sellers, including publishers that have not posted an ads.txt // file. Display & Video 360 automatically disallows unauthorized sellers. This // value is equivalent to "Authorized and Non-Participating Publishers" in the // UI. AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthorizedSellerStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorizedSellerStatus") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AuthorizedSellerStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod AuthorizedSellerStatusTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BiddingStrategy: Settings that control the bid strategy. Bid strategy // determines the bid price. type BiddingStrategy struct { // FixedBid: A strategy that uses a fixed bid price. FixedBid *FixedBidStrategy `json:"fixedBid,omitempty"` // MaximizeSpendAutoBid: A strategy that automatically adjusts the bid to // optimize to your performance goal while spending the full budget. At // insertion order level, the markup_type of line items cannot be set to // `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when // performance_goal_type is one of: * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of // the insertion order line items must be either: * // `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and when // performance_goal_type is either: * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the // insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`. MaximizeSpendAutoBid *MaximizeSpendBidStrategy `json:"maximizeSpendAutoBid,omitempty"` // PerformanceGoalAutoBid: A strategy that automatically adjusts the bid to // meet or beat a specified performance goal. It is to be used only for a line // item entity. PerformanceGoalAutoBid *PerformanceGoalBidStrategy `json:"performanceGoalAutoBid,omitempty"` // ForceSendFields is a list of field names (e.g. "FixedBid") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FixedBid") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BiddingStrategy) MarshalJSON() ([]byte, error) { type NoMethod BiddingStrategy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BrowserAssignedTargetingOptionDetails: Details for assigned browser // targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`. type BrowserAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the browser. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. All // assigned browser targeting options on the same resource must have the same // value for this field. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_BROWSER`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BrowserAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod BrowserAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BrowserTargetingOptionDetails: Represents a targetable browser. This will be // populated in the browser_details field when targeting_type is // `TARGETING_TYPE_BROWSER`. type BrowserTargetingOptionDetails struct { // DisplayName: Output only. The display name of the browser. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BrowserTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod BrowserTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BudgetSummary: Summarized information of an individual campaign budget. type BudgetSummary struct { // ExternalBudgetId: Corresponds to the external_budget_id of a campaign // budget. If the value is not set in the campaign budget, this field will be // empty. ExternalBudgetId string `json:"externalBudgetId,omitempty"` // PreTaxAmountMicros: The sum of charges made under this budget before taxes, // in micros of the invoice's currency. For example, if currency_code is `USD`, // then 1000000 represents one US dollar. PreTaxAmountMicros int64 `json:"preTaxAmountMicros,omitempty,string"` // PrismaCpeCode: Relevant client, product, and estimate codes from the // Mediaocean Prisma tool. Only applicable for campaign budgets with an // external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN. PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"` // TaxAmountMicros: The amount of tax applied to charges under this budget, in // micros of the invoice's currency. For example, if currency_code is `USD`, // then 1000000 represents one US dollar. TaxAmountMicros int64 `json:"taxAmountMicros,omitempty,string"` // TotalAmountMicros: The total sum of charges made under this budget, // including tax, in micros of the invoice's currency. For example, if // currency_code is `USD`, then 1000000 represents one US dollar. TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"` // ForceSendFields is a list of field names (e.g. "ExternalBudgetId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ExternalBudgetId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BudgetSummary) MarshalJSON() ([]byte, error) { type NoMethod BudgetSummary return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditAdvertiserAssignedTargetingOptionsRequest: Request message for // BulkEditAdvertiserAssignedTargetingOptions. type BulkEditAdvertiserAssignedTargetingOptionsRequest struct { // CreateRequests: The assigned targeting options to create in batch, specified // as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting // types: * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD` CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"` // DeleteRequests: The assigned targeting options to delete in batch, specified // as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting // types: * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD` DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"` // ForceSendFields is a list of field names (e.g. "CreateRequests") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreateRequests") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAdvertiserAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAdvertiserAssignedTargetingOptionsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkEditAdvertiserAssignedTargetingOptionsResponse struct { // CreatedAssignedTargetingOptions: The list of assigned targeting options that // have been successfully created. This list will be absent if empty. CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "CreatedAssignedTargetingOptions") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatedAssignedTargetingOptions") // to include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAdvertiserAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditAssignedInventorySourcesRequest: Request message for // AssignedInventorySourceService.BulkEdit. type BulkEditAssignedInventorySourcesRequest struct { // AdvertiserId: The ID of the advertiser that owns the parent inventory source // group. The parent partner does not have access to these assigned inventory // sources. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // CreatedAssignedInventorySources: The assigned inventory sources to create in // bulk, specified as a list of AssignedInventorySources. CreatedAssignedInventorySources []*AssignedInventorySource `json:"createdAssignedInventorySources,omitempty"` // DeletedAssignedInventorySources: The IDs of the assigned inventory sources // to delete in bulk, specified as a list of assigned_inventory_source_ids. DeletedAssignedInventorySources googleapi.Int64s `json:"deletedAssignedInventorySources,omitempty"` // PartnerId: The ID of the partner that owns the inventory source group. Only // this partner has write access to these assigned inventory sources. PartnerId int64 `json:"partnerId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedInventorySourcesRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedInventorySourcesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditAssignedInventorySourcesResponse: Response message for // AssignedInventorySourceService.BulkEdit. type BulkEditAssignedInventorySourcesResponse struct { // AssignedInventorySources: The list of assigned inventory sources that have // been successfully created. This list will be absent if empty. AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedInventorySources") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedInventorySources") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedInventorySourcesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditAssignedLocationsRequest: Request message for // AssignedLocationService.BulkEditAssignedLocations. type BulkEditAssignedLocationsRequest struct { // CreatedAssignedLocations: The assigned locations to create in bulk, // specified as a list of AssignedLocation resources. CreatedAssignedLocations []*AssignedLocation `json:"createdAssignedLocations,omitempty"` // DeletedAssignedLocations: The IDs of the assigned locations to delete in // bulk, specified as a list of assignedLocationId values. DeletedAssignedLocations googleapi.Int64s `json:"deletedAssignedLocations,omitempty"` // ForceSendFields is a list of field names (e.g. "CreatedAssignedLocations") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatedAssignedLocations") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedLocationsRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedLocationsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkEditAssignedLocationsResponse struct { // AssignedLocations: The list of assigned locations that have been // successfully created. This list will be absent if empty. AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedLocations") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedLocations") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedLocationsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedLocationsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditAssignedTargetingOptionsRequest: Request message for // BulkEditLineItemsAssignedTargetingOptions. type BulkEditAssignedTargetingOptionsRequest struct { // CreateRequests: The assigned targeting options to create in batch, specified // as a list of CreateAssignedTargetingOptionsRequest. Supported targeting // types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * // `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * // `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"` // DeleteRequests: The assigned targeting options to delete in batch, specified // as a list of DeleteAssignedTargetingOptionsRequest. Supported targeting // types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * // `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * // `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"` // LineItemIds: Required. The ID of the line items whose targeting is being // updated. LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"` // ForceSendFields is a list of field names (e.g. "CreateRequests") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreateRequests") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedTargetingOptionsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkEditAssignedTargetingOptionsResponse struct { // Errors: The error information for each line item that failed to update. Errors []*Status `json:"errors,omitempty"` // FailedLineItemIds: Output only. The IDs of the line items which failed. FailedLineItemIds googleapi.Int64s `json:"failedLineItemIds,omitempty"` // UpdatedLineItemIds: Output only. The IDs of the line items which // successfully updated. UpdatedLineItemIds googleapi.Int64s `json:"updatedLineItemIds,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Errors") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Errors") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditAssignedUserRolesRequest: Request message for // BulkEditAssignedUserRoles. type BulkEditAssignedUserRolesRequest struct { // CreatedAssignedUserRoles: The assigned user roles to create in batch, // specified as a list of AssignedUserRoles. CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"` // DeletedAssignedUserRoles: The assigned user roles to delete in batch, // specified as a list of assigned_user_role_ids. The format of // assigned_user_role_id is `entityType-entityid`, for example `partner-123`. DeletedAssignedUserRoles []string `json:"deletedAssignedUserRoles,omitempty"` // ForceSendFields is a list of field names (e.g. "CreatedAssignedUserRoles") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatedAssignedUserRoles") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedUserRolesRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedUserRolesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkEditAssignedUserRolesResponse struct { // CreatedAssignedUserRoles: The list of assigned user roles that have been // successfully created. This list will be absent if empty. CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CreatedAssignedUserRoles") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatedAssignedUserRoles") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditAssignedUserRolesResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditAssignedUserRolesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditNegativeKeywordsRequest: Request message for // NegativeKeywordService.BulkEditNegativeKeywords. type BulkEditNegativeKeywordsRequest struct { // CreatedNegativeKeywords: The negative keywords to create in batch, specified // as a list of NegativeKeywords. CreatedNegativeKeywords []*NegativeKeyword `json:"createdNegativeKeywords,omitempty"` // DeletedNegativeKeywords: The negative keywords to delete in batch, specified // as a list of keyword_values. DeletedNegativeKeywords []string `json:"deletedNegativeKeywords,omitempty"` // ForceSendFields is a list of field names (e.g. "CreatedNegativeKeywords") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatedNegativeKeywords") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditNegativeKeywordsRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditNegativeKeywordsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditNegativeKeywordsResponse: Response message for // NegativeKeywordService.BulkEditNegativeKeywords. type BulkEditNegativeKeywordsResponse struct { // NegativeKeywords: The list of negative keywords that have been successfully // created. This list will be absent if empty. NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NegativeKeywords") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NegativeKeywords") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditNegativeKeywordsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditNegativeKeywordsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditPartnerAssignedTargetingOptionsRequest: Request message for // BulkEditPartnerAssignedTargetingOptions. type BulkEditPartnerAssignedTargetingOptionsRequest struct { // CreateRequests: The assigned targeting options to create in batch, specified // as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting // types: * `TARGETING_TYPE_CHANNEL` CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"` // DeleteRequests: The assigned targeting options to delete in batch, specified // as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting // types: * `TARGETING_TYPE_CHANNEL` DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"` // ForceSendFields is a list of field names (e.g. "CreateRequests") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreateRequests") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditPartnerAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditPartnerAssignedTargetingOptionsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkEditPartnerAssignedTargetingOptionsResponse struct { // CreatedAssignedTargetingOptions: The list of assigned targeting options that // have been successfully created. This list will be absent if empty. CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "CreatedAssignedTargetingOptions") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatedAssignedTargetingOptions") // to include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditPartnerAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditSitesRequest: Request message for SiteService.BulkEditSites. type BulkEditSitesRequest struct { // AdvertiserId: The ID of the advertiser that owns the parent channel. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // CreatedSites: The sites to create in batch, specified as a list of Sites. CreatedSites []*Site `json:"createdSites,omitempty"` // DeletedSites: The sites to delete in batch, specified as a list of site // url_or_app_ids. DeletedSites []string `json:"deletedSites,omitempty"` // PartnerId: The ID of the partner that owns the parent channel. PartnerId int64 `json:"partnerId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditSitesRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkEditSitesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkEditSitesResponse: Response message for SiteService.BulkEditSites. type BulkEditSitesResponse struct { // Sites: The list of sites that have been successfully created. This list will // be absent if empty. Sites []*Site `json:"sites,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Sites") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Sites") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkEditSitesResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkEditSitesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkListAdGroupAssignedTargetingOptionsResponse struct { // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent call to // `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. // This token will be absent if there are no more // AdGroupAssignedTargetingOption resources to return. NextPageToken string `json:"nextPageToken,omitempty"` // YoutubeAdGroupAssignedTargetingOptions: The list of wrapper objects, each // providing an assigned targeting option and the youtube ad group it is // assigned to. This list will be absent if empty. YoutubeAdGroupAssignedTargetingOptions []*YoutubeAdGroupAssignedTargetingOption `json:"youtubeAdGroupAssignedTargetingOptions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkListAdGroupAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkListAdGroupAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkListAdvertiserAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkListAdvertiserAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkListAssignedTargetingOptionsResponse struct { // LineItemAssignedTargetingOptions: The list of wrapper objects, each // providing an assigned targeting option and the line item it is assigned to. // This list will be absent if empty. LineItemAssignedTargetingOptions []*LineItemAssignedTargetingOption `json:"lineItemAssignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent call to // `BulkListAssignedTargetingOptions` to fetch the next page of results. This // token will be absent if there are no more // line_item_assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "LineItemAssignedTargetingOptions") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "LineItemAssignedTargetingOptions") to include in API requests with the JSON // null value. By default, fields with empty values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for // more details. NullFields []string `json:"-"` } func (s *BulkListAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkListAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkListCampaignAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkListCampaignAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type BulkListInsertionOrderAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page // of results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkListInsertionOrderAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkUpdateLineItemsRequest: Request message for // LineItemService.BulkUpdateLineItems. type BulkUpdateLineItemsRequest struct { // LineItemIds: Required. IDs of line items to update. LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"` // TargetLineItem: Required. A line item object containing the fields to be // updated and the new values to assign to all line items specified in // line_item_ids." TargetLineItem *LineItem `json:"targetLineItem,omitempty"` // UpdateMask: Required. A field mask identifying which fields to update. Only // the following fields are currently supported: * entityStatus UpdateMask string `json:"updateMask,omitempty"` // ForceSendFields is a list of field names (e.g. "LineItemIds") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LineItemIds") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkUpdateLineItemsRequest) MarshalJSON() ([]byte, error) { type NoMethod BulkUpdateLineItemsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BulkUpdateLineItemsResponse: Response message for // LineItemService.BulkUpdateLineItems. type BulkUpdateLineItemsResponse struct { // Errors: Errors returned by line items that failed to update. Errors []*Status `json:"errors,omitempty"` // FailedLineItemIds: The IDs of line items that failed to update. FailedLineItemIds googleapi.Int64s `json:"failedLineItemIds,omitempty"` // SkippedLineItemIds: The IDs of line items that are skipped for updates. For // example, unnecessary mutates that will result in effectively no changes to // line items will be skipped and corresponding line item IDs can be tracked // here. SkippedLineItemIds googleapi.Int64s `json:"skippedLineItemIds,omitempty"` // UpdatedLineItemIds: The IDs of successfully updated line items. UpdatedLineItemIds googleapi.Int64s `json:"updatedLineItemIds,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Errors") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Errors") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BulkUpdateLineItemsResponse) MarshalJSON() ([]byte, error) { type NoMethod BulkUpdateLineItemsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BumperAd: Details for a bumper ad. type BumperAd struct { // CommonInStreamAttribute: Common ad attributes. CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"` // ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CommonInStreamAttribute") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BumperAd) MarshalJSON() ([]byte, error) { type NoMethod BumperAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BusinessChainAssignedTargetingOptionDetails: Details for assigned Business // chain targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_BUSINESS_CHAIN`. type BusinessChainAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of a business chain, e.g. "KFC", // "Chase Bank". DisplayName string `json:"displayName,omitempty"` // ProximityRadiusAmount: Required. The radius of the area around the business // chain that will be targeted. The units of the radius are specified by // proximity_radius_unit. Must be 1 to 800 if unit is // `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. // The minimum increment for both cases is 0.1. Inputs will be rounded to the // nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6. ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"` // ProximityRadiusUnit: Required. The unit of distance by which the targeting // radius is measured. // // Possible values: // "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "DISTANCE_UNIT_MILES" - Miles. // "DISTANCE_UNIT_KILOMETERS" - Kilometers. ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"` // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted business chain targeting // option IDs can be retrieved using SearchTargetingOptions. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BusinessChainAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod BusinessChainAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *BusinessChainAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error { type NoMethod BusinessChainAssignedTargetingOptionDetails var s1 struct { ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount) return nil } // BusinessChainSearchTerms: Search terms for Business Chain targeting options. // At least one of the field should be populated. type BusinessChainSearchTerms struct { // BusinessChainQuery: The search query for the desired business chain. The // query must be the full name of the business, e.g. "KFC", "mercedes-benz". BusinessChainQuery string `json:"businessChainQuery,omitempty"` // RegionQuery: The search query for the desired geo region, e.g. "Seattle", // "United State". RegionQuery string `json:"regionQuery,omitempty"` // ForceSendFields is a list of field names (e.g. "BusinessChainQuery") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BusinessChainQuery") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BusinessChainSearchTerms) MarshalJSON() ([]byte, error) { type NoMethod BusinessChainSearchTerms return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BusinessChainTargetingOptionDetails: Represents a targetable business chain // within a geo region. This will be populated in the business_chain_details // field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. type BusinessChainTargetingOptionDetails struct { // BusinessChain: Output only. The display name of the business chain, e.g. // "KFC", "Chase Bank". BusinessChain string `json:"businessChain,omitempty"` // GeoRegion: Output only. The display name of the geographic region, e.g. // "Ontario, Canada". GeoRegion string `json:"geoRegion,omitempty"` // GeoRegionType: Output only. The type of the geographic region. // // Possible values: // "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown. // "GEO_REGION_TYPE_OTHER" - The geographic region type is other. // "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country. // "GEO_REGION_TYPE_REGION" - The geographic region type is region. // "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory. // "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province. // "GEO_REGION_TYPE_STATE" - The geographic region is a state. // "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture. // "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate. // "GEO_REGION_TYPE_CANTON" - The geographic region is a canton. // "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union // territory. // "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an // autonomous community. // "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated // market area (DMA) region. // "GEO_REGION_TYPE_METRO" - The geographic region type is metro. // "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a // congressional district. // "GEO_REGION_TYPE_COUNTY" - The geographic region is a county. // "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality. // "GEO_REGION_TYPE_CITY" - The geographic region is a city. // "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is // postal code. // "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is // department. // "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport. // "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region. // "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug. // "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough. // "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region. // "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an // arrondissement. // "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood. // "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university. // "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district. GeoRegionType string `json:"geoRegionType,omitempty"` // ForceSendFields is a list of field names (e.g. "BusinessChain") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BusinessChain") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BusinessChainTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod BusinessChainTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Campaign: A single campaign. type Campaign struct { // AdvertiserId: Output only. The unique ID of the advertiser the campaign // belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // CampaignBudgets: The list of budgets available to this campaign. If this // field is not set, the campaign uses an unlimited budget. CampaignBudgets []*CampaignBudget `json:"campaignBudgets,omitempty"` // CampaignFlight: Required. The planned spend and duration of the campaign. CampaignFlight *CampaignFlight `json:"campaignFlight,omitempty"` // CampaignGoal: Required. The goal of the campaign. CampaignGoal *CampaignGoal `json:"campaignGoal,omitempty"` // CampaignId: Output only. The unique ID of the campaign. Assigned by the // system. CampaignId int64 `json:"campaignId,omitempty,string"` // DisplayName: Required. The display name of the campaign. Must be UTF-8 // encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // EntityStatus: Required. Controls whether or not the insertion orders under // this campaign can spend their budgets and bid on inventory. * Accepted // values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and // `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, // `ENTITY_STATUS_ARCHIVED` is not allowed. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // FrequencyCap: Required. The frequency cap setting of the campaign. FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"` // Name: Output only. The resource name of the campaign. Name string `json:"name,omitempty"` // UpdateTime: Output only. The timestamp when the campaign was last updated. // Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Campaign) MarshalJSON() ([]byte, error) { type NoMethod Campaign return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CampaignBudget: Settings that control how the campaign budget is allocated. type CampaignBudget struct { // BudgetAmountMicros: Required. The total amount the linked insertion order // segments can budget. The amount is in micros. Must be greater than 0. For // example, 500000000 represents 500 standard units of the currency. BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"` // BudgetId: The unique ID of the campaign budget. Assigned by the system. Do // not set for new budgets. Must be included when updating or adding budgets to // campaign_budgets. Otherwise, a new ID will be generated and assigned. BudgetId int64 `json:"budgetId,omitempty,string"` // BudgetUnit: Required. Immutable. Specifies whether the budget is measured in // currency or impressions. // // Possible values: // "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts. // "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts. BudgetUnit string `json:"budgetUnit,omitempty"` // DateRange: Required. The date range for the campaign budget. Linked budget // segments may have a different date range. They are resolved relative to the // parent advertiser's time zone. Both `start_date` and `end_date` must be // before the year 2037. DateRange *DateRange `json:"dateRange,omitempty"` // DisplayName: Required. The display name of the budget. Must be UTF-8 encoded // with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // ExternalBudgetId: Immutable. The ID identifying this budget to the external // source. If this field is set and the invoice detail level of the // corresponding billing profile is set to "Budget level PO", all impressions // served against this budget will include this ID on the invoice. Must be // unique under the campaign. ExternalBudgetId string `json:"externalBudgetId,omitempty"` // ExternalBudgetSource: Required. The external source of the budget. // // Possible values: // "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED" - External budget source value is not // specified or unknown in this version. // "EXTERNAL_BUDGET_SOURCE_NONE" - Budget has no external source. // "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" - Budget source is Mediaocean. ExternalBudgetSource string `json:"externalBudgetSource,omitempty"` // InvoiceGroupingId: Immutable. The ID used to group budgets to be included // the same invoice. If this field is set and the invoice level of the // corresponding billing profile is set to "Budget invoice grouping ID", all // external_budget_id sharing the same invoice_grouping_id will be grouped in // the same invoice. InvoiceGroupingId string `json:"invoiceGroupingId,omitempty"` // PrismaConfig: Additional metadata for use by the Mediaocean Prisma tool. // Required for Mediaocean budgets. Only applicable to prisma_enabled // advertisers. PrismaConfig *PrismaConfig `json:"prismaConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "BudgetAmountMicros") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BudgetAmountMicros") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CampaignBudget) MarshalJSON() ([]byte, error) { type NoMethod CampaignBudget return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CampaignFlight: Settings that track the planned spend and duration of a // campaign. type CampaignFlight struct { // PlannedDates: Required. The dates that the campaign is expected to run. They // are resolved relative to the parent advertiser's time zone. * The dates // specified here will not affect serving. They are used to generate alerts and // warnings. For example, if the flight date of any child insertion order is // outside the range of these dates, the user interface will show a warning. * // `start_date` is required and must be the current date or later. * `end_date` // is optional. If specified, it must be the `start_date` or later. * Any // specified date must be before the year 2037. PlannedDates *DateRange `json:"plannedDates,omitempty"` // PlannedSpendAmountMicros: The amount the campaign is expected to spend for // its given planned_dates. This will not limit serving, but will be used for // tracking spend in the DV360 UI. The amount is in micros. Must be greater // than or equal to 0. For example, 500000000 represents 500 standard units of // the currency. PlannedSpendAmountMicros int64 `json:"plannedSpendAmountMicros,omitempty,string"` // ForceSendFields is a list of field names (e.g. "PlannedDates") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PlannedDates") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CampaignFlight) MarshalJSON() ([]byte, error) { type NoMethod CampaignFlight return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CampaignGoal: Settings that control the goal of a campaign. type CampaignGoal struct { // CampaignGoalType: Required. The type of the campaign goal. // // Possible values: // "CAMPAIGN_GOAL_TYPE_UNSPECIFIED" - Goal value is not specified or unknown // in this version. // "CAMPAIGN_GOAL_TYPE_APP_INSTALL" - Drive app installs or engagements. // "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS" - Raise awareness of a brand or // product. // "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION" - Drive offline or in-store sales. // "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" - Drive online action or visits. CampaignGoalType string `json:"campaignGoalType,omitempty"` // PerformanceGoal: Required. The performance goal of the campaign. Acceptable // values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * // `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * // `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * // `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER` PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"` // ForceSendFields is a list of field names (e.g. "CampaignGoalType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CampaignGoalType") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CampaignGoal) MarshalJSON() ([]byte, error) { type NoMethod CampaignGoal return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CarrierAndIspAssignedTargetingOptionDetails: Details for assigned carrier // and ISP targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_CARRIER_AND_ISP`. type CarrierAndIspAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the carrier or ISP. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. All // assigned carrier and ISP targeting options on the same resource must have // the same value for this field. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_CARRIER_AND_ISP`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CarrierAndIspAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod CarrierAndIspAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CarrierAndIspTargetingOptionDetails: Represents a targetable carrier or ISP. // This will be populated in the carrier_and_isp_details field of a // TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. type CarrierAndIspTargetingOptionDetails struct { // DisplayName: Output only. The display name of the carrier or ISP. DisplayName string `json:"displayName,omitempty"` // Type: Output only. The type indicating if it's carrier or ISP. // // Possible values: // "CARRIER_AND_ISP_TYPE_UNSPECIFIED" - Default value when type is not // specified or is unknown in this version. // "CARRIER_AND_ISP_TYPE_ISP" - Indicates this targeting resource refers to // an ISP. // "CARRIER_AND_ISP_TYPE_CARRIER" - Indicates this targeting resource refers // to a mobile carrier. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CarrierAndIspTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod CarrierAndIspTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CategoryAssignedTargetingOptionDetails: Assigned category targeting option // details. This will be populated in the category_details field when // targeting_type is `TARGETING_TYPE_CATEGORY`. type CategoryAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the category. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_CATEGORY`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod CategoryAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CategoryTargetingOptionDetails: Represents a targetable category. This will // be populated in the category_details field of a TargetingOption when // targeting_type is `TARGETING_TYPE_CATEGORY`. type CategoryTargetingOptionDetails struct { // DisplayName: Output only. The display name of the category. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod CategoryTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Channel: A single channel. Channels are custom groups of related websites // and apps. type Channel struct { // AdvertiserId: The ID of the advertiser that owns the channel. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // ChannelId: Output only. The unique ID of the channel. Assigned by the // system. ChannelId int64 `json:"channelId,omitempty,string"` // DisplayName: Required. The display name of the channel. Must be UTF-8 // encoded with a maximum length of 240 bytes. DisplayName string `json:"displayName,omitempty"` // Name: Output only. The resource name of the channel. Name string `json:"name,omitempty"` // NegativelyTargetedLineItemCount: Output only. Number of line items that are // directly targeting this channel negatively. NegativelyTargetedLineItemCount int64 `json:"negativelyTargetedLineItemCount,omitempty,string"` // PartnerId: The ID of the partner that owns the channel. PartnerId int64 `json:"partnerId,omitempty,string"` // PositivelyTargetedLineItemCount: Output only. Number of line items that are // directly targeting this channel positively. PositivelyTargetedLineItemCount int64 `json:"positivelyTargetedLineItemCount,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Channel) MarshalJSON() ([]byte, error) { type NoMethod Channel return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ChannelAssignedTargetingOptionDetails: Details for assigned channel // targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`. type ChannelAssignedTargetingOptionDetails struct { // ChannelId: Required. ID of the channel. Should refer to the channel ID field // on a Partner-owned channel (partners.channels#Channel.FIELDS.channel_id) or // advertiser-owned channel (advertisers.channels#Channel.FIELDS.channel_id) // resource. ChannelId int64 `json:"channelId,omitempty,string"` // Negative: Indicates if this option is being negatively targeted. For // advertiser level assigned targeting option, this field must be true. Negative bool `json:"negative,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CmHybridConfig: Settings for advertisers that use both Campaign Manager 360 // (CM360) and third-party ad servers. type CmHybridConfig struct { // CmAccountId: Required. Immutable. Account ID of the CM360 Floodlight // configuration linked with the DV360 advertiser. CmAccountId int64 `json:"cmAccountId,omitempty,string"` // CmAdvertiserIds: Output only. The set of CM360 Advertiser IDs sharing the // CM360 Floodlight configuration. CmAdvertiserIds googleapi.Int64s `json:"cmAdvertiserIds,omitempty"` // CmFloodlightConfigId: Required. Immutable. ID of the CM360 Floodlight // configuration linked with the DV360 advertiser. CmFloodlightConfigId int64 `json:"cmFloodlightConfigId,omitempty,string"` // CmFloodlightLinkingAuthorized: Required. Immutable. By setting this field to // `true`, you, on behalf of your company, authorize the sharing of information // from the given Floodlight configuration to this Display & Video 360 // advertiser. CmFloodlightLinkingAuthorized bool `json:"cmFloodlightLinkingAuthorized,omitempty"` // CmSyncableSiteIds: A list of CM360 sites whose placements will be synced to // DV360 as creatives. If absent or empty in CreateAdvertiser method, the // system will automatically create a CM360 site. Removing sites from this list // may cause DV360 creatives synced from CM360 to be deleted. At least one site // must be specified. CmSyncableSiteIds googleapi.Int64s `json:"cmSyncableSiteIds,omitempty"` // Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to CM360. Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"` // Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in CM360 // data transfer reports. Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"` // ForceSendFields is a list of field names (e.g. "CmAccountId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CmAccountId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CmHybridConfig) MarshalJSON() ([]byte, error) { type NoMethod CmHybridConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CmTrackingAd: A Campaign Manager 360 tracking ad. type CmTrackingAd struct { // CmAdId: The ad ID of the campaign manager 360 tracking Ad. CmAdId int64 `json:"cmAdId,omitempty,string"` // CmCreativeId: The creative ID of the campaign manager 360 tracking Ad. CmCreativeId int64 `json:"cmCreativeId,omitempty,string"` // CmPlacementId: The placement ID of the campaign manager 360 tracking Ad. CmPlacementId int64 `json:"cmPlacementId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CmAdId") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CmAdId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CmTrackingAd) MarshalJSON() ([]byte, error) { type NoMethod CmTrackingAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CombinedAudience: Describes a combined audience resource. type CombinedAudience struct { // CombinedAudienceId: Output only. The unique ID of the combined audience. // Assigned by the system. CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"` // DisplayName: Output only. The display name of the combined audience. . DisplayName string `json:"displayName,omitempty"` // Name: Output only. The resource name of the combined audience. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CombinedAudienceId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CombinedAudienceId") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CombinedAudience) MarshalJSON() ([]byte, error) { type NoMethod CombinedAudience return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CombinedAudienceGroup: Details of combined audience group. All combined // audience targeting settings are logically ‘OR’ of each other. type CombinedAudienceGroup struct { // Settings: Required. All combined audience targeting settings in combined // audience group. Repeated settings with same id will be ignored. The number // of combined audience settings should be no more than five, error will be // thrown otherwise. Settings []*CombinedAudienceTargetingSetting `json:"settings,omitempty"` // ForceSendFields is a list of field names (e.g. "Settings") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Settings") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CombinedAudienceGroup) MarshalJSON() ([]byte, error) { type NoMethod CombinedAudienceGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CombinedAudienceTargetingSetting: Details of combined audience targeting // setting. type CombinedAudienceTargetingSetting struct { // CombinedAudienceId: Required. Combined audience id of combined audience // targeting setting. This id is combined_audience_id. CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CombinedAudienceId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CombinedAudienceId") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CombinedAudienceTargetingSetting) MarshalJSON() ([]byte, error) { type NoMethod CombinedAudienceTargetingSetting return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CommonInStreamAttribute: Common attributes for in-stream, non-skippable and // bumper ads. type CommonInStreamAttribute struct { // ActionButtonLabel: The text on the call-to-action button. ActionButtonLabel string `json:"actionButtonLabel,omitempty"` // ActionHeadline: The headline of the call-to-action banner. ActionHeadline string `json:"actionHeadline,omitempty"` // CompanionBanner: The image which shows next to the video ad. CompanionBanner *ImageAsset `json:"companionBanner,omitempty"` // DisplayUrl: The webpage address that appears with the ad. DisplayUrl string `json:"displayUrl,omitempty"` // FinalUrl: The URL address of the webpage that people reach after they click // the ad. FinalUrl string `json:"finalUrl,omitempty"` // TrackingUrl: The URL address loaded in the background for tracking purposes. TrackingUrl string `json:"trackingUrl,omitempty"` // Video: The YouTube video of the ad. Video *YoutubeVideoDetails `json:"video,omitempty"` // ForceSendFields is a list of field names (e.g. "ActionButtonLabel") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActionButtonLabel") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommonInStreamAttribute) MarshalJSON() ([]byte, error) { type NoMethod CommonInStreamAttribute return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Consent: User consent status. type Consent struct { // AdPersonalization: Represents consent for ad personalization. // // Possible values: // "CONSENT_STATUS_UNSPECIFIED" - Type value is not specified or is unknown // in this version. // "CONSENT_STATUS_GRANTED" - Consent is granted. // "CONSENT_STATUS_DENIED" - Consent is denied. AdPersonalization string `json:"adPersonalization,omitempty"` // AdUserData: Represents consent for ad user data. // // Possible values: // "CONSENT_STATUS_UNSPECIFIED" - Type value is not specified or is unknown // in this version. // "CONSENT_STATUS_GRANTED" - Consent is granted. // "CONSENT_STATUS_DENIED" - Consent is denied. AdUserData string `json:"adUserData,omitempty"` // ForceSendFields is a list of field names (e.g. "AdPersonalization") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdPersonalization") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Consent) MarshalJSON() ([]byte, error) { type NoMethod Consent return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContactInfo: Contact information defining a Customer Match audience member. type ContactInfo struct { // CountryCode: Country code of the member. Must also be set with the following // fields: * hashed_first_name * hashed_last_name * zip_codes CountryCode string `json:"countryCode,omitempty"` // HashedEmails: A list of SHA256 hashed email of the member. Before hashing, // remove all whitespace and make sure the string is all lowercase. HashedEmails []string `json:"hashedEmails,omitempty"` // HashedFirstName: SHA256 hashed first name of the member. Before hashing, // remove all whitespace and make sure the string is all lowercase. Must also // be set with the following fields: * country_code * hashed_last_name * // zip_codes HashedFirstName string `json:"hashedFirstName,omitempty"` // HashedLastName: SHA256 hashed last name of the member. Before hashing, // remove all whitespace and make sure the string is all lowercase. Must also // be set with the following fields: * country_code * hashed_first_name * // zip_codes HashedLastName string `json:"hashedLastName,omitempty"` // HashedPhoneNumbers: A list of SHA256 hashed phone numbers of the member. // Before hashing, all phone numbers must be formatted using the E.164 format // (//en.wikipedia.org/wiki/E.164) and include the country calling code. HashedPhoneNumbers []string `json:"hashedPhoneNumbers,omitempty"` // ZipCodes: A list of zip codes of the member. Must also be set with the // following fields: * country_code * hashed_first_name * hashed_last_name ZipCodes []string `json:"zipCodes,omitempty"` // ForceSendFields is a list of field names (e.g. "CountryCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CountryCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContactInfo) MarshalJSON() ([]byte, error) { type NoMethod ContactInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContactInfoList: Wrapper message for a list of contact information defining // Customer Match audience members. type ContactInfoList struct { // Consent: Input only. The consent setting for the users in contact_infos. // Leaving this field unset indicates that consent is not specified. If // ad_user_data or ad_personalization fields are set to // `CONSENT_STATUS_DENIED`, the request will return an error. Consent *Consent `json:"consent,omitempty"` // ContactInfos: A list of ContactInfo objects defining Customer Match audience // members. The size of members after splitting the contact_infos mustn't be // greater than 500,000. ContactInfos []*ContactInfo `json:"contactInfos,omitempty"` // ForceSendFields is a list of field names (e.g. "Consent") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Consent") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContactInfoList) MarshalJSON() ([]byte, error) { type NoMethod ContactInfoList return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentDurationAssignedTargetingOptionDetails: Details for content duration // assigned targeting option. This will be populated in the // content_duration_details field when targeting_type is // `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not // supported. Remove all content duration targeting options to achieve this // effect. type ContentDurationAssignedTargetingOptionDetails struct { // ContentDuration: Output only. The content duration. // // Possible values: // "CONTENT_DURATION_UNSPECIFIED" - Content duration is not specified in this // version. This enum is a place holder for a default value and does not // represent a real content duration. // "CONTENT_DURATION_UNKNOWN" - The content duration is unknown. // "CONTENT_DURATION_0_TO_1_MIN" - Content is 0-1 minute long. // "CONTENT_DURATION_1_TO_5_MIN" - Content is 1-5 minutes long. // "CONTENT_DURATION_5_TO_15_MIN" - Content is 5-15 minutes long. // "CONTENT_DURATION_15_TO_30_MIN" - Content is 15-30 minutes long. // "CONTENT_DURATION_30_TO_60_MIN" - Content is 30-60 minutes long. // "CONTENT_DURATION_OVER_60_MIN" - Content is over 60 minutes long. ContentDuration string `json:"contentDuration,omitempty"` // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentDuration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDuration") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentDurationAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentDurationAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentDurationTargetingOptionDetails: Represents a targetable content // duration. This will be populated in the content_duration_details field when // targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. type ContentDurationTargetingOptionDetails struct { // ContentDuration: Output only. The content duration. // // Possible values: // "CONTENT_DURATION_UNSPECIFIED" - Content duration is not specified in this // version. This enum is a place holder for a default value and does not // represent a real content duration. // "CONTENT_DURATION_UNKNOWN" - The content duration is unknown. // "CONTENT_DURATION_0_TO_1_MIN" - Content is 0-1 minute long. // "CONTENT_DURATION_1_TO_5_MIN" - Content is 1-5 minutes long. // "CONTENT_DURATION_5_TO_15_MIN" - Content is 5-15 minutes long. // "CONTENT_DURATION_15_TO_30_MIN" - Content is 15-30 minutes long. // "CONTENT_DURATION_30_TO_60_MIN" - Content is 30-60 minutes long. // "CONTENT_DURATION_OVER_60_MIN" - Content is over 60 minutes long. ContentDuration string `json:"contentDuration,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentDuration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDuration") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentDurationTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentDurationTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentGenreAssignedTargetingOptionDetails: Details for content genre // assigned targeting option. This will be populated in the // content_genre_details field when targeting_type is // `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all options is not // supported. Remove all content genre targeting options to achieve this // effect. type ContentGenreAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the content genre. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentGenreAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentGenreAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentGenreTargetingOptionDetails: Represents a targetable content genre. // This will be populated in the content_genre_details field when // targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. type ContentGenreTargetingOptionDetails struct { // DisplayName: Output only. The display name of the content genre DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentGenreTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentGenreTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentInstreamPositionAssignedTargetingOptionDetails: Assigned content // instream position targeting option details. This will be populated in the // content_instream_position_details field when targeting_type is // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. type ContentInstreamPositionAssignedTargetingOptionDetails struct { // AdType: Output only. The ad type to target. Only applicable to insertion // order targeting and new line items supporting the specified ad type will // inherit this targeting option by default. Possible values are: * // `AD_TYPE_VIDEO`, the setting will be inherited by new line item when // line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. * `AD_TYPE_AUDIO`, the // setting will be inherited by new line item when line_item_type is // `LINE_ITEM_TYPE_AUDIO_DEFAULT`. // // Possible values: // "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this // version. // "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5. // "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during // streaming content in video players. // "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio // content. AdType string `json:"adType,omitempty"` // ContentInstreamPosition: Required. The content instream position for video // or audio ads. // // Possible values: // "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position is not // specified in this version. This enum is a place holder for a default value // and does not represent a real in stream ad position. // "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before streaming // content. // "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the beginning // and end of streaming content. // "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of // streaming content. // "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is unknown. ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "AdType") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentInstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentInstreamPositionAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentInstreamPositionTargetingOptionDetails: Represents a targetable // content instream position, which could be used by video and audio ads. This // will be populated in the content_instream_position_details field when // targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. type ContentInstreamPositionTargetingOptionDetails struct { // ContentInstreamPosition: Output only. The content instream position. // // Possible values: // "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position is not // specified in this version. This enum is a place holder for a default value // and does not represent a real in stream ad position. // "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before streaming // content. // "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the beginning // and end of streaming content. // "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of // streaming content. // "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is unknown. ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentInstreamPosition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentInstreamPosition") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentInstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentInstreamPositionTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentOutstreamPositionAssignedTargetingOptionDetails: Assigned content // outstream position targeting option details. This will be populated in the // content_outstream_position_details field when targeting_type is // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. type ContentOutstreamPositionAssignedTargetingOptionDetails struct { // AdType: Output only. The ad type to target. Only applicable to insertion // order targeting and new line items supporting the specified ad type will // inherit this targeting option by default. Possible values are: * // `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when // line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the // setting will be inherited by new line item when line_item_type is // `LINE_ITEM_TYPE_VIDEO_DEFAULT`. // // Possible values: // "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this // version. // "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5. // "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during // streaming content in video players. // "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio // content. AdType string `json:"adType,omitempty"` // ContentOutstreamPosition: Required. The content outstream position. // // Possible values: // "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream position is // not specified in this version. This enum is a place holder for a default // value and does not represent a real content outstream position. // "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown in the // content outstream. // "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between the // paragraphs of your pages. // "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the top and // the sides of a page. // "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a scrollable // stream of content. A feed is typically editorial (e.g. a list of articles or // news) or listings (e.g. a list of products or services). // "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or between // content loads. ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "AdType") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentOutstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentOutstreamPositionAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentOutstreamPositionTargetingOptionDetails: Represents a targetable // content outstream position, which could be used by display and video ads. // This will be populated in the content_outstream_position_details field when // targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. type ContentOutstreamPositionTargetingOptionDetails struct { // ContentOutstreamPosition: Output only. The content outstream position. // // Possible values: // "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream position is // not specified in this version. This enum is a place holder for a default // value and does not represent a real content outstream position. // "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown in the // content outstream. // "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between the // paragraphs of your pages. // "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the top and // the sides of a page. // "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a scrollable // stream of content. A feed is typically editorial (e.g. a list of articles or // news) or listings (e.g. a list of products or services). // "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or between // content loads. ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentOutstreamPosition") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentOutstreamPosition") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentOutstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentOutstreamPositionTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentStreamTypeAssignedTargetingOptionDetails: Details for content stream // type assigned targeting option. This will be populated in the // content_stream_type_details field when targeting_type is // `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly targeting all options is // not supported. Remove all content stream type targeting options to achieve // this effect. type ContentStreamTypeAssignedTargetingOptionDetails struct { // ContentStreamType: Output only. The content stream type. // // Possible values: // "CONTENT_STREAM_TYPE_UNSPECIFIED" - Content stream type is not specified // in this version. This enum is a place holder for a default value and does // not represent a real content stream type. // "CONTENT_LIVE_STREAM" - The content is being live-streamed. // "CONTENT_ON_DEMAND" - The content is viewed on-demand. ContentStreamType string `json:"contentStreamType,omitempty"` // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentStreamType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentStreamType") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentStreamTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentStreamTypeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentStreamTypeTargetingOptionDetails: Represents a targetable content // stream type. This will be populated in the content_stream_type_details field // when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. type ContentStreamTypeTargetingOptionDetails struct { // ContentStreamType: Output only. The content stream type. // // Possible values: // "CONTENT_STREAM_TYPE_UNSPECIFIED" - Content stream type is not specified // in this version. This enum is a place holder for a default value and does // not represent a real content stream type. // "CONTENT_LIVE_STREAM" - The content is being live-streamed. // "CONTENT_ON_DEMAND" - The content is viewed on-demand. ContentStreamType string `json:"contentStreamType,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentStreamType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentStreamType") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentStreamTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ContentStreamTypeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ConversionCountingConfig: Settings that control how conversions are counted. // All post-click conversions will be counted. A percentage value can be set // for post-view conversions counting. type ConversionCountingConfig struct { // FloodlightActivityConfigs: The Floodlight activity configs used to track // conversions. The number of conversions counted is the sum of all of the // conversions counted by all of the Floodlight activity IDs specified in this // field. FloodlightActivityConfigs []*TrackingFloodlightActivityConfig `json:"floodlightActivityConfigs,omitempty"` // PostViewCountPercentageMillis: The percentage of post-view conversions to // count, in millis (1/1000 of a percent). Must be between 0 and 100000 // inclusive. For example, to track 50% of the post-click conversions, set a // value of 50000. PostViewCountPercentageMillis int64 `json:"postViewCountPercentageMillis,omitempty,string"` // ForceSendFields is a list of field names (e.g. "FloodlightActivityConfigs") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FloodlightActivityConfigs") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ConversionCountingConfig) MarshalJSON() ([]byte, error) { type NoMethod ConversionCountingConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CounterEvent: Counter event of the creative. type CounterEvent struct { // Name: Required. The name of the counter event. Name string `json:"name,omitempty"` // ReportingName: Required. The name used to identify this counter event in // reports. ReportingName string `json:"reportingName,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CounterEvent) MarshalJSON() ([]byte, error) { type NoMethod CounterEvent return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreateAssetRequest: A request message for CreateAsset. type CreateAssetRequest struct { // Filename: Required. The filename of the asset, including the file extension. // The filename must be UTF-8 encoded with a maximum size of 240 bytes. Filename string `json:"filename,omitempty"` // ForceSendFields is a list of field names (e.g. "Filename") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Filename") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateAssetRequest) MarshalJSON() ([]byte, error) { type NoMethod CreateAssetRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreateAssetResponse: A response message for CreateAsset. type CreateAssetResponse struct { // Asset: The uploaded asset, if successful. Asset *Asset `json:"asset,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Asset") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Asset") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateAssetResponse) MarshalJSON() ([]byte, error) { type NoMethod CreateAssetResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreateAssignedTargetingOptionsRequest: A request listing which assigned // targeting options of a given targeting type should be created and added. type CreateAssignedTargetingOptionsRequest struct { // AssignedTargetingOptions: Required. The assigned targeting options to create // and add. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // TargetingType: Required. Identifies the type of this assigned targeting // option. // // Possible values: // "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or // is unknown in this version. // "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related // websites or apps). // "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example, // education or puzzle games). // "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds). // "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com). // "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on // a specific day. // "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for // example, 18-24). // "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified // regions on a regional location list. // "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified // points of interest on a proximity location list. // "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example, // female or male). // "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size // for video ads. // "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for // video ads. // "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental // status (for example, parent or not a parent). // "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in // a specific content instream position (for example, pre-roll, mid-roll, or // post-roll). // "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific // content outstream position. // "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for // example, tablet or connected TV). // "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of // audiences. Singleton field, at most one can exist on a single Lineitem at a // time. // "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for // example, Chrome). // "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household // income range (for example, top 10%). // "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen // position. // "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third // party verification (for example, IAS or DoubleVerify). // "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by // specific digital content label ratings (for example, DL-MA: suitable only // for mature audiences). // "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by // sensitive categories (for example, adult). // "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for // example, web or app). // "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network // carrier or internet service provider (ISP) (for example, Comcast or Orange). // "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating // system (for example, macOS). // "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make // or model (for example, Roku or Samsung). // "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example, // dog or retriever). // "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative // keyword list. // "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for // example, 80% viewable). // "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for // example, arts & entertainment). // "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific // deals and auction packages. // "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for // example, English or Japanese). // "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt // authorized sellers. If no targeting option of this type is assigned, the // resource uses the "Authorized Direct Sellers and Resellers" option by // default. // "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location // (for example, a city or state). // "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a // group of deals and auction packages. // "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges. // "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific // sub-exchanges. // "TARGETING_TYPE_POI" - Target ads around a specific point of interest, // such as a notable building, a street address, or latitude/longitude // coordinates. // "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a // business chain within a specific geo region. // "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content // duration. // "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video // content stream type. // "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native // content position. // "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled // inventory. // "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio // content type. // "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre. // "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video. // Targeting of this type cannot be created or updated using the API. Although // this targeting is inherited by child resources, **inherited targeting of // this type will not be retrieveable**. // "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube // channel. Targeting of this type cannot be created or updated using the API. // Although this targeting is inherited by child resources, **inherited // targeting of this type will not be retrieveable**. // "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain // position of a session. Only supported for Ad Group resources under YouTube // Programmatic Reservation line items. Targeting of this type cannot be // created or updated using the API. TargetingType string `json:"targetingType,omitempty"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) { type NoMethod CreateAssignedTargetingOptionsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreateSdfDownloadTaskRequest: Request message for // [SdfDownloadTaskService.CreateSdfDownloadTask]. type CreateSdfDownloadTaskRequest struct { // AdvertiserId: The ID of the advertiser to download SDF for. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // IdFilter: Filters on entities by their entity IDs. IdFilter *IdFilter `json:"idFilter,omitempty"` // InventorySourceFilter: Filters on Inventory Sources by their IDs. InventorySourceFilter *InventorySourceFilter `json:"inventorySourceFilter,omitempty"` // ParentEntityFilter: Filters on selected file types. The entities in each // file are filtered by a chosen set of filter entities. The filter entities // must be the same type as, or a parent type of, the selected file types. ParentEntityFilter *ParentEntityFilter `json:"parentEntityFilter,omitempty"` // PartnerId: The ID of the partner to download SDF for. PartnerId int64 `json:"partnerId,omitempty,string"` // Version: Required. The SDF version of the downloaded file. If set to // `SDF_VERSION_UNSPECIFIED`, this will default to the version specified by the // advertiser or partner identified by `root_id`. An advertiser inherits its // SDF version from its partner unless configured otherwise. // // Possible values: // "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is // unknown in this version. // "SDF_VERSION_3_1" - SDF version 3.1 // "SDF_VERSION_4" - SDF version 4 // "SDF_VERSION_4_1" - SDF version 4.1 // "SDF_VERSION_4_2" - SDF version 4.2 // "SDF_VERSION_5" - SDF version 5. // "SDF_VERSION_5_1" - SDF version 5.1 // "SDF_VERSION_5_2" - SDF version 5.2 // "SDF_VERSION_5_3" - SDF version 5.3 // "SDF_VERSION_5_4" - SDF version 5.4 // "SDF_VERSION_5_5" - SDF version 5.5 // "SDF_VERSION_6" - SDF version 6 // "SDF_VERSION_7" - SDF version 7. Read the [v7 migration // guide](/display-video/api/structured-data-file/v7-migration-guide) before // migrating to this version. Version string `json:"version,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateSdfDownloadTaskRequest) MarshalJSON() ([]byte, error) { type NoMethod CreateSdfDownloadTaskRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Creative: A single Creative. type Creative struct { // AdditionalDimensions: Additional dimensions. Applicable when creative_type // is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * // `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * // `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is // specified, width_pixels and height_pixels are both required and must be // greater than or equal to 0. AdditionalDimensions []*Dimensions `json:"additionalDimensions,omitempty"` // AdvertiserId: Output only. The unique ID of the advertiser the creative // belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // AppendedTag: Third-party HTML tracking tag to be appended to the creative // tag. AppendedTag string `json:"appendedTag,omitempty"` // Assets: Required. Assets associated to this creative. Assets []*AssetAssociation `json:"assets,omitempty"` // CmPlacementId: Output only. The unique ID of the Campaign Manager 360 // placement associated with the creative. This field is only applicable for // creatives that are synced from Campaign Manager. CmPlacementId int64 `json:"cmPlacementId,omitempty,string"` // CmTrackingAd: The Campaign Manager 360 tracking ad associated with the // creative. Optional for the following creative_type when created by an // advertiser that uses both Campaign Manager 360 and third-party ad serving: * // `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for // other cases. CmTrackingAd *CmTrackingAd `json:"cmTrackingAd,omitempty"` // CompanionCreativeIds: The IDs of companion creatives for a video creative. // You can assign existing display creatives (with image or HTML5 assets) to // serve surrounding the publisher's video player. Companions display around // the video player while the video is playing and remain after the video has // completed. Creatives contain additional dimensions can not be companion // creatives. This field is only supported for following creative_type: * // `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"` // CounterEvents: Counter events for a rich media creative. Counters track the // number of times that a user interacts with any part of a rich media creative // in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, // keyboard entries, etc.). Any event that can be captured in the creative can // be recorded as a counter. Leave it empty or unset for creatives containing // image assets only. CounterEvents []*CounterEvent `json:"counterEvents,omitempty"` // CreateTime: Output only. The timestamp when the creative was created. // Assigned by the system. CreateTime string `json:"createTime,omitempty"` // CreativeAttributes: Output only. A list of attributes of the creative that // is generated by the system. // // Possible values: // "CREATIVE_ATTRIBUTE_UNSPECIFIED" - The creative attribute is not specified // or is unknown in this version. // "CREATIVE_ATTRIBUTE_VAST" - The creative is a VAST creative. // "CREATIVE_ATTRIBUTE_VPAID_LINEAR" - The creative is a linear VPAID // creative. // "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" - The creative is a non-linear VPAID // creative. CreativeAttributes []string `json:"creativeAttributes,omitempty"` // CreativeId: Output only. The unique ID of the creative. Assigned by the // system. CreativeId int64 `json:"creativeId,omitempty,string"` // CreativeType: Required. Immutable. The type of the creative. // // Possible values: // "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and update // methods are supported for this creative type if the hosting_source is one of // the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` // "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update // methods are supported for this creative type if the hosting_source is // `HOSTING_SOURCE_THIRD_PARTY` // "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods are // supported for this creative type if the hosting_source is one of the // following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` // "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers with // assets from advertiser. Create and update methods are supported for this // creative type if the hosting_source is `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install mobile // creative (banner). Create and update methods are **not** supported for this // creative type. // "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create and // update methods are supported for this creative type if the hosting_source is // `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial creative // including both display and video. Create and update methods are **not** // supported for this creative type. // "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox creative. // Create and update methods are **not** supported for this creative type. // "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative. Create // and update methods are **not** supported for this creative type. // "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app install // creative. Create and update methods are **not** supported for this creative // type. // "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods are // supported for this creative type if the hosting_source is // `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative. Create and // update methods are **not** supported for this creative type. // "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and update // methods are supported for this creative type if the hosting_source is // `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install mobile // video creative. Create and update methods are **not** supported for this // creative type. CreativeType string `json:"creativeType,omitempty"` // Dimensions: Required. Primary dimensions of the creative. Applicable to all // creative types. The value of width_pixels and height_pixels defaults to `0` // when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * // `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` Dimensions *Dimensions `json:"dimensions,omitempty"` // DisplayName: Required. The display name of the creative. Must be UTF-8 // encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // Dynamic: Output only. Indicates whether the creative is dynamic. Dynamic bool `json:"dynamic,omitempty"` // EntityStatus: Required. Controls whether or not the creative can serve. // Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` * // `ENTITY_STATUS_PAUSED` // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // ExitEvents: Required. Exit events for this creative. An exit (also known as // a click tag) is any area in your creative that someone can click or tap to // open an advertiser's landing page. Every creative must include at least one // exit. You can add an exit to your creative in any of the following ways: * // Use Google Web Designer's tap area. * Define a JavaScript variable called // "clickTag". * Use the Enabler (Enabler.exit()) to track exits in rich media // formats. ExitEvents []*ExitEvent `json:"exitEvents,omitempty"` // ExpandOnHover: Optional. Indicates the creative will automatically expand on // hover. Optional and only valid for third-party expandable creatives. // Third-party expandable creatives are creatives with following hosting // source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following // creative_type: * `CREATIVE_TYPE_EXPANDABLE` ExpandOnHover bool `json:"expandOnHover,omitempty"` // ExpandingDirection: Optional. Specifies the expanding direction of the // creative. Required and only valid for third-party expandable creatives. // Third-party expandable creatives are creatives with following hosting // source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following // creative_type: * `CREATIVE_TYPE_EXPANDABLE` // // Possible values: // "EXPANDING_DIRECTION_UNSPECIFIED" - The expanding direction is not // specified. // "EXPANDING_DIRECTION_NONE" - Does not expand in any direction. // "EXPANDING_DIRECTION_UP" - Expands up. // "EXPANDING_DIRECTION_DOWN" - Expands down. // "EXPANDING_DIRECTION_LEFT" - Expands left. // "EXPANDING_DIRECTION_RIGHT" - Expands right. // "EXPANDING_DIRECTION_UP_AND_LEFT" - Expands up and to the left side. // "EXPANDING_DIRECTION_UP_AND_RIGHT" - Expands up and to the right side. // "EXPANDING_DIRECTION_DOWN_AND_LEFT" - Expands down and to the left side. // "EXPANDING_DIRECTION_DOWN_AND_RIGHT" - Expands down and to the right side. // "EXPANDING_DIRECTION_UP_OR_DOWN" - Expands either up or down. // "EXPANDING_DIRECTION_LEFT_OR_RIGHT" - Expands to either the left or the // right side. // "EXPANDING_DIRECTION_ANY_DIAGONAL" - Can expand in any diagonal direction. ExpandingDirection string `json:"expandingDirection,omitempty"` // HostingSource: Required. Indicates where the creative is hosted. // // Possible values: // "HOSTING_SOURCE_UNSPECIFIED" - Hosting source is not specified or is // unknown in this version. // "HOSTING_SOURCE_CM" - A creative synced from Campaign Manager 360. Create // and update methods are **not** supported for this hosting type. // "HOSTING_SOURCE_THIRD_PARTY" - A creative hosted by a third-party ad // server (3PAS). Create and update methods are supported for this hosting type // if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` * // `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` * // `CREATIVE_TYPE_VIDEO` // "HOSTING_SOURCE_HOSTED" - A creative created in DV360 and hosted by // Campaign Manager 360. Create and update methods are supported for this // hosting type if the creative_type is one of the following: * // `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` * // `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` * // `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO` // "HOSTING_SOURCE_RICH_MEDIA" - A rich media creative created in Studio and // hosted by Campaign Manager 360. Create and update methods are **not** // supported for this hosting type. HostingSource string `json:"hostingSource,omitempty"` // Html5Video: Output only. Indicates the third-party VAST tag creative // requires HTML5 Video support. Output only and only valid for third-party // VAST tag creatives. Third-party VAST tag creatives are creatives with // following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with // following creative_type: * `CREATIVE_TYPE_VIDEO` Html5Video bool `json:"html5Video,omitempty"` // IasCampaignMonitoring: Indicates whether Integral Ad Science (IAS) campaign // monitoring is enabled. To enable this for the creative, make sure the // Advertiser.creative_config.ias_client_id has been set to your IAS client ID. IasCampaignMonitoring bool `json:"iasCampaignMonitoring,omitempty"` // IntegrationCode: ID information used to link this creative to an external // system. Must be UTF-8 encoded with a length of no more than 10,000 // characters. IntegrationCode string `json:"integrationCode,omitempty"` // JsTrackerUrl: JavaScript measurement URL from supported third-party // verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags // are not supported. This field is only writeable in following creative_type: // * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * // `CREATIVE_TYPE_NATIVE_VIDEO` JsTrackerUrl string `json:"jsTrackerUrl,omitempty"` // LineItemIds: Output only. The IDs of the line items this creative is // associated with. To associate a creative to a line item, use // LineItem.creative_ids instead. LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"` // MediaDuration: Output only. Media duration of the creative. Applicable when // creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * // `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_PUBLISHER_HOSTED` MediaDuration string `json:"mediaDuration,omitempty"` // Mp3Audio: Output only. Indicates the third-party audio creative supports // MP3. Output only and only valid for third-party audio creatives. Third-party // audio creatives are creatives with following hosting_source: * // `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * // `CREATIVE_TYPE_AUDIO` Mp3Audio bool `json:"mp3Audio,omitempty"` // Name: Output only. The resource name of the creative. Name string `json:"name,omitempty"` // Notes: User notes for this creative. Must be UTF-8 encoded with a length of // no more than 20,000 characters. Notes string `json:"notes,omitempty"` // ObaIcon: Specifies the OBA icon for a video creative. This field is only // supported in following creative_type: * `CREATIVE_TYPE_VIDEO` ObaIcon *ObaIcon `json:"obaIcon,omitempty"` // OggAudio: Output only. Indicates the third-party audio creative supports // OGG. Output only and only valid for third-party audio creatives. Third-party // audio creatives are creatives with following hosting_source: * // `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * // `CREATIVE_TYPE_AUDIO` OggAudio bool `json:"oggAudio,omitempty"` // ProgressOffset: Amount of time to play the video before counting a view. // This field is required when skippable is true. This field is only supported // for the following creative_type: * `CREATIVE_TYPE_VIDEO` ProgressOffset *AudioVideoOffset `json:"progressOffset,omitempty"` // RequireHtml5: Optional. Indicates that the creative relies on HTML5 to // render properly. Optional and only valid for third-party tag creatives. // Third-party tag creatives are creatives with following hosting_source: * // `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * // `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` RequireHtml5 bool `json:"requireHtml5,omitempty"` // RequireMraid: Optional. Indicates that the creative requires MRAID (Mobile // Rich Media Ad Interface Definitions system). Set this if the creative relies // on mobile gestures for interactivity, such as swiping or tapping. Optional // and only valid for third-party tag creatives. Third-party tag creatives are // creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` // combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * // `CREATIVE_TYPE_EXPANDABLE` RequireMraid bool `json:"requireMraid,omitempty"` // RequirePingForAttribution: Optional. Indicates that the creative will wait // for a return ping for attribution. Only valid when using a Campaign Manager // 360 tracking ad with a third-party ad server parameter and the // ${DC_DBM_TOKEN} macro. Optional and only valid for third-party tag creatives // or third-party VAST tag creatives. Third-party tag creatives are creatives // with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with // following creative_type: * `CREATIVE_TYPE_STANDARD` * // `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are creatives with // following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with // following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` RequirePingForAttribution bool `json:"requirePingForAttribution,omitempty"` // ReviewStatus: Output only. The current status of the creative review // process. ReviewStatus *ReviewStatusInfo `json:"reviewStatus,omitempty"` // SkipOffset: Amount of time to play the video before the skip button appears. // This field is required when skippable is true. This field is only supported // for the following creative_type: * `CREATIVE_TYPE_VIDEO` SkipOffset *AudioVideoOffset `json:"skipOffset,omitempty"` // Skippable: Whether the user can choose to skip a video creative. This field // is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` Skippable bool `json:"skippable,omitempty"` // ThirdPartyTag: Optional. The original third-party tag used for the creative. // Required and only valid for third-party tag creatives. Third-party tag // creatives are creatives with following hosting_source: * // `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * // `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` ThirdPartyTag string `json:"thirdPartyTag,omitempty"` // ThirdPartyUrls: Tracking URLs from third parties to track interactions with // a video creative. This field is only supported for the following // creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * // `CREATIVE_TYPE_NATIVE_VIDEO` ThirdPartyUrls []*ThirdPartyUrl `json:"thirdPartyUrls,omitempty"` // TimerEvents: Timer custom events for a rich media creative. Timers track the // time during which a user views and interacts with a specified part of a rich // media creative. A creative can have multiple timer events, each timed // independently. Leave it empty or unset for creatives containing image assets // only. TimerEvents []*TimerEvent `json:"timerEvents,omitempty"` // TrackerUrls: Tracking URLs for analytics providers or third-party ad // technology vendors. The URLs must start with https (except on inventory that // doesn't require SSL compliance). If using macros in your URL, use only // macros supported by Display & Video 360. Standard URLs only, no IMG or // SCRIPT tags. This field is only writeable in following creative_type: * // `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * // `CREATIVE_TYPE_NATIVE_VIDEO` TrackerUrls []string `json:"trackerUrls,omitempty"` // Transcodes: Output only. Audio/Video transcodes. Display & Video 360 // transcodes the main asset into a number of alternative versions that use // different file formats or have different properties (resolution, audio bit // rate, and video bit rate), each designed for specific video players or // bandwidths. These transcodes give a publisher's system more options to // choose from for each impression on your video and ensures that the // appropriate file serves based on the viewer’s connection and screen size. // This field is only supported in following creative_type: * // `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO` Transcodes []*Transcode `json:"transcodes,omitempty"` // UniversalAdId: Optional. An optional creative identifier provided by a // registry that is unique across all platforms. Universal Ad ID is part of the // VAST 4.0 standard. It can be modified after the creative is created. This // field is only supported for the following creative_type: * // `CREATIVE_TYPE_VIDEO` UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"` // UpdateTime: Output only. The timestamp when the creative was last updated, // either by the user or system (e.g. creative review). Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // VastTagUrl: Optional. The URL of the VAST tag for a third-party VAST tag // creative. Required and only valid for third-party VAST tag creatives. // Third-party VAST tag creatives are creatives with following hosting_source: // * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * // `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` VastTagUrl string `json:"vastTagUrl,omitempty"` // Vpaid: Output only. Indicates the third-party VAST tag creative requires // VPAID (Digital Video Player-Ad Interface). Output only and only valid for // third-party VAST tag creatives. Third-party VAST tag creatives are creatives // with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with // following creative_type: * `CREATIVE_TYPE_VIDEO` Vpaid bool `json:"vpaid,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdditionalDimensions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdditionalDimensions") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Creative) MarshalJSON() ([]byte, error) { type NoMethod Creative return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreativeConfig: Creative requirements configuration for the inventory // source. type CreativeConfig struct { // CreativeType: The type of creative that can be assigned to the inventory // source. Only the following types are supported: * `CREATIVE_TYPE_STANDARD` * // `CREATIVE_TYPE_VIDEO` // // Possible values: // "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and update // methods are supported for this creative type if the hosting_source is one of // the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` // "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update // methods are supported for this creative type if the hosting_source is // `HOSTING_SOURCE_THIRD_PARTY` // "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods are // supported for this creative type if the hosting_source is one of the // following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` // "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers with // assets from advertiser. Create and update methods are supported for this // creative type if the hosting_source is `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install mobile // creative (banner). Create and update methods are **not** supported for this // creative type. // "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create and // update methods are supported for this creative type if the hosting_source is // `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial creative // including both display and video. Create and update methods are **not** // supported for this creative type. // "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox creative. // Create and update methods are **not** supported for this creative type. // "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative. Create // and update methods are **not** supported for this creative type. // "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app install // creative. Create and update methods are **not** supported for this creative // type. // "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods are // supported for this creative type if the hosting_source is // `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative. Create and // update methods are **not** supported for this creative type. // "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and update // methods are supported for this creative type if the hosting_source is // `HOSTING_SOURCE_HOSTED` // "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install mobile // video creative. Create and update methods are **not** supported for this // creative type. CreativeType string `json:"creativeType,omitempty"` // DisplayCreativeConfig: The configuration for display creatives. Applicable // when creative_type is `CREATIVE_TYPE_STANDARD`. DisplayCreativeConfig *InventorySourceDisplayCreativeConfig `json:"displayCreativeConfig,omitempty"` // VideoCreativeConfig: The configuration for video creatives. Applicable when // creative_type is `CREATIVE_TYPE_VIDEO`. VideoCreativeConfig *InventorySourceVideoCreativeConfig `json:"videoCreativeConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "CreativeType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreativeType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreativeConfig) MarshalJSON() ([]byte, error) { type NoMethod CreativeConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomBiddingAlgorithm: A single custom bidding algorithm. type CustomBiddingAlgorithm struct { // AdvertiserId: Immutable. The unique ID of the advertiser that owns the // custom bidding algorithm. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // CustomBiddingAlgorithmId: Output only. The unique ID of the custom bidding // algorithm. Assigned by the system. CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"` // CustomBiddingAlgorithmType: Required. Immutable. The type of custom bidding // algorithm. // // Possible values: // "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED" - Algorithm type is not // specified or is unknown in this version. // "SCRIPT_BASED" - Algorithm generated through customer-uploaded custom // bidding script files. // "ADS_DATA_HUB_BASED" - Algorithm created through Ads Data Hub product. // "GOAL_BUILDER_BASED" - Algorithm created through goal builder in DV3 UI. CustomBiddingAlgorithmType string `json:"customBiddingAlgorithmType,omitempty"` // DisplayName: Required. The display name of the custom bidding algorithm. // Must be UTF-8 encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // EntityStatus: Controls whether or not the custom bidding algorithm can be // used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * // `ENTITY_STATUS_ARCHIVED` // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // ModelDetails: Output only. The details of custom bidding models for each // advertiser who has access. This field may only include the details of the // queried advertiser if the algorithm `owner` // (/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAl // gorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an // advertiser `accessor` // (/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY // _PARAMETERS.oneof_accessor). ModelDetails []*CustomBiddingModelDetails `json:"modelDetails,omitempty"` // Name: Output only. The resource name of the custom bidding algorithm. Name string `json:"name,omitempty"` // PartnerId: Immutable. The unique ID of the partner that owns the custom // bidding algorithm. PartnerId int64 `json:"partnerId,omitempty,string"` // SharedAdvertiserIds: The IDs of the advertisers who have access to this // algorithm. If advertiser_id is set, this field will only consist of that // value. This field will not be set if the algorithm `owner` // (/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAl // gorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an // advertiser `accessor` // (/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY // _PARAMETERS.oneof_accessor). SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomBiddingAlgorithm) MarshalJSON() ([]byte, error) { type NoMethod CustomBiddingAlgorithm return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomBiddingModelDetails: The details of a custom bidding algorithm model // for a single shared advertiser. type CustomBiddingModelDetails struct { // AdvertiserId: The unique ID of the relevant advertiser. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // ReadinessState: The readiness state of custom bidding model. // // Possible values: // "READINESS_STATE_UNSPECIFIED" - State is not specified or is unknown in // this version. // "READINESS_STATE_ACTIVE" - The model is trained and ready for serving. // "READINESS_STATE_INSUFFICIENT_DATA" - There is not enough data to train // the serving model. // "READINESS_STATE_TRAINING" - The model is training and not ready for // serving. // "READINESS_STATE_NO_VALID_SCRIPT" - A valid custom bidding script has not // been provided with which to train the model. This state will only be applied // to algorithms whose `custom_bidding_algorithm_type` is `SCRIPT_BASED`. ReadinessState string `json:"readinessState,omitempty"` // SuspensionState: Output only. The suspension state of custom bidding model. // // Possible values: // "SUSPENSION_STATE_UNSPECIFIED" - State is not specified or is unknown in // this version. // "SUSPENSION_STATE_ENABLED" - Model is enabled, either recently used, // currently used or scheduled to be used. The algorithm is actively scoring // impressions for this advertiser. // "SUSPENSION_STATE_DORMANT" - Model has not been used recently. Although // the model still acts as `ENABLED`, it will eventually be suspended if not // used. // "SUSPENSION_STATE_SUSPENDED" - Model is suspended from scoring impressions // and cannot serve. If the algorithm is assigned to a line item under this // advertiser or otherwise updated, it will switch back to the `ENABLED` state // and require time to prepare the serving model again. SuspensionState string `json:"suspensionState,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomBiddingModelDetails) MarshalJSON() ([]byte, error) { type NoMethod CustomBiddingModelDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomBiddingScript: A single custom bidding script. type CustomBiddingScript struct { // Active: Output only. Whether the script is currently being used for scoring // by the parent algorithm. Active bool `json:"active,omitempty"` // CreateTime: Output only. The time when the script was created. CreateTime string `json:"createTime,omitempty"` // CustomBiddingAlgorithmId: Output only. The unique ID of the custom bidding // algorithm the script belongs to. CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"` // CustomBiddingScriptId: Output only. The unique ID of the custom bidding // script. CustomBiddingScriptId int64 `json:"customBiddingScriptId,omitempty,string"` // Errors: Output only. Error details of a rejected custom bidding script. This // field will only be populated when state is REJECTED. Errors []*ScriptError `json:"errors,omitempty"` // Name: Output only. The resource name of the custom bidding script. Name string `json:"name,omitempty"` // Script: The reference to the uploaded script file. Script *CustomBiddingScriptRef `json:"script,omitempty"` // State: Output only. The state of the custom bidding script. // // Possible values: // "STATE_UNSPECIFIED" - The script state is not specified or is unknown in // this version. // "ACCEPTED" - The script has been accepted for scoring impressions. // "REJECTED" - The script has been rejected by backend pipelines. It may // have errors. // "PENDING" - The script is being processed for backend pipelines. State string `json:"state,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Active") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Active") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomBiddingScript) MarshalJSON() ([]byte, error) { type NoMethod CustomBiddingScript return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomBiddingScriptRef: The reference to the uploaded custom bidding script // file. type CustomBiddingScriptRef struct { // ResourceName: A resource name to be used in media.download to Download the // script files. Or media.upload to Upload the script files. Resource names // have the format // `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`. ResourceName string `json:"resourceName,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ResourceName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomBiddingScriptRef) MarshalJSON() ([]byte, error) { type NoMethod CustomBiddingScriptRef return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomLabel: The key and value of a custom label. type CustomLabel struct { // Key: The key of the label. // // Possible values: // "CUSTOM_LABEL_KEY_UNSPECIFIED" - Not specified or unknown. // "CUSTOM_LABEL_KEY_0" - Key index 0. // "CUSTOM_LABEL_KEY_1" - Key index 1. // "CUSTOM_LABEL_KEY_2" - Key index 2. // "CUSTOM_LABEL_KEY_3" - Key index 3. // "CUSTOM_LABEL_KEY_4" - Key index 4. Key string `json:"key,omitempty"` // Value: The value of the label. Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Key") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomLabel) MarshalJSON() ([]byte, error) { type NoMethod CustomLabel return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomList: Describes a custom list entity, such as a custom affinity or // custom intent audience list. type CustomList struct { // CustomListId: Output only. The unique ID of the custom list. Assigned by the // system. CustomListId int64 `json:"customListId,omitempty,string"` // DisplayName: Output only. The display name of the custom list. . DisplayName string `json:"displayName,omitempty"` // Name: Output only. The resource name of the custom list. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CustomListId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomListId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomList) MarshalJSON() ([]byte, error) { type NoMethod CustomList return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomListGroup: Details of custom list group. All custom list targeting // settings are logically ‘OR’ of each other. type CustomListGroup struct { // Settings: Required. All custom list targeting settings in custom list group. // Repeated settings with same id will be ignored. Settings []*CustomListTargetingSetting `json:"settings,omitempty"` // ForceSendFields is a list of field names (e.g. "Settings") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Settings") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomListGroup) MarshalJSON() ([]byte, error) { type NoMethod CustomListGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CustomListTargetingSetting: Details of custom list targeting setting. type CustomListTargetingSetting struct { // CustomListId: Required. Custom id of custom list targeting setting. This id // is custom_list_id. CustomListId int64 `json:"customListId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CustomListId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomListId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CustomListTargetingSetting) MarshalJSON() ([]byte, error) { type NoMethod CustomListTargetingSetting return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Date: Represents a whole or partial calendar date, such as a birthday. The // time of day and time zone are either specified elsewhere or are // insignificant. The date is relative to the Gregorian Calendar. This can // represent one of the following: * A full date, with non-zero year, month, // and day values. * A month and day, with a zero year (for example, an // anniversary). * A year on its own, with a zero month and a zero day. * A // year and month, with a zero day (for example, a credit card expiration // date). Related types: * google.type.TimeOfDay * google.type.DateTime * // google.protobuf.Timestamp type Date struct { // Day: Day of a month. Must be from 1 to 31 and valid for the year and month, // or 0 to specify a year by itself or a year and month where the day isn't // significant. Day int64 `json:"day,omitempty"` // Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without // a month and day. Month int64 `json:"month,omitempty"` // Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date // without a year. Year int64 `json:"year,omitempty"` // ForceSendFields is a list of field names (e.g. "Day") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Day") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Date) MarshalJSON() ([]byte, error) { type NoMethod Date return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DateRange: A date range. type DateRange struct { // EndDate: The upper bound of the date range, inclusive. Must specify a // positive value for `year`, `month`, and `day`. EndDate *Date `json:"endDate,omitempty"` // StartDate: The lower bound of the date range, inclusive. Must specify a // positive value for `year`, `month`, and `day`. StartDate *Date `json:"startDate,omitempty"` // ForceSendFields is a list of field names (e.g. "EndDate") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EndDate") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DateRange) MarshalJSON() ([]byte, error) { type NoMethod DateRange return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DayAndTimeAssignedTargetingOptionDetails: Representation of a segment of // time defined on a specific day of the week and with a start and end time. // The time represented by `start_hour` must be before the time represented by // `end_hour`. type DayAndTimeAssignedTargetingOptionDetails struct { // DayOfWeek: Required. The day of the week for this day and time targeting // setting. // // Possible values: // "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified. // "MONDAY" - Monday // "TUESDAY" - Tuesday // "WEDNESDAY" - Wednesday // "THURSDAY" - Thursday // "FRIDAY" - Friday // "SATURDAY" - Saturday // "SUNDAY" - Sunday DayOfWeek string `json:"dayOfWeek,omitempty"` // EndHour: Required. The end hour for day and time targeting. Must be between // 1 (1 hour after start of day) and 24 (end of day). EndHour int64 `json:"endHour,omitempty"` // StartHour: Required. The start hour for day and time targeting. Must be // between 0 (start of day) and 23 (1 hour before end of day). StartHour int64 `json:"startHour,omitempty"` // TimeZoneResolution: Required. The mechanism used to determine which timezone // to use for this day and time targeting setting. // // Possible values: // "TIME_ZONE_RESOLUTION_UNSPECIFIED" - Time zone resolution is either // unspecific or unknown. // "TIME_ZONE_RESOLUTION_END_USER" - Times are resolved in the time zone of // the user that saw the ad. // "TIME_ZONE_RESOLUTION_ADVERTISER" - Times are resolved in the time zone of // the advertiser that served the ad. TimeZoneResolution string `json:"timeZoneResolution,omitempty"` // ForceSendFields is a list of field names (e.g. "DayOfWeek") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DayOfWeek") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DayAndTimeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod DayAndTimeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DeactivateManualTriggerRequest: Request message for // ManualTriggerService.DeactivateManualTrigger. type DeactivateManualTriggerRequest struct { } // DeleteAssignedTargetingOptionsRequest: A request listing which assigned // targeting options of a given targeting type should be deleted. type DeleteAssignedTargetingOptionsRequest struct { // AssignedTargetingOptionIds: Required. The assigned targeting option IDs to // delete. AssignedTargetingOptionIds []string `json:"assignedTargetingOptionIds,omitempty"` // TargetingType: Required. Identifies the type of this assigned targeting // option. // // Possible values: // "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or // is unknown in this version. // "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related // websites or apps). // "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example, // education or puzzle games). // "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds). // "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com). // "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on // a specific day. // "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for // example, 18-24). // "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified // regions on a regional location list. // "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified // points of interest on a proximity location list. // "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example, // female or male). // "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size // for video ads. // "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for // video ads. // "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental // status (for example, parent or not a parent). // "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in // a specific content instream position (for example, pre-roll, mid-roll, or // post-roll). // "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific // content outstream position. // "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for // example, tablet or connected TV). // "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of // audiences. Singleton field, at most one can exist on a single Lineitem at a // time. // "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for // example, Chrome). // "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household // income range (for example, top 10%). // "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen // position. // "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third // party verification (for example, IAS or DoubleVerify). // "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by // specific digital content label ratings (for example, DL-MA: suitable only // for mature audiences). // "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by // sensitive categories (for example, adult). // "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for // example, web or app). // "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network // carrier or internet service provider (ISP) (for example, Comcast or Orange). // "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating // system (for example, macOS). // "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make // or model (for example, Roku or Samsung). // "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example, // dog or retriever). // "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative // keyword list. // "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for // example, 80% viewable). // "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for // example, arts & entertainment). // "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific // deals and auction packages. // "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for // example, English or Japanese). // "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt // authorized sellers. If no targeting option of this type is assigned, the // resource uses the "Authorized Direct Sellers and Resellers" option by // default. // "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location // (for example, a city or state). // "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a // group of deals and auction packages. // "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges. // "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific // sub-exchanges. // "TARGETING_TYPE_POI" - Target ads around a specific point of interest, // such as a notable building, a street address, or latitude/longitude // coordinates. // "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a // business chain within a specific geo region. // "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content // duration. // "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video // content stream type. // "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native // content position. // "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled // inventory. // "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio // content type. // "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre. // "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video. // Targeting of this type cannot be created or updated using the API. Although // this targeting is inherited by child resources, **inherited targeting of // this type will not be retrieveable**. // "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube // channel. Targeting of this type cannot be created or updated using the API. // Although this targeting is inherited by child resources, **inherited // targeting of this type will not be retrieveable**. // "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain // position of a session. Only supported for Ad Group resources under YouTube // Programmatic Reservation line items. Targeting of this type cannot be // created or updated using the API. TargetingType string `json:"targetingType,omitempty"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptionIds") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptionIds") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DeleteAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) { type NoMethod DeleteAssignedTargetingOptionsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DeviceMakeModelAssignedTargetingOptionDetails: Assigned device make and // model targeting option details. This will be populated in the // device_make_model_details field when targeting_type is // `TARGETING_TYPE_DEVICE_MAKE_MODEL`. type DeviceMakeModelAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the device make and model. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DeviceMakeModelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod DeviceMakeModelAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DeviceMakeModelTargetingOptionDetails: Represents a targetable device make // and model. This will be populated in the device_make_model_details field of // a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. type DeviceMakeModelTargetingOptionDetails struct { // DisplayName: Output only. The display name of the device make and model. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DeviceMakeModelTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod DeviceMakeModelTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DeviceTypeAssignedTargetingOptionDetails: Targeting details for device type. // This will be populated in the details field of an AssignedTargetingOption // when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. type DeviceTypeAssignedTargetingOptionDetails struct { // DeviceType: Required. The display name of the device type. // // Possible values: // "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not // specified in this version. This enum is a placeholder for default value and // does not represent a real device type option. // "DEVICE_TYPE_COMPUTER" - Computer. // "DEVICE_TYPE_CONNECTED_TV" - Connected TV. // "DEVICE_TYPE_SMART_PHONE" - Smart phone. // "DEVICE_TYPE_TABLET" - Tablet. DeviceType string `json:"deviceType,omitempty"` // YoutubeAndPartnersBidMultiplier: Output only. Bid multiplier allows you to // show your ads more or less frequently based on the device type. It will // apply a multiplier on the original bid price. When this field is 0, it // indicates this field is not applicable instead of multiplying 0 on the // original bid price. For example, if the bid price without multiplier is // $10.0 and the multiplier is 1.5 for Tablet, the resulting bid price for // Tablet will be $15.0. Only applicable to YouTube and Partners line items. YoutubeAndPartnersBidMultiplier float64 `json:"youtubeAndPartnersBidMultiplier,omitempty"` // ForceSendFields is a list of field names (e.g. "DeviceType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeviceType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DeviceTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod DeviceTypeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *DeviceTypeAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error { type NoMethod DeviceTypeAssignedTargetingOptionDetails var s1 struct { YoutubeAndPartnersBidMultiplier gensupport.JSONFloat64 `json:"youtubeAndPartnersBidMultiplier"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.YoutubeAndPartnersBidMultiplier = float64(s1.YoutubeAndPartnersBidMultiplier) return nil } // DeviceTypeTargetingOptionDetails: Represents a targetable device type. This // will be populated in the device_type_details field of a TargetingOption when // targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. type DeviceTypeTargetingOptionDetails struct { // DeviceType: Output only. The device type that is used to be targeted. // // Possible values: // "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not // specified in this version. This enum is a placeholder for default value and // does not represent a real device type option. // "DEVICE_TYPE_COMPUTER" - Computer. // "DEVICE_TYPE_CONNECTED_TV" - Connected TV. // "DEVICE_TYPE_SMART_PHONE" - Smart phone. // "DEVICE_TYPE_TABLET" - Tablet. DeviceType string `json:"deviceType,omitempty"` // ForceSendFields is a list of field names (e.g. "DeviceType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeviceType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DeviceTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod DeviceTypeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DigitalContentLabelAssignedTargetingOptionDetails: Targeting details for // digital content label. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. type DigitalContentLabelAssignedTargetingOptionDetails struct { // ExcludedContentRatingTier: Required. The display name of the digital content // label rating tier to be EXCLUDED. // // Possible values: // "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified in this // version. This enum is a place holder for a default value and does not // represent a real content rating. // "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled. // "CONTENT_RATING_TIER_GENERAL" - Content suitable for general audiences. // "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most // audiences with parental guidance. // "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older // audiences. // "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature audiences. // "CONTENT_RATING_TIER_FAMILIES" - Content suitable for family audiences. It // is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and // Partners line items. ExcludedContentRatingTier string `json:"excludedContentRatingTier,omitempty"` // ForceSendFields is a list of field names (e.g. "ExcludedContentRatingTier") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ExcludedContentRatingTier") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DigitalContentLabelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod DigitalContentLabelAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DigitalContentLabelTargetingOptionDetails: Represents a targetable digital // content label rating tier. This will be populated in the // digital_content_label_details field of the TargetingOption when // targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. type DigitalContentLabelTargetingOptionDetails struct { // ContentRatingTier: Output only. An enum for the content label brand safety // tiers. // // Possible values: // "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified in this // version. This enum is a place holder for a default value and does not // represent a real content rating. // "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled. // "CONTENT_RATING_TIER_GENERAL" - Content suitable for general audiences. // "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most // audiences with parental guidance. // "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older // audiences. // "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature audiences. // "CONTENT_RATING_TIER_FAMILIES" - Content suitable for family audiences. It // is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and // Partners line items. ContentRatingTier string `json:"contentRatingTier,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentRatingTier") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentRatingTier") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DigitalContentLabelTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod DigitalContentLabelTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Dimensions: Dimensions. type Dimensions struct { // HeightPixels: The height in pixels. HeightPixels int64 `json:"heightPixels,omitempty"` // WidthPixels: The width in pixels. WidthPixels int64 `json:"widthPixels,omitempty"` // ForceSendFields is a list of field names (e.g. "HeightPixels") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "HeightPixels") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Dimensions) MarshalJSON() ([]byte, error) { type NoMethod Dimensions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DisplayVideoSourceAd: The ad sourced from a DV360 creative. type DisplayVideoSourceAd struct { // CreativeId: The ID of the source creative. CreativeId int64 `json:"creativeId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CreativeId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreativeId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DisplayVideoSourceAd) MarshalJSON() ([]byte, error) { type NoMethod DisplayVideoSourceAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DoubleVerify: Details of DoubleVerify settings. type DoubleVerify struct { // AppStarRating: Avoid bidding on apps with the star ratings. AppStarRating *DoubleVerifyAppStarRating `json:"appStarRating,omitempty"` // AvoidedAgeRatings: Avoid bidding on apps with the age rating. // // Possible values: // "AGE_RATING_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any age rating options. // "APP_AGE_RATE_UNKNOWN" - Apps with unknown age rating. // "APP_AGE_RATE_4_PLUS" - Apps rated for Everyone (4+). // "APP_AGE_RATE_9_PLUS" - Apps rated for Everyone (9+). // "APP_AGE_RATE_12_PLUS" - Apps rated for Teens (12+). // "APP_AGE_RATE_17_PLUS" - Apps rated for Mature (17+). // "APP_AGE_RATE_18_PLUS" - Apps rated for Adults Only (18+). AvoidedAgeRatings []string `json:"avoidedAgeRatings,omitempty"` // BrandSafetyCategories: DV Brand Safety Controls. BrandSafetyCategories *DoubleVerifyBrandSafetyCategories `json:"brandSafetyCategories,omitempty"` // CustomSegmentId: The custom segment ID provided by DoubleVerify. The ID must // start with "51" and consist of eight digits. Custom segment ID cannot be // specified along with any of the following fields: * brand_safety_categories // * avoided_age_ratings * app_star_rating * fraud_invalid_traffic CustomSegmentId int64 `json:"customSegmentId,omitempty,string"` // DisplayViewability: Display viewability settings (applicable to display line // items only). DisplayViewability *DoubleVerifyDisplayViewability `json:"displayViewability,omitempty"` // FraudInvalidTraffic: Avoid Sites and Apps with historical Fraud & IVT Rates. FraudInvalidTraffic *DoubleVerifyFraudInvalidTraffic `json:"fraudInvalidTraffic,omitempty"` // VideoViewability: Video viewability settings (applicable to video line items // only). VideoViewability *DoubleVerifyVideoViewability `json:"videoViewability,omitempty"` // ForceSendFields is a list of field names (e.g. "AppStarRating") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AppStarRating") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DoubleVerify) MarshalJSON() ([]byte, error) { type NoMethod DoubleVerify return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DoubleVerifyAppStarRating: Details of DoubleVerify star ratings settings. type DoubleVerifyAppStarRating struct { // AvoidInsufficientStarRating: Avoid bidding on apps with insufficient star // ratings. AvoidInsufficientStarRating bool `json:"avoidInsufficientStarRating,omitempty"` // AvoidedStarRating: Avoid bidding on apps with the star ratings. // // Possible values: // "APP_STAR_RATE_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any app star rating options. // "APP_STAR_RATE_1_POINT_5_LESS" - Official Apps with rating < 1.5 Stars. // "APP_STAR_RATE_2_LESS" - Official Apps with rating < 2 Stars. // "APP_STAR_RATE_2_POINT_5_LESS" - Official Apps with rating < 2.5 Stars. // "APP_STAR_RATE_3_LESS" - Official Apps with rating < 3 Stars. // "APP_STAR_RATE_3_POINT_5_LESS" - Official Apps with rating < 3.5 Stars. // "APP_STAR_RATE_4_LESS" - Official Apps with rating < 4 Stars. // "APP_STAR_RATE_4_POINT_5_LESS" - Official Apps with rating < 4.5 Stars. AvoidedStarRating string `json:"avoidedStarRating,omitempty"` // ForceSendFields is a list of field names (e.g. // "AvoidInsufficientStarRating") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AvoidInsufficientStarRating") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DoubleVerifyAppStarRating) MarshalJSON() ([]byte, error) { type NoMethod DoubleVerifyAppStarRating return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DoubleVerifyBrandSafetyCategories: Settings for brand safety controls. type DoubleVerifyBrandSafetyCategories struct { // AvoidUnknownBrandSafetyCategory: Unknown or unrateable. AvoidUnknownBrandSafetyCategory bool `json:"avoidUnknownBrandSafetyCategory,omitempty"` // AvoidedHighSeverityCategories: Brand safety high severity avoidance // categories. // // Possible values: // "HIGHER_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any high severity categories. // "ADULT_CONTENT_PORNOGRAPHY" - Adult Content: Pornography, Mature Topics & // Nudity. // "COPYRIGHT_INFRINGEMENT" - Copyright Infringement. // "SUBSTANCE_ABUSE" - Drugs/Alcohol/Controlled Substances: Substance Abuse. // "GRAPHIC_VIOLENCE_WEAPONS" - Extreme Graphic/Explicit Violence/Weapons. // "HATE_PROFANITY" - Hate/Profanity. // "CRIMINAL_SKILLS" - Illegal Activities: Criminal Skills. // "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" - Incentivized/Malware/Clutter. AvoidedHighSeverityCategories []string `json:"avoidedHighSeverityCategories,omitempty"` // AvoidedMediumSeverityCategories: Brand safety medium severity avoidance // categories. // // Possible values: // "MEDIUM_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any medium severity categories. // "AD_SERVERS" - Ad Servers. // "ADULT_CONTENT_SWIMSUIT" - Adult Content: Swimsuit. // "ALTERNATIVE_LIFESTYLES" - Controversial Subjects: Alternative Lifestyles. // "CELEBRITY_GOSSIP" - Controversial Subjects: Celebrity Gossip. // "GAMBLING" - Controversial Subjects: Gambling. // "OCCULT" - Controversial Subjects: Occult. // "SEX_EDUCATION" - Controversial Subjects: Sex Education. // "DISASTER_AVIATION" - Disaster: Aviation. // "DISASTER_MAN_MADE" - Disaster: Man-made. // "DISASTER_NATURAL" - Disaster: Natural. // "DISASTER_TERRORIST_EVENTS" - Disaster: Terrorist Events. // "DISASTER_VEHICLE" - Disaster: Vehicle. // "ALCOHOL" - Drugs/Alcohol/Controlled Substances: Alcohol. // "SMOKING" - Drugs/Alcohol/Controlled Substances: Smoking. // "NEGATIVE_NEWS_FINANCIAL" - Negative News: Financial. // "NON_ENGLISH" - Non-Std Content: Non-English. // "PARKING_PAGE" - Non-Std Content: Parking Page. // "UNMODERATED_UGC" - Unmoderated UGC: Forums, Images & Video. // "INFLAMMATORY_POLITICS_AND_NEWS" - Controversial Subjects: Inflammatory // Politics and News. // "NEGATIVE_NEWS_PHARMACEUTICAL" - Negative News: Pharmaceutical. AvoidedMediumSeverityCategories []string `json:"avoidedMediumSeverityCategories,omitempty"` // ForceSendFields is a list of field names (e.g. // "AvoidUnknownBrandSafetyCategory") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AvoidUnknownBrandSafetyCategory") // to include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DoubleVerifyBrandSafetyCategories) MarshalJSON() ([]byte, error) { type NoMethod DoubleVerifyBrandSafetyCategories return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DoubleVerifyDisplayViewability: Details of DoubleVerify display viewability // settings. type DoubleVerifyDisplayViewability struct { // Iab: Target web and app inventory to maximize IAB viewable rate. // // Possible values: // "IAB_VIEWED_RATE_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any IAB viewed rate options. // "IAB_VIEWED_RATE_80_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 80% or higher. // "IAB_VIEWED_RATE_75_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 75% or higher. // "IAB_VIEWED_RATE_70_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 70% or higher. // "IAB_VIEWED_RATE_65_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 65% or higher. // "IAB_VIEWED_RATE_60_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 60% or higher. // "IAB_VIEWED_RATE_55_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 55% or higher. // "IAB_VIEWED_RATE_50_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 50% or higher. // "IAB_VIEWED_RATE_40_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 40% or higher. // "IAB_VIEWED_RATE_30_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 30% or higher. Iab string `json:"iab,omitempty"` // ViewableDuring: Target web and app inventory to maximize 100% viewable // duration. // // Possible values: // "AVERAGE_VIEW_DURATION_UNSPECIFIED" - This enum is only a placeholder and // it doesn't specify any average view duration options. // "AVERAGE_VIEW_DURATION_5_SEC" - Target web and app inventory to maximize // 100% viewable duration 5 seconds or more. // "AVERAGE_VIEW_DURATION_10_SEC" - Target web and app inventory to maximize // 100% viewable duration 10 seconds or more. // "AVERAGE_VIEW_DURATION_15_SEC" - Target web and app inventory to maximize // 100% viewable duration 15 seconds or more. ViewableDuring string `json:"viewableDuring,omitempty"` // ForceSendFields is a list of field names (e.g. "Iab") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Iab") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DoubleVerifyDisplayViewability) MarshalJSON() ([]byte, error) { type NoMethod DoubleVerifyDisplayViewability return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DoubleVerifyFraudInvalidTraffic: DoubleVerify Fraud & Invalid Traffic // settings. type DoubleVerifyFraudInvalidTraffic struct { // AvoidInsufficientOption: Insufficient Historical Fraud & IVT Stats. AvoidInsufficientOption bool `json:"avoidInsufficientOption,omitempty"` // AvoidedFraudOption: Avoid Sites and Apps with historical Fraud & IVT. // // Possible values: // "FRAUD_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any fraud and invalid traffic options. // "AD_IMPRESSION_FRAUD_100" - 100% Fraud & IVT. // "AD_IMPRESSION_FRAUD_50" - 50% or Higher Fraud & IVT. // "AD_IMPRESSION_FRAUD_25" - 25% or Higher Fraud & IVT. // "AD_IMPRESSION_FRAUD_10" - 10% or Higher Fraud & IVT. // "AD_IMPRESSION_FRAUD_8" - 8% or Higher Fraud & IVT. // "AD_IMPRESSION_FRAUD_6" - 6% or Higher Fraud & IVT. // "AD_IMPRESSION_FRAUD_4" - 4% or Higher Fraud & IVT. // "AD_IMPRESSION_FRAUD_2" - 2% or Higher Fraud & IVT. AvoidedFraudOption string `json:"avoidedFraudOption,omitempty"` // ForceSendFields is a list of field names (e.g. "AvoidInsufficientOption") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AvoidInsufficientOption") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DoubleVerifyFraudInvalidTraffic) MarshalJSON() ([]byte, error) { type NoMethod DoubleVerifyFraudInvalidTraffic return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DoubleVerifyVideoViewability: Details of DoubleVerify video viewability // settings. type DoubleVerifyVideoViewability struct { // PlayerImpressionRate: Target inventory to maximize impressions with 400x300 // or greater player size. // // Possible values: // "PLAYER_SIZE_400X300_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any impressions options. // "PLAYER_SIZE_400X300_95" - Sites with 95%+ of impressions. // "PLAYER_SIZE_400X300_70" - Sites with 70%+ of impressions. // "PLAYER_SIZE_400X300_25" - Sites with 25%+ of impressions. // "PLAYER_SIZE_400X300_5" - Sites with 5%+ of impressions. PlayerImpressionRate string `json:"playerImpressionRate,omitempty"` // VideoIab: Target web inventory to maximize IAB viewable rate. // // Possible values: // "VIDEO_IAB_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any video IAB viewable rate options. // "IAB_VIEWABILITY_80_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 80% or higher. // "IAB_VIEWABILITY_75_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 75% or higher. // "IAB_VIEWABILITY_70_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 70% or higher. // "IAB_VIEWABILITY_65_PERCENT_HIHGER" - Target web and app inventory to // maximize IAB viewable rate 65% or higher. // "IAB_VIEWABILITY_60_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 60% or higher. // "IAB_VIEWABILITY_55_PERCENT_HIHGER" - Target web and app inventory to // maximize IAB viewable rate 55% or higher. // "IAB_VIEWABILITY_50_PERCENT_HIGHER" - Target web and app inventory to // maximize IAB viewable rate 50% or higher. // "IAB_VIEWABILITY_40_PERCENT_HIHGER" - Target web and app inventory to // maximize IAB viewable rate 40% or higher. // "IAB_VIEWABILITY_30_PERCENT_HIHGER" - Target web and app inventory to // maximize IAB viewable rate 30% or higher. VideoIab string `json:"videoIab,omitempty"` // VideoViewableRate: Target web inventory to maximize fully viewable rate. // // Possible values: // "VIDEO_VIEWABLE_RATE_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any video viewable rate options. // "VIEWED_PERFORMANCE_40_PERCENT_HIGHER" - Target web inventory to maximize // fully viewable rate 40% or higher. // "VIEWED_PERFORMANCE_35_PERCENT_HIGHER" - Target web inventory to maximize // fully viewable rate 35% or higher. // "VIEWED_PERFORMANCE_30_PERCENT_HIGHER" - Target web inventory to maximize // fully viewable rate 30% or higher. // "VIEWED_PERFORMANCE_25_PERCENT_HIGHER" - Target web inventory to maximize // fully viewable rate 25% or higher. // "VIEWED_PERFORMANCE_20_PERCENT_HIGHER" - Target web inventory to maximize // fully viewable rate 20% or higher. // "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" - Target web inventory to maximize // fully viewable rate 10% or higher. VideoViewableRate string `json:"videoViewableRate,omitempty"` // ForceSendFields is a list of field names (e.g. "PlayerImpressionRate") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PlayerImpressionRate") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DoubleVerifyVideoViewability) MarshalJSON() ([]byte, error) { type NoMethod DoubleVerifyVideoViewability return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DuplicateLineItemRequest: Request message for // LineItemService.DuplicateLineItem. type DuplicateLineItemRequest struct { // TargetDisplayName: The display name of the new line item. Must be UTF-8 // encoded with a maximum size of 240 bytes. TargetDisplayName string `json:"targetDisplayName,omitempty"` // ForceSendFields is a list of field names (e.g. "TargetDisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TargetDisplayName") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DuplicateLineItemRequest) MarshalJSON() ([]byte, error) { type NoMethod DuplicateLineItemRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type DuplicateLineItemResponse struct { // DuplicateLineItemId: The ID of the created line item. DuplicateLineItemId int64 `json:"duplicateLineItemId,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DuplicateLineItemId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DuplicateLineItemId") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DuplicateLineItemResponse) MarshalJSON() ([]byte, error) { type NoMethod DuplicateLineItemResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EditCustomerMatchMembersRequest: Request message for // FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. type EditCustomerMatchMembersRequest struct { // AddedContactInfoList: Input only. A list of contact information to define // the members to be added. AddedContactInfoList *ContactInfoList `json:"addedContactInfoList,omitempty"` // AddedMobileDeviceIdList: Input only. A list of mobile device IDs to define // the members to be added. AddedMobileDeviceIdList *MobileDeviceIdList `json:"addedMobileDeviceIdList,omitempty"` // AdvertiserId: Required. The ID of the owner advertiser of the updated // Customer Match FirstAndThirdPartyAudience. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // RemovedContactInfoList: Input only. A list of contact information to define // the members to be removed. RemovedContactInfoList *ContactInfoList `json:"removedContactInfoList,omitempty"` // RemovedMobileDeviceIdList: Input only. A list of mobile device IDs to define // the members to be removed. RemovedMobileDeviceIdList *MobileDeviceIdList `json:"removedMobileDeviceIdList,omitempty"` // ForceSendFields is a list of field names (e.g. "AddedContactInfoList") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AddedContactInfoList") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EditCustomerMatchMembersRequest) MarshalJSON() ([]byte, error) { type NoMethod EditCustomerMatchMembersRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EditCustomerMatchMembersResponse: The response of // FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. type EditCustomerMatchMembersResponse struct { // FirstAndThirdPartyAudienceId: Required. The ID of the updated Customer Match // FirstAndThirdPartyAudience. FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "FirstAndThirdPartyAudienceId") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FirstAndThirdPartyAudienceId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EditCustomerMatchMembersResponse) MarshalJSON() ([]byte, error) { type NoMethod EditCustomerMatchMembersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EditGuaranteedOrderReadAccessorsRequest: Request message for // GuaranteedOrderService.EditGuaranteedOrderReadAccessors. type EditGuaranteedOrderReadAccessorsRequest struct { // AddedAdvertisers: The advertisers to add as read accessors to the guaranteed // order. AddedAdvertisers googleapi.Int64s `json:"addedAdvertisers,omitempty"` // PartnerId: Required. The partner context in which the change is being made. PartnerId int64 `json:"partnerId,omitempty,string"` // ReadAccessInherited: Whether to give all advertisers of the read/write // accessor partner read access to the guaranteed order. Only applicable if // read_write_partner_id is set in the guaranteed order. ReadAccessInherited bool `json:"readAccessInherited,omitempty"` // RemovedAdvertisers: The advertisers to remove as read accessors to the // guaranteed order. RemovedAdvertisers googleapi.Int64s `json:"removedAdvertisers,omitempty"` // ForceSendFields is a list of field names (e.g. "AddedAdvertisers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AddedAdvertisers") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EditGuaranteedOrderReadAccessorsRequest) MarshalJSON() ([]byte, error) { type NoMethod EditGuaranteedOrderReadAccessorsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type EditGuaranteedOrderReadAccessorsResponse struct { // ReadAccessInherited: Whether all advertisers of read_write_partner_id have // read access to the guaranteed order. ReadAccessInherited bool `json:"readAccessInherited,omitempty"` // ReadAdvertiserIds: The IDs of advertisers with read access to the guaranteed // order. ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ReadAccessInherited") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ReadAccessInherited") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EditGuaranteedOrderReadAccessorsResponse) MarshalJSON() ([]byte, error) { type NoMethod EditGuaranteedOrderReadAccessorsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EditInventorySourceReadWriteAccessorsRequest: Request message for // InventorySourceService.EditInventorySourceReadWriteAccessors. type EditInventorySourceReadWriteAccessorsRequest struct { // AdvertisersUpdate: The advertisers to add or remove from the list of // advertisers that have read/write access to the inventory source. This change // will remove an existing partner read/write accessor. AdvertisersUpdate *EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate `json:"advertisersUpdate,omitempty"` // AssignPartner: Set the partner context as read/write accessor of the // inventory source. This will remove all other current read/write advertiser // accessors. AssignPartner bool `json:"assignPartner,omitempty"` // PartnerId: Required. The partner context by which the accessors change is // being made. PartnerId int64 `json:"partnerId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "AdvertisersUpdate") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertisersUpdate") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EditInventorySourceReadWriteAccessorsRequest) MarshalJSON() ([]byte, error) { type NoMethod EditInventorySourceReadWriteAccessorsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate: Update to the // list of advertisers with read/write access to the inventory source. type EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate struct { // AddedAdvertisers: The advertisers to add. AddedAdvertisers googleapi.Int64s `json:"addedAdvertisers,omitempty"` // RemovedAdvertisers: The advertisers to remove. RemovedAdvertisers googleapi.Int64s `json:"removedAdvertisers,omitempty"` // ForceSendFields is a list of field names (e.g. "AddedAdvertisers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AddedAdvertisers") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate) MarshalJSON() ([]byte, error) { type NoMethod EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use it as // the request or the response type of an API method. For instance: service Foo // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` } // EnvironmentAssignedTargetingOptionDetails: Assigned environment targeting // option details. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. type EnvironmentAssignedTargetingOptionDetails struct { // Environment: Required. The serving environment. // // Possible values: // "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not // specified in this version. This enum is a placeholder for default value and // does not represent a real environment option. // "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in browsers. This // includes inventory that was designed for the device it was viewed on, such // as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, // if targeted, should be deleted prior to the deletion of this targeting // option. // "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in browsers. // This includes inventory that was not designed for the device but viewed on // it, such as websites optimized for desktop but viewed on a mobile device. // ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this // targeting option. // "ENVIRONMENT_APP" - Target inventory displayed in apps. Environment string `json:"environment,omitempty"` // ForceSendFields is a list of field names (e.g. "Environment") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Environment") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EnvironmentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod EnvironmentAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EnvironmentTargetingOptionDetails: Represents a targetable environment. This // will be populated in the environment_details field of a TargetingOption when // targeting_type is `TARGETING_TYPE_ENVIRONMENT`. type EnvironmentTargetingOptionDetails struct { // Environment: Output only. The serving environment. // // Possible values: // "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not // specified in this version. This enum is a placeholder for default value and // does not represent a real environment option. // "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in browsers. This // includes inventory that was designed for the device it was viewed on, such // as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, // if targeted, should be deleted prior to the deletion of this targeting // option. // "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in browsers. // This includes inventory that was not designed for the device but viewed on // it, such as websites optimized for desktop but viewed on a mobile device. // ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this // targeting option. // "ENVIRONMENT_APP" - Target inventory displayed in apps. Environment string `json:"environment,omitempty"` // ForceSendFields is a list of field names (e.g. "Environment") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Environment") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EnvironmentTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod EnvironmentTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ExchangeAssignedTargetingOptionDetails: Details for assigned exchange // targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`. type ExchangeAssignedTargetingOptionDetails struct { // Exchange: Required. The enum value for the exchange. // // Possible values: // "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this // version. // "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager. // "EXCHANGE_APPNEXUS" - AppNexus. // "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!. // "EXCHANGE_ADFORM" - Adform. // "EXCHANGE_ADMETA" - Admeta. // "EXCHANGE_ADMIXER" - Admixer. // "EXCHANGE_ADSMOGO" - AdsMogo. // "EXCHANGE_ADSWIZZ" - AdsWizz. // "EXCHANGE_BIDSWITCH" - BidSwitch. // "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from // Yahoo!. // "EXCHANGE_CADREON" - Cadreon. // "EXCHANGE_DAILYMOTION" - Dailymotion. // "EXCHANGE_FIVE" - Five. // "EXCHANGE_FLUCT" - Fluct. // "EXCHANGE_FREEWHEEL" - FreeWheel SSP. // "EXCHANGE_GENIEE" - Geniee. // "EXCHANGE_GUMGUM" - GumGum. // "EXCHANGE_IMOBILE" - i-mobile. // "EXCHANGE_IBILLBOARD" - iBILLBOARD. // "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital. // "EXCHANGE_INDEX" - Index Exchange. // "EXCHANGE_KARGO" - Kargo. // "EXCHANGE_MICROAD" - MicroAd. // "EXCHANGE_MOPUB" - MoPub. // "EXCHANGE_NEND" - Nend. // "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place. // "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile. // "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video. // "EXCHANGE_OOYALA" - Ooyala. // "EXCHANGE_OPENX" - OpenX. // "EXCHANGE_PERMODO" - Permodo. // "EXCHANGE_PLATFORMONE" - Platform One. // "EXCHANGE_PLATFORMID" - PlatformId. // "EXCHANGE_PUBMATIC" - PubMatic. // "EXCHANGE_PULSEPOINT" - PulsePoint. // "EXCHANGE_REVENUEMAX" - RevenueMax. // "EXCHANGE_RUBICON" - Rubicon. // "EXCHANGE_SMARTCLIP" - SmartClip. // "EXCHANGE_SMARTRTB" - SmartRTB+. // "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv. // "EXCHANGE_SOVRN" - Sovrn. // "EXCHANGE_SPOTXCHANGE" - SpotXchange. // "EXCHANGE_STROER" - Ströer SSP. // "EXCHANGE_TEADSTV" - TeadsTv. // "EXCHANGE_TELARIA" - Telaria. // "EXCHANGE_TVN" - TVN. // "EXCHANGE_UNITED" - United. // "EXCHANGE_YIELDLAB" - Yieldlab. // "EXCHANGE_YIELDMO" - Yieldmo. // "EXCHANGE_UNRULYX" - UnrulyX. // "EXCHANGE_OPEN8" - Open8. // "EXCHANGE_TRITON" - Triton. // "EXCHANGE_TRIPLELIFT" - TripleLift. // "EXCHANGE_TABOOLA" - Taboola. // "EXCHANGE_INMOBI" - InMobi. // "EXCHANGE_SMAATO" - Smaato. // "EXCHANGE_AJA" - Aja. // "EXCHANGE_SUPERSHIP" - Supership. // "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital. // "EXCHANGE_WAZE" - Waze. // "EXCHANGE_SOUNDCAST" - SoundCast. // "EXCHANGE_SHARETHROUGH" - Sharethrough. // "EXCHANGE_FYBER" - Fyber. // "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers. // "EXCHANGE_MEDIANET" - Media.net. // "EXCHANGE_TAPJOY" - Tapjoy. // "EXCHANGE_VISTAR" - Vistar. // "EXCHANGE_DAX" - DAX. // "EXCHANGE_JCD" - JCD. // "EXCHANGE_PLACE_EXCHANGE" - Place Exchange. // "EXCHANGE_APPLOVIN" - AppLovin. // "EXCHANGE_CONNATIX" - Connatix. // "EXCHANGE_RESET_DIGITAL" - Reset Digital. // "EXCHANGE_HIVESTACK" - Hivestack. // "EXCHANGE_DRAX" - Drax. // "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX. // "EXCHANGE_FYBER_GBID" - DT Fairbid. // "EXCHANGE_UNITY_GBID" - Unity LevelPlay. // "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation. // "EXCHANGE_ADMOST_GBID" - AdMost. // "EXCHANGE_TOPON_GBID" - TopOn. Exchange string `json:"exchange,omitempty"` // ForceSendFields is a list of field names (e.g. "Exchange") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Exchange") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ExchangeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ExchangeConfig: Settings that control which exchanges are enabled for a // partner. type ExchangeConfig struct { // EnabledExchanges: All enabled exchanges in the partner. Duplicate enabled // exchanges will be ignored. EnabledExchanges []*ExchangeConfigEnabledExchange `json:"enabledExchanges,omitempty"` // ForceSendFields is a list of field names (e.g. "EnabledExchanges") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EnabledExchanges") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ExchangeConfig) MarshalJSON() ([]byte, error) { type NoMethod ExchangeConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ExchangeConfigEnabledExchange: An enabled exchange in the partner. type ExchangeConfigEnabledExchange struct { // Exchange: The enabled exchange. // // Possible values: // "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this // version. // "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager. // "EXCHANGE_APPNEXUS" - AppNexus. // "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!. // "EXCHANGE_ADFORM" - Adform. // "EXCHANGE_ADMETA" - Admeta. // "EXCHANGE_ADMIXER" - Admixer. // "EXCHANGE_ADSMOGO" - AdsMogo. // "EXCHANGE_ADSWIZZ" - AdsWizz. // "EXCHANGE_BIDSWITCH" - BidSwitch. // "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from // Yahoo!. // "EXCHANGE_CADREON" - Cadreon. // "EXCHANGE_DAILYMOTION" - Dailymotion. // "EXCHANGE_FIVE" - Five. // "EXCHANGE_FLUCT" - Fluct. // "EXCHANGE_FREEWHEEL" - FreeWheel SSP. // "EXCHANGE_GENIEE" - Geniee. // "EXCHANGE_GUMGUM" - GumGum. // "EXCHANGE_IMOBILE" - i-mobile. // "EXCHANGE_IBILLBOARD" - iBILLBOARD. // "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital. // "EXCHANGE_INDEX" - Index Exchange. // "EXCHANGE_KARGO" - Kargo. // "EXCHANGE_MICROAD" - MicroAd. // "EXCHANGE_MOPUB" - MoPub. // "EXCHANGE_NEND" - Nend. // "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place. // "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile. // "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video. // "EXCHANGE_OOYALA" - Ooyala. // "EXCHANGE_OPENX" - OpenX. // "EXCHANGE_PERMODO" - Permodo. // "EXCHANGE_PLATFORMONE" - Platform One. // "EXCHANGE_PLATFORMID" - PlatformId. // "EXCHANGE_PUBMATIC" - PubMatic. // "EXCHANGE_PULSEPOINT" - PulsePoint. // "EXCHANGE_REVENUEMAX" - RevenueMax. // "EXCHANGE_RUBICON" - Rubicon. // "EXCHANGE_SMARTCLIP" - SmartClip. // "EXCHANGE_SMARTRTB" - SmartRTB+. // "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv. // "EXCHANGE_SOVRN" - Sovrn. // "EXCHANGE_SPOTXCHANGE" - SpotXchange. // "EXCHANGE_STROER" - Ströer SSP. // "EXCHANGE_TEADSTV" - TeadsTv. // "EXCHANGE_TELARIA" - Telaria. // "EXCHANGE_TVN" - TVN. // "EXCHANGE_UNITED" - United. // "EXCHANGE_YIELDLAB" - Yieldlab. // "EXCHANGE_YIELDMO" - Yieldmo. // "EXCHANGE_UNRULYX" - UnrulyX. // "EXCHANGE_OPEN8" - Open8. // "EXCHANGE_TRITON" - Triton. // "EXCHANGE_TRIPLELIFT" - TripleLift. // "EXCHANGE_TABOOLA" - Taboola. // "EXCHANGE_INMOBI" - InMobi. // "EXCHANGE_SMAATO" - Smaato. // "EXCHANGE_AJA" - Aja. // "EXCHANGE_SUPERSHIP" - Supership. // "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital. // "EXCHANGE_WAZE" - Waze. // "EXCHANGE_SOUNDCAST" - SoundCast. // "EXCHANGE_SHARETHROUGH" - Sharethrough. // "EXCHANGE_FYBER" - Fyber. // "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers. // "EXCHANGE_MEDIANET" - Media.net. // "EXCHANGE_TAPJOY" - Tapjoy. // "EXCHANGE_VISTAR" - Vistar. // "EXCHANGE_DAX" - DAX. // "EXCHANGE_JCD" - JCD. // "EXCHANGE_PLACE_EXCHANGE" - Place Exchange. // "EXCHANGE_APPLOVIN" - AppLovin. // "EXCHANGE_CONNATIX" - Connatix. // "EXCHANGE_RESET_DIGITAL" - Reset Digital. // "EXCHANGE_HIVESTACK" - Hivestack. // "EXCHANGE_DRAX" - Drax. // "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX. // "EXCHANGE_FYBER_GBID" - DT Fairbid. // "EXCHANGE_UNITY_GBID" - Unity LevelPlay. // "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation. // "EXCHANGE_ADMOST_GBID" - AdMost. // "EXCHANGE_TOPON_GBID" - TopOn. Exchange string `json:"exchange,omitempty"` // GoogleAdManagerAgencyId: Output only. Agency ID of Google Ad Manager. The // field is only relevant when Google Ad Manager is the enabled exchange. GoogleAdManagerAgencyId string `json:"googleAdManagerAgencyId,omitempty"` // GoogleAdManagerBuyerNetworkId: Output only. Network ID of Google Ad Manager. // The field is only relevant when Google Ad Manager is the enabled exchange. GoogleAdManagerBuyerNetworkId string `json:"googleAdManagerBuyerNetworkId,omitempty"` // SeatId: Output only. Seat ID of the enabled exchange. SeatId string `json:"seatId,omitempty"` // ForceSendFields is a list of field names (e.g. "Exchange") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Exchange") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ExchangeConfigEnabledExchange) MarshalJSON() ([]byte, error) { type NoMethod ExchangeConfigEnabledExchange return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ExchangeReviewStatus: Exchange review status for the creative. type ExchangeReviewStatus struct { // Exchange: The exchange reviewing the creative. // // Possible values: // "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this // version. // "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager. // "EXCHANGE_APPNEXUS" - AppNexus. // "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!. // "EXCHANGE_ADFORM" - Adform. // "EXCHANGE_ADMETA" - Admeta. // "EXCHANGE_ADMIXER" - Admixer. // "EXCHANGE_ADSMOGO" - AdsMogo. // "EXCHANGE_ADSWIZZ" - AdsWizz. // "EXCHANGE_BIDSWITCH" - BidSwitch. // "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from // Yahoo!. // "EXCHANGE_CADREON" - Cadreon. // "EXCHANGE_DAILYMOTION" - Dailymotion. // "EXCHANGE_FIVE" - Five. // "EXCHANGE_FLUCT" - Fluct. // "EXCHANGE_FREEWHEEL" - FreeWheel SSP. // "EXCHANGE_GENIEE" - Geniee. // "EXCHANGE_GUMGUM" - GumGum. // "EXCHANGE_IMOBILE" - i-mobile. // "EXCHANGE_IBILLBOARD" - iBILLBOARD. // "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital. // "EXCHANGE_INDEX" - Index Exchange. // "EXCHANGE_KARGO" - Kargo. // "EXCHANGE_MICROAD" - MicroAd. // "EXCHANGE_MOPUB" - MoPub. // "EXCHANGE_NEND" - Nend. // "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place. // "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile. // "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video. // "EXCHANGE_OOYALA" - Ooyala. // "EXCHANGE_OPENX" - OpenX. // "EXCHANGE_PERMODO" - Permodo. // "EXCHANGE_PLATFORMONE" - Platform One. // "EXCHANGE_PLATFORMID" - PlatformId. // "EXCHANGE_PUBMATIC" - PubMatic. // "EXCHANGE_PULSEPOINT" - PulsePoint. // "EXCHANGE_REVENUEMAX" - RevenueMax. // "EXCHANGE_RUBICON" - Rubicon. // "EXCHANGE_SMARTCLIP" - SmartClip. // "EXCHANGE_SMARTRTB" - SmartRTB+. // "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv. // "EXCHANGE_SOVRN" - Sovrn. // "EXCHANGE_SPOTXCHANGE" - SpotXchange. // "EXCHANGE_STROER" - Ströer SSP. // "EXCHANGE_TEADSTV" - TeadsTv. // "EXCHANGE_TELARIA" - Telaria. // "EXCHANGE_TVN" - TVN. // "EXCHANGE_UNITED" - United. // "EXCHANGE_YIELDLAB" - Yieldlab. // "EXCHANGE_YIELDMO" - Yieldmo. // "EXCHANGE_UNRULYX" - UnrulyX. // "EXCHANGE_OPEN8" - Open8. // "EXCHANGE_TRITON" - Triton. // "EXCHANGE_TRIPLELIFT" - TripleLift. // "EXCHANGE_TABOOLA" - Taboola. // "EXCHANGE_INMOBI" - InMobi. // "EXCHANGE_SMAATO" - Smaato. // "EXCHANGE_AJA" - Aja. // "EXCHANGE_SUPERSHIP" - Supership. // "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital. // "EXCHANGE_WAZE" - Waze. // "EXCHANGE_SOUNDCAST" - SoundCast. // "EXCHANGE_SHARETHROUGH" - Sharethrough. // "EXCHANGE_FYBER" - Fyber. // "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers. // "EXCHANGE_MEDIANET" - Media.net. // "EXCHANGE_TAPJOY" - Tapjoy. // "EXCHANGE_VISTAR" - Vistar. // "EXCHANGE_DAX" - DAX. // "EXCHANGE_JCD" - JCD. // "EXCHANGE_PLACE_EXCHANGE" - Place Exchange. // "EXCHANGE_APPLOVIN" - AppLovin. // "EXCHANGE_CONNATIX" - Connatix. // "EXCHANGE_RESET_DIGITAL" - Reset Digital. // "EXCHANGE_HIVESTACK" - Hivestack. // "EXCHANGE_DRAX" - Drax. // "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX. // "EXCHANGE_FYBER_GBID" - DT Fairbid. // "EXCHANGE_UNITY_GBID" - Unity LevelPlay. // "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation. // "EXCHANGE_ADMOST_GBID" - AdMost. // "EXCHANGE_TOPON_GBID" - TopOn. Exchange string `json:"exchange,omitempty"` // Status: Status of the exchange review. // // Possible values: // "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "REVIEW_STATUS_APPROVED" - The creative is approved. // "REVIEW_STATUS_REJECTED" - The creative is rejected. // "REVIEW_STATUS_PENDING" - The creative is pending review. Status string `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "Exchange") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Exchange") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ExchangeReviewStatus) MarshalJSON() ([]byte, error) { type NoMethod ExchangeReviewStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ExchangeTargetingOptionDetails: Represents a targetable exchange. This will // be populated in the exchange_details field of a TargetingOption when // targeting_type is `TARGETING_TYPE_EXCHANGE`. type ExchangeTargetingOptionDetails struct { // Exchange: Output only. The type of exchange. // // Possible values: // "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this // version. // "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager. // "EXCHANGE_APPNEXUS" - AppNexus. // "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!. // "EXCHANGE_ADFORM" - Adform. // "EXCHANGE_ADMETA" - Admeta. // "EXCHANGE_ADMIXER" - Admixer. // "EXCHANGE_ADSMOGO" - AdsMogo. // "EXCHANGE_ADSWIZZ" - AdsWizz. // "EXCHANGE_BIDSWITCH" - BidSwitch. // "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from // Yahoo!. // "EXCHANGE_CADREON" - Cadreon. // "EXCHANGE_DAILYMOTION" - Dailymotion. // "EXCHANGE_FIVE" - Five. // "EXCHANGE_FLUCT" - Fluct. // "EXCHANGE_FREEWHEEL" - FreeWheel SSP. // "EXCHANGE_GENIEE" - Geniee. // "EXCHANGE_GUMGUM" - GumGum. // "EXCHANGE_IMOBILE" - i-mobile. // "EXCHANGE_IBILLBOARD" - iBILLBOARD. // "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital. // "EXCHANGE_INDEX" - Index Exchange. // "EXCHANGE_KARGO" - Kargo. // "EXCHANGE_MICROAD" - MicroAd. // "EXCHANGE_MOPUB" - MoPub. // "EXCHANGE_NEND" - Nend. // "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place. // "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile. // "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video. // "EXCHANGE_OOYALA" - Ooyala. // "EXCHANGE_OPENX" - OpenX. // "EXCHANGE_PERMODO" - Permodo. // "EXCHANGE_PLATFORMONE" - Platform One. // "EXCHANGE_PLATFORMID" - PlatformId. // "EXCHANGE_PUBMATIC" - PubMatic. // "EXCHANGE_PULSEPOINT" - PulsePoint. // "EXCHANGE_REVENUEMAX" - RevenueMax. // "EXCHANGE_RUBICON" - Rubicon. // "EXCHANGE_SMARTCLIP" - SmartClip. // "EXCHANGE_SMARTRTB" - SmartRTB+. // "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv. // "EXCHANGE_SOVRN" - Sovrn. // "EXCHANGE_SPOTXCHANGE" - SpotXchange. // "EXCHANGE_STROER" - Ströer SSP. // "EXCHANGE_TEADSTV" - TeadsTv. // "EXCHANGE_TELARIA" - Telaria. // "EXCHANGE_TVN" - TVN. // "EXCHANGE_UNITED" - United. // "EXCHANGE_YIELDLAB" - Yieldlab. // "EXCHANGE_YIELDMO" - Yieldmo. // "EXCHANGE_UNRULYX" - UnrulyX. // "EXCHANGE_OPEN8" - Open8. // "EXCHANGE_TRITON" - Triton. // "EXCHANGE_TRIPLELIFT" - TripleLift. // "EXCHANGE_TABOOLA" - Taboola. // "EXCHANGE_INMOBI" - InMobi. // "EXCHANGE_SMAATO" - Smaato. // "EXCHANGE_AJA" - Aja. // "EXCHANGE_SUPERSHIP" - Supership. // "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital. // "EXCHANGE_WAZE" - Waze. // "EXCHANGE_SOUNDCAST" - SoundCast. // "EXCHANGE_SHARETHROUGH" - Sharethrough. // "EXCHANGE_FYBER" - Fyber. // "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers. // "EXCHANGE_MEDIANET" - Media.net. // "EXCHANGE_TAPJOY" - Tapjoy. // "EXCHANGE_VISTAR" - Vistar. // "EXCHANGE_DAX" - DAX. // "EXCHANGE_JCD" - JCD. // "EXCHANGE_PLACE_EXCHANGE" - Place Exchange. // "EXCHANGE_APPLOVIN" - AppLovin. // "EXCHANGE_CONNATIX" - Connatix. // "EXCHANGE_RESET_DIGITAL" - Reset Digital. // "EXCHANGE_HIVESTACK" - Hivestack. // "EXCHANGE_DRAX" - Drax. // "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX. // "EXCHANGE_FYBER_GBID" - DT Fairbid. // "EXCHANGE_UNITY_GBID" - Unity LevelPlay. // "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation. // "EXCHANGE_ADMOST_GBID" - AdMost. // "EXCHANGE_TOPON_GBID" - TopOn. Exchange string `json:"exchange,omitempty"` // ForceSendFields is a list of field names (e.g. "Exchange") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Exchange") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ExchangeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ExitEvent: Exit event of the creative. type ExitEvent struct { // Name: The name of the click tag of the exit event. The name must be unique // within one creative. Leave it empty or unset for creatives containing image // assets only. Name string `json:"name,omitempty"` // ReportingName: The name used to identify this event in reports. Leave it // empty or unset for creatives containing image assets only. ReportingName string `json:"reportingName,omitempty"` // Type: Required. The type of the exit event. // // Possible values: // "EXIT_EVENT_TYPE_UNSPECIFIED" - Exit event type is not specified or is // unknown in this version. // "EXIT_EVENT_TYPE_DEFAULT" - The exit event is the default one. // "EXIT_EVENT_TYPE_BACKUP" - The exit event is a backup exit event. There // could be multiple backup exit events in a creative. Type string `json:"type,omitempty"` // Url: Required. The click through URL of the exit event. This is required // when type is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP` Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ExitEvent) MarshalJSON() ([]byte, error) { type NoMethod ExitEvent return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FirstAndThirdPartyAudience: Describes a first or third party audience list // used for targeting. First party audiences are created via usage of client // data. Third party audiences are provided by Third Party data providers and // can only be licensed to customers. type FirstAndThirdPartyAudience struct { // ActiveDisplayAudienceSize: Output only. The estimated audience size for the // Display network in the past month. If the size is less than 1000, the number // will be hidden and 0 will be returned due to privacy reasons. Otherwise, the // number will be rounded off to two significant digits. Only returned in GET // request. ActiveDisplayAudienceSize int64 `json:"activeDisplayAudienceSize,omitempty,string"` // AppId: The app_id matches with the type of the mobile_device_ids being // uploaded. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID` AppId string `json:"appId,omitempty"` // AudienceSource: Output only. The source of the audience. // // Possible values: // "AUDIENCE_SOURCE_UNSPECIFIED" - Default value when audience source is not // specified or is unknown. // "DISPLAY_VIDEO_360" - Originated from Display & Video 360. // "CAMPAIGN_MANAGER" - Originated from Campaign Manager 360. // "AD_MANAGER" - Originated from Google Ad Manager. // "SEARCH_ADS_360" - Originated from Search Ads 360. // "YOUTUBE" - Originated from Youtube. // "ADS_DATA_HUB" - Originated from Ads Data Hub. AudienceSource string `json:"audienceSource,omitempty"` // AudienceType: The type of the audience. // // Possible values: // "AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not specified or // is unknown. // "CUSTOMER_MATCH_CONTACT_INFO" - Audience was generated through matching // customers to known contact information. // "CUSTOMER_MATCH_DEVICE_ID" - Audience was generated through matching // customers to known Mobile device IDs. // "CUSTOMER_MATCH_USER_ID" - Audience was generated through matching // customers to known User IDs. // "ACTIVITY_BASED" - Audience was created based on campaign activity. // "FREQUENCY_CAP" - Audience was created based on excluding the number of // impressions they were served. // "TAG_BASED" - Audience was created based on custom variables attached to // pixel. // "YOUTUBE_USERS" - Audience was created based on past interactions with // videos, YouTube ads, or YouTube channel. // "LICENSED" - Subtype of third party audience type. AudienceType string `json:"audienceType,omitempty"` // ContactInfoList: Input only. A list of contact information to define the // initial audience members. Only applicable to audience_type // `CUSTOMER_MATCH_CONTACT_INFO` ContactInfoList *ContactInfoList `json:"contactInfoList,omitempty"` // Description: The user-provided description of the audience. Only applicable // to first party audiences. Description string `json:"description,omitempty"` // DisplayAudienceSize: Output only. The estimated audience size for the // Display network. If the size is less than 1000, the number will be hidden // and 0 will be returned due to privacy reasons. Otherwise, the number will be // rounded off to two significant digits. Only returned in GET request. DisplayAudienceSize int64 `json:"displayAudienceSize,omitempty,string"` // DisplayDesktopAudienceSize: Output only. The estimated desktop audience size // in Display network. If the size is less than 1000, the number will be hidden // and 0 will be returned due to privacy reasons. Otherwise, the number will be // rounded off to two significant digits. Only applicable to first party // audiences. Only returned in GET request. DisplayDesktopAudienceSize int64 `json:"displayDesktopAudienceSize,omitempty,string"` // DisplayMobileAppAudienceSize: Output only. The estimated mobile app audience // size in Display network. If the size is less than 1000, the number will be // hidden and 0 will be returned due to privacy reasons. Otherwise, the number // will be rounded off to two significant digits. Only applicable to first // party audiences. Only returned in GET request. DisplayMobileAppAudienceSize int64 `json:"displayMobileAppAudienceSize,omitempty,string"` // DisplayMobileWebAudienceSize: Output only. The estimated mobile web audience // size in Display network. If the size is less than 1000, the number will be // hidden and 0 will be returned due to privacy reasons. Otherwise, the number // will be rounded off to two significant digits. Only applicable to first // party audiences. Only returned in GET request. DisplayMobileWebAudienceSize int64 `json:"displayMobileWebAudienceSize,omitempty,string"` // DisplayName: The display name of the first and third party audience. DisplayName string `json:"displayName,omitempty"` // FirstAndThirdPartyAudienceId: Output only. The unique ID of the first and // third party audience. Assigned by the system. FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"` // FirstAndThirdPartyAudienceType: Whether the audience is a first or third // party audience. // // Possible values: // "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED" - Default value when // type is not specified or is unknown. // "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" - Audience that is // created via usage of client data. // "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" - Audience that is // provided by Third Party data providers. FirstAndThirdPartyAudienceType string `json:"firstAndThirdPartyAudienceType,omitempty"` // GmailAudienceSize: Output only. The estimated audience size for Gmail // network. If the size is less than 1000, the number will be hidden and 0 will // be returned due to privacy reasons. Otherwise, the number will be rounded // off to two significant digits. Only applicable to first party audiences. // Only returned in GET request. GmailAudienceSize int64 `json:"gmailAudienceSize,omitempty,string"` // MembershipDurationDays: The duration in days that an entry remains in the // audience after the qualifying event. If the audience has no expiration, set // the value of this field to 10000. Otherwise, the set value must be greater // than 0 and less than or equal to 540. Only applicable to first party // audiences. This field is required if one of the following audience_type is // used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` MembershipDurationDays int64 `json:"membershipDurationDays,omitempty,string"` // MobileDeviceIdList: Input only. A list of mobile device IDs to define the // initial audience members. Only applicable to audience_type // `CUSTOMER_MATCH_DEVICE_ID` MobileDeviceIdList *MobileDeviceIdList `json:"mobileDeviceIdList,omitempty"` // Name: Output only. The resource name of the first and third party audience. Name string `json:"name,omitempty"` // YoutubeAudienceSize: Output only. The estimated audience size for YouTube // network. If the size is less than 1000, the number will be hidden and 0 will // be returned due to privacy reasons. Otherwise, the number will be rounded // off to two significant digits. Only applicable to first party audiences. // Only returned in GET request. YoutubeAudienceSize int64 `json:"youtubeAudienceSize,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ActiveDisplayAudienceSize") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActiveDisplayAudienceSize") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FirstAndThirdPartyAudience) MarshalJSON() ([]byte, error) { type NoMethod FirstAndThirdPartyAudience return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FirstAndThirdPartyAudienceGroup: Details of first and third party audience // group. All first and third party audience targeting settings are logically // ‘OR’ of each other. type FirstAndThirdPartyAudienceGroup struct { // Settings: Required. All first and third party audience targeting settings in // first and third party audience group. Repeated settings with same id are not // allowed. Settings []*FirstAndThirdPartyAudienceTargetingSetting `json:"settings,omitempty"` // ForceSendFields is a list of field names (e.g. "Settings") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Settings") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FirstAndThirdPartyAudienceGroup) MarshalJSON() ([]byte, error) { type NoMethod FirstAndThirdPartyAudienceGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FirstAndThirdPartyAudienceTargetingSetting: Details of first and third party // audience targeting setting. type FirstAndThirdPartyAudienceTargetingSetting struct { // FirstAndThirdPartyAudienceId: Required. First and third party audience id of // the first and third party audience targeting setting. This id is // first_and_third_party_audience_id. FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"` // Recency: The recency of the first and third party audience targeting // setting. Only applicable to first party audiences, otherwise will be // ignored. For more info, refer to // https://support.google.com/displayvideo/answer/2949947#recency When // unspecified, no recency limit will be used. // // Possible values: // "RECENCY_NO_LIMIT" - No limit of recency. // "RECENCY_1_MINUTE" - Recency is 1 minute. // "RECENCY_5_MINUTES" - Recency is 5 minutes. // "RECENCY_10_MINUTES" - Recency is 10 minutes. // "RECENCY_15_MINUTES" - Recency is 15 minutes. // "RECENCY_30_MINUTES" - Recency is 30 minutes. // "RECENCY_1_HOUR" - Recency is 1 hour. // "RECENCY_2_HOURS" - Recency is 2 hours. // "RECENCY_3_HOURS" - Recency is 3 hours. // "RECENCY_6_HOURS" - Recency is 6 hours. // "RECENCY_12_HOURS" - Recency is 12 hours. // "RECENCY_1_DAY" - Recency is 1 day. // "RECENCY_2_DAYS" - Recency is 2 days. // "RECENCY_3_DAYS" - Recency is 3 days. // "RECENCY_5_DAYS" - Recency is 5 days. // "RECENCY_7_DAYS" - Recency is 7 days. // "RECENCY_10_DAYS" - Recency is 10 days. // "RECENCY_14_DAYS" - Recency is 14 days. // "RECENCY_15_DAYS" - Recency is 15 days. // "RECENCY_21_DAYS" - Recency is 21 days. // "RECENCY_28_DAYS" - Recency is 28 days. // "RECENCY_30_DAYS" - Recency is 30 days. // "RECENCY_40_DAYS" - Recency is 40 days. // "RECENCY_45_DAYS" - Recency is 45 days. // "RECENCY_60_DAYS" - Recency is 60 days. // "RECENCY_90_DAYS" - Recency is 90 days. // "RECENCY_120_DAYS" - Recency is 120 days. // "RECENCY_180_DAYS" - Recency is 180 days. // "RECENCY_270_DAYS" - Recency is 270 days. // "RECENCY_365_DAYS" - Recency is 365 days. Recency string `json:"recency,omitempty"` // ForceSendFields is a list of field names (e.g. // "FirstAndThirdPartyAudienceId") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FirstAndThirdPartyAudienceId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FirstAndThirdPartyAudienceTargetingSetting) MarshalJSON() ([]byte, error) { type NoMethod FirstAndThirdPartyAudienceTargetingSetting return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FixedBidStrategy: A strategy that uses a fixed bidding price. type FixedBidStrategy struct { // BidAmountMicros: The fixed bid amount, in micros of the advertiser's // currency. For insertion order entity, bid_amount_micros should be set as 0. // For line item entity, bid_amount_micros must be greater than or equal to // billable unit of the given currency and smaller than or equal to the upper // limit 1000000000. For example, 1500000 represents 1.5 standard units of the // currency. BidAmountMicros int64 `json:"bidAmountMicros,omitempty,string"` // ForceSendFields is a list of field names (e.g. "BidAmountMicros") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BidAmountMicros") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FixedBidStrategy) MarshalJSON() ([]byte, error) { type NoMethod FixedBidStrategy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FloodlightActivity: A single Floodlight activity. type FloodlightActivity struct { // AdvertiserIds: Output only. IDs of the advertisers that have access to the // parent Floodlight group. Only advertisers under the provided partner ID will // be listed in this field. AdvertiserIds googleapi.Int64s `json:"advertiserIds,omitempty"` // DisplayName: Required. The display name of the Floodlight activity. DisplayName string `json:"displayName,omitempty"` // FloodlightActivityId: Output only. The unique ID of the Floodlight activity. // Assigned by the system. FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"` // FloodlightGroupId: Required. Immutable. The ID of the parent Floodlight // group. FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"` // Name: Output only. The resource name of the Floodlight activity. Name string `json:"name,omitempty"` // RemarketingConfigs: Output only. A list of configuration objects designating // whether remarketing for this Floodlight Activity is enabled and available // for a specifc advertiser. If enabled, this Floodlight Activity generates a // remarketing user list that is able to be used in targeting under the // advertiser. RemarketingConfigs []*RemarketingConfig `json:"remarketingConfigs,omitempty"` // ServingStatus: Optional. Whether the Floodlight activity is served. // // Possible values: // "FLOODLIGHT_ACTIVITY_SERVING_STATUS_UNSPECIFIED" - Type value is not // specified or is unknown in this version. // "FLOODLIGHT_ACTIVITY_SERVING_STATUS_ENABLED" - Enabled. // "FLOODLIGHT_ACTIVITY_SERVING_STATUS_DISABLED" - Disabled. ServingStatus string `json:"servingStatus,omitempty"` // SslRequired: Output only. Whether tags are required to be compliant. SslRequired bool `json:"sslRequired,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserIds") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserIds") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FloodlightActivity) MarshalJSON() ([]byte, error) { type NoMethod FloodlightActivity return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FloodlightGroup: A single Floodlight group. type FloodlightGroup struct { // ActiveViewConfig: The Active View video viewability metric configuration for // the Floodlight group. ActiveViewConfig *ActiveViewVideoViewabilityMetricConfig `json:"activeViewConfig,omitempty"` // CustomVariables: User-defined custom variables owned by the Floodlight // group. Use custom Floodlight variables to create reporting data that is // tailored to your unique business needs. Custom Floodlight variables use the // keys `U1=`, `U2=`, and so on, and can take any values that you choose to // pass to them. You can use them to track virtually any type of data that you // collect about your customers, such as the genre of movie that a customer // purchases, the country to which the item is shipped, and so on. Custom // Floodlight variables may not be used to pass any data that could be used or // recognized as personally identifiable information (PII). Example: // `custom_variables { fields { "U1": value { number_value: 123.4 }, "U2": // value { string_value: "MyVariable2" }, "U3": value { string_value: // "MyVariable3" } } }` Acceptable values for keys are "U1" through "U100", // inclusive. String values must be less than 64 characters long, and cannot // contain the following characters: "<>`. CustomVariables googleapi.RawMessage `json:"customVariables,omitempty"` // DisplayName: Required. The display name of the Floodlight group. DisplayName string `json:"displayName,omitempty"` // FloodlightGroupId: Output only. The unique ID of the Floodlight group. // Assigned by the system. FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"` // LookbackWindow: Required. The lookback window for the Floodlight group. Both // click_days and impression_days are required. Acceptable values for both are // `0` to `90`, inclusive. LookbackWindow *LookbackWindow `json:"lookbackWindow,omitempty"` // Name: Output only. The resource name of the Floodlight group. Name string `json:"name,omitempty"` // WebTagType: Required. The web tag type enabled for the Floodlight group. // // Possible values: // "WEB_TAG_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "WEB_TAG_TYPE_NONE" - No tag type. // "WEB_TAG_TYPE_IMAGE" - Image tag. // "WEB_TAG_TYPE_DYNAMIC" - Dynamic tag. WebTagType string `json:"webTagType,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ActiveViewConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActiveViewConfig") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FloodlightGroup) MarshalJSON() ([]byte, error) { type NoMethod FloodlightGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FrequencyCap: Settings that control the number of times a user may be shown // with the same ad during a given time period. type FrequencyCap struct { // MaxImpressions: The maximum number of times a user may be shown the same ad // during this period. Must be greater than 0. Required when unlimited is // `false` and max_views is not set. MaxImpressions int64 `json:"maxImpressions,omitempty"` // MaxViews: Optional. The maximum number of times a user may click-through or // fully view an ad during this period until it is no longer served to them. // Must be greater than 0. Only applicable to YouTube and Partners resources. // Required when unlimited is `false` and max_impressions is not set. MaxViews int64 `json:"maxViews,omitempty"` // TimeUnit: The time unit in which the frequency cap will be applied. Required // when unlimited is `false`. // // Possible values: // "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is unknown // in this version. // "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the whole life // time of the line item. // "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number of // months. // "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number of // weeks. // "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of days. // "TIME_UNIT_HOURS" - The frequency cap will be applied to a number of // hours. // "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number of // minutes. TimeUnit string `json:"timeUnit,omitempty"` // TimeUnitCount: The number of time_unit the frequency cap will last. Required // when unlimited is `false`. The following restrictions apply based on the // value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and // will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * // `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be // between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * // `TIME_UNIT_MINUTES` - must be between 1 and 59 TimeUnitCount int64 `json:"timeUnitCount,omitempty"` // Unlimited: Whether unlimited frequency capping is applied. When this field // is set to `true`, the remaining frequency cap fields are not applicable. Unlimited bool `json:"unlimited,omitempty"` // ForceSendFields is a list of field names (e.g. "MaxImpressions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MaxImpressions") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FrequencyCap) MarshalJSON() ([]byte, error) { type NoMethod FrequencyCap return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GenderAssignedTargetingOptionDetails: Details for assigned gender targeting // option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GENDER`. type GenderAssignedTargetingOptionDetails struct { // Gender: Required. The gender of the audience. // // Possible values: // "GENDER_UNSPECIFIED" - Default value when gender is not specified in this // version. This enum is a place holder for default value and does not // represent a real gender option. // "GENDER_MALE" - The audience gender is male. // "GENDER_FEMALE" - The audience gender is female. // "GENDER_UNKNOWN" - The audience gender is unknown. Gender string `json:"gender,omitempty"` // ForceSendFields is a list of field names (e.g. "Gender") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Gender") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GenderAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod GenderAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GenderTargetingOptionDetails: Represents a targetable gender. This will be // populated in the gender_details field of a TargetingOption when // targeting_type is `TARGETING_TYPE_GENDER`. type GenderTargetingOptionDetails struct { // Gender: Output only. The gender of an audience. // // Possible values: // "GENDER_UNSPECIFIED" - Default value when gender is not specified in this // version. This enum is a place holder for default value and does not // represent a real gender option. // "GENDER_MALE" - The audience gender is male. // "GENDER_FEMALE" - The audience gender is female. // "GENDER_UNKNOWN" - The audience gender is unknown. Gender string `json:"gender,omitempty"` // ForceSendFields is a list of field names (e.g. "Gender") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Gender") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GenderTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod GenderTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GenerateDefaultLineItemRequest: Request message for // LineItemService.GenerateDefaultLineItem. type GenerateDefaultLineItemRequest struct { // DisplayName: Required. The display name of the line item. Must be UTF-8 // encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // InsertionOrderId: Required. The unique ID of the insertion order that the // line item belongs to. InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"` // LineItemType: Required. The type of the line item. // // Possible values: // "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is unknown // in this version. Line items of this type and their targeting cannot be // created or updated using the API. // "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich media // ads. // "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that drive // installs of an app. // "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for a // variety of environments. // "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive installs // of an app. // "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served on // mobile app inventory. Line items of this type and their targeting cannot be // created or updated using the API. // "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on mobile // app inventory. Line items of this type and their targeting cannot be created // or updated using the API. // "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety of // environments. // "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in OTT // insertion orders. This type is only applicable to line items with an // insertion order of insertion_order_type `OVER_THE_TOP`. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" - YouTube video ads that // promote conversions. Line items of this type and their targeting cannot be // created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" - YouTube video ads // (up to 15 seconds) that cannot be skipped. Line items of this type and their // targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" - YouTube video ads // that show a story in a particular sequence using a mix of formats. Line // items of this type and their targeting cannot be created or updated using // the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" - YouTube audio ads. Line // items of this type and their targeting cannot be created or updated using // the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" - YouTube video ads that // optimize reaching more unique users at lower cost. May include bumper ads, // skippable in-stream ads, or a mix of types. Line items of this type and // their targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" - Default YouTube video ads. // Line items of this type and their targeting cannot be created or updated // using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" - // Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. // Line items of this type and their targeting cannot be created or updated // using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" - Connected TV // youTube video ads that optimize reaching more unique users at lower cost. // May include bumper ads, skippable in-stream ads, or a mix of types. Line // items of this type and their targeting cannot be created or updated using // the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" - Connected TV // default YouTube video ads. Only include in-stream ad-format. Line items of // this type and their targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" - The goal of this // line item type is to show the YouTube ads target number of times to the same // person in a certain period of time. Line items of this type and their // targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" - YouTube video ads that aim to // get more views with a variety of ad formats. Line items of this type and // their targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" - Display ads served on // digital-out-of-home inventory. Line items of this type and their targeting // cannot be created or updated using the API. // "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" - Video ads served on // digital-out-of-home inventory. Line items of this type and their targeting // cannot be created or updated using the API. LineItemType string `json:"lineItemType,omitempty"` // MobileApp: The mobile app promoted by the line item. This is applicable only // when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or // `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`. MobileApp *MobileApp `json:"mobileApp,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GenerateDefaultLineItemRequest) MarshalJSON() ([]byte, error) { type NoMethod GenerateDefaultLineItemRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GeoRegionAssignedTargetingOptionDetails: Details for assigned geographic // region targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`. type GeoRegionAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the geographic region (e.g., // "Ontario, Canada"). DisplayName string `json:"displayName,omitempty"` // GeoRegionType: Output only. The type of geographic region targeting. // // Possible values: // "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown. // "GEO_REGION_TYPE_OTHER" - The geographic region type is other. // "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country. // "GEO_REGION_TYPE_REGION" - The geographic region type is region. // "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory. // "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province. // "GEO_REGION_TYPE_STATE" - The geographic region is a state. // "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture. // "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate. // "GEO_REGION_TYPE_CANTON" - The geographic region is a canton. // "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union // territory. // "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an // autonomous community. // "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated // market area (DMA) region. // "GEO_REGION_TYPE_METRO" - The geographic region type is metro. // "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a // congressional district. // "GEO_REGION_TYPE_COUNTY" - The geographic region is a county. // "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality. // "GEO_REGION_TYPE_CITY" - The geographic region is a city. // "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is // postal code. // "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is // department. // "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport. // "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region. // "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug. // "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough. // "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region. // "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an // arrondissement. // "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood. // "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university. // "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district. GeoRegionType string `json:"geoRegionType,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_GEO_REGION`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GeoRegionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod GeoRegionAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GeoRegionSearchTerms: Search terms for geo region targeting options. type GeoRegionSearchTerms struct { // GeoRegionQuery: The search query for the desired geo region. The query can // be a prefix, e.g. "New Yor", "Seattle", "USA", etc. GeoRegionQuery string `json:"geoRegionQuery,omitempty"` // ForceSendFields is a list of field names (e.g. "GeoRegionQuery") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "GeoRegionQuery") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GeoRegionSearchTerms) MarshalJSON() ([]byte, error) { type NoMethod GeoRegionSearchTerms return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GeoRegionTargetingOptionDetails: Represents a targetable geographic region. // This will be populated in the geo_region_details field when targeting_type // is `TARGETING_TYPE_GEO_REGION`. type GeoRegionTargetingOptionDetails struct { // DisplayName: Output only. The display name of the geographic region (e.g., // "Ontario, Canada"). DisplayName string `json:"displayName,omitempty"` // GeoRegionType: Output only. The type of geographic region targeting. // // Possible values: // "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown. // "GEO_REGION_TYPE_OTHER" - The geographic region type is other. // "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country. // "GEO_REGION_TYPE_REGION" - The geographic region type is region. // "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory. // "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province. // "GEO_REGION_TYPE_STATE" - The geographic region is a state. // "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture. // "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate. // "GEO_REGION_TYPE_CANTON" - The geographic region is a canton. // "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union // territory. // "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an // autonomous community. // "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated // market area (DMA) region. // "GEO_REGION_TYPE_METRO" - The geographic region type is metro. // "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a // congressional district. // "GEO_REGION_TYPE_COUNTY" - The geographic region is a county. // "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality. // "GEO_REGION_TYPE_CITY" - The geographic region is a city. // "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is // postal code. // "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is // department. // "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport. // "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region. // "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug. // "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough. // "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region. // "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an // arrondissement. // "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood. // "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university. // "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district. GeoRegionType string `json:"geoRegionType,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GeoRegionTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod GeoRegionTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleAudience: Describes a Google audience resource. Includes Google // audience lists. type GoogleAudience struct { // DisplayName: Output only. The display name of the Google audience. . DisplayName string `json:"displayName,omitempty"` // GoogleAudienceId: Output only. The unique ID of the Google audience. // Assigned by the system. GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"` // GoogleAudienceType: Output only. The type of Google audience. . // // Possible values: // "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not // specified or is unknown. // "GOOGLE_AUDIENCE_TYPE_AFFINITY" - Affinity type Google audience. // "GOOGLE_AUDIENCE_TYPE_IN_MARKET" - In-Market type Google audience. // "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS" - Installed-Apps type Google // audience. // "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES" - New-Mobile-Devices type Google // audience. // "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT" - Life-Event type Google audience. // "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC" - Extended-Demographic type // Google audience. GoogleAudienceType string `json:"googleAudienceType,omitempty"` // Name: Output only. The resource name of the google audience. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleAudience) MarshalJSON() ([]byte, error) { type NoMethod GoogleAudience return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleAudienceGroup: Details of Google audience group. All Google audience // targeting settings are logically ‘OR’ of each other. type GoogleAudienceGroup struct { // Settings: Required. All Google audience targeting settings in Google // audience group. Repeated settings with same id will be ignored. Settings []*GoogleAudienceTargetingSetting `json:"settings,omitempty"` // ForceSendFields is a list of field names (e.g. "Settings") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Settings") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleAudienceGroup) MarshalJSON() ([]byte, error) { type NoMethod GoogleAudienceGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleAudienceTargetingSetting: Details of Google audience targeting // setting. type GoogleAudienceTargetingSetting struct { // GoogleAudienceId: Required. Google audience id of the Google audience // targeting setting. This id is google_audience_id. GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "GoogleAudienceId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "GoogleAudienceId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleAudienceTargetingSetting) MarshalJSON() ([]byte, error) { type NoMethod GoogleAudienceTargetingSetting return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleBytestreamMedia: Media resource. type GoogleBytestreamMedia struct { // ResourceName: Name of the media resource. ResourceName string `json:"resourceName,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ResourceName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleBytestreamMedia) MarshalJSON() ([]byte, error) { type NoMethod GoogleBytestreamMedia return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GuaranteedOrder: A guaranteed order. Guaranteed orders are parent entity of // guaranteed inventory sources. When creating a guaranteed inventory source, a // guaranteed order ID must be assigned to the inventory source. type GuaranteedOrder struct { // DefaultAdvertiserId: Output only. The ID of default advertiser of the // guaranteed order. The default advertiser is either the // read_write_advertiser_id or, if that is not set, the first advertiser listed // in read_advertiser_ids. Otherwise, there is no default advertiser. DefaultAdvertiserId int64 `json:"defaultAdvertiserId,omitempty,string"` // DefaultCampaignId: The ID of the default campaign that is assigned to the // guaranteed order. The default campaign must belong to the default // advertiser. DefaultCampaignId int64 `json:"defaultCampaignId,omitempty,string"` // DisplayName: Required. The display name of the guaranteed order. Must be // UTF-8 encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // Exchange: Required. Immutable. The exchange where the guaranteed order // originated. // // Possible values: // "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this // version. // "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager. // "EXCHANGE_APPNEXUS" - AppNexus. // "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!. // "EXCHANGE_ADFORM" - Adform. // "EXCHANGE_ADMETA" - Admeta. // "EXCHANGE_ADMIXER" - Admixer. // "EXCHANGE_ADSMOGO" - AdsMogo. // "EXCHANGE_ADSWIZZ" - AdsWizz. // "EXCHANGE_BIDSWITCH" - BidSwitch. // "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from // Yahoo!. // "EXCHANGE_CADREON" - Cadreon. // "EXCHANGE_DAILYMOTION" - Dailymotion. // "EXCHANGE_FIVE" - Five. // "EXCHANGE_FLUCT" - Fluct. // "EXCHANGE_FREEWHEEL" - FreeWheel SSP. // "EXCHANGE_GENIEE" - Geniee. // "EXCHANGE_GUMGUM" - GumGum. // "EXCHANGE_IMOBILE" - i-mobile. // "EXCHANGE_IBILLBOARD" - iBILLBOARD. // "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital. // "EXCHANGE_INDEX" - Index Exchange. // "EXCHANGE_KARGO" - Kargo. // "EXCHANGE_MICROAD" - MicroAd. // "EXCHANGE_MOPUB" - MoPub. // "EXCHANGE_NEND" - Nend. // "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place. // "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile. // "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video. // "EXCHANGE_OOYALA" - Ooyala. // "EXCHANGE_OPENX" - OpenX. // "EXCHANGE_PERMODO" - Permodo. // "EXCHANGE_PLATFORMONE" - Platform One. // "EXCHANGE_PLATFORMID" - PlatformId. // "EXCHANGE_PUBMATIC" - PubMatic. // "EXCHANGE_PULSEPOINT" - PulsePoint. // "EXCHANGE_REVENUEMAX" - RevenueMax. // "EXCHANGE_RUBICON" - Rubicon. // "EXCHANGE_SMARTCLIP" - SmartClip. // "EXCHANGE_SMARTRTB" - SmartRTB+. // "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv. // "EXCHANGE_SOVRN" - Sovrn. // "EXCHANGE_SPOTXCHANGE" - SpotXchange. // "EXCHANGE_STROER" - Ströer SSP. // "EXCHANGE_TEADSTV" - TeadsTv. // "EXCHANGE_TELARIA" - Telaria. // "EXCHANGE_TVN" - TVN. // "EXCHANGE_UNITED" - United. // "EXCHANGE_YIELDLAB" - Yieldlab. // "EXCHANGE_YIELDMO" - Yieldmo. // "EXCHANGE_UNRULYX" - UnrulyX. // "EXCHANGE_OPEN8" - Open8. // "EXCHANGE_TRITON" - Triton. // "EXCHANGE_TRIPLELIFT" - TripleLift. // "EXCHANGE_TABOOLA" - Taboola. // "EXCHANGE_INMOBI" - InMobi. // "EXCHANGE_SMAATO" - Smaato. // "EXCHANGE_AJA" - Aja. // "EXCHANGE_SUPERSHIP" - Supership. // "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital. // "EXCHANGE_WAZE" - Waze. // "EXCHANGE_SOUNDCAST" - SoundCast. // "EXCHANGE_SHARETHROUGH" - Sharethrough. // "EXCHANGE_FYBER" - Fyber. // "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers. // "EXCHANGE_MEDIANET" - Media.net. // "EXCHANGE_TAPJOY" - Tapjoy. // "EXCHANGE_VISTAR" - Vistar. // "EXCHANGE_DAX" - DAX. // "EXCHANGE_JCD" - JCD. // "EXCHANGE_PLACE_EXCHANGE" - Place Exchange. // "EXCHANGE_APPLOVIN" - AppLovin. // "EXCHANGE_CONNATIX" - Connatix. // "EXCHANGE_RESET_DIGITAL" - Reset Digital. // "EXCHANGE_HIVESTACK" - Hivestack. // "EXCHANGE_DRAX" - Drax. // "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX. // "EXCHANGE_FYBER_GBID" - DT Fairbid. // "EXCHANGE_UNITY_GBID" - Unity LevelPlay. // "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation. // "EXCHANGE_ADMOST_GBID" - AdMost. // "EXCHANGE_TOPON_GBID" - TopOn. Exchange string `json:"exchange,omitempty"` // GuaranteedOrderId: Output only. The unique identifier of the guaranteed // order. The guaranteed order IDs have the format // `{exchange}-{legacy_guaranteed_order_id}`. GuaranteedOrderId string `json:"guaranteedOrderId,omitempty"` // LegacyGuaranteedOrderId: Output only. The legacy ID of the guaranteed order. // Assigned by the original exchange. The legacy ID is unique within one // exchange, but is not guaranteed to be unique across all guaranteed orders. // This ID is used in SDF and UI. LegacyGuaranteedOrderId string `json:"legacyGuaranteedOrderId,omitempty"` // Name: Output only. The resource name of the guaranteed order. Name string `json:"name,omitempty"` // PublisherName: Required. The publisher name of the guaranteed order. Must be // UTF-8 encoded with a maximum size of 240 bytes. PublisherName string `json:"publisherName,omitempty"` // ReadAccessInherited: Whether all advertisers of read_write_partner_id have // read access to the guaranteed order. Only applicable if // read_write_partner_id is set. If True, overrides read_advertiser_ids. ReadAccessInherited bool `json:"readAccessInherited,omitempty"` // ReadAdvertiserIds: The IDs of advertisers with read access to the guaranteed // order. This field must not include the advertiser assigned to // read_write_advertiser_id if it is set. All advertisers in this field must // belong to read_write_partner_id or the same partner as // read_write_advertiser_id. ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"` // ReadWriteAdvertiserId: The advertiser with read/write access to the // guaranteed order. This is also the default advertiser of the guaranteed // order. ReadWriteAdvertiserId int64 `json:"readWriteAdvertiserId,omitempty,string"` // ReadWritePartnerId: The partner with read/write access to the guaranteed // order. ReadWritePartnerId int64 `json:"readWritePartnerId,omitempty,string"` // Status: The status settings of the guaranteed order. Status *GuaranteedOrderStatus `json:"status,omitempty"` // UpdateTime: Output only. The timestamp when the guaranteed order was last // updated. Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DefaultAdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DefaultAdvertiserId") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GuaranteedOrder) MarshalJSON() ([]byte, error) { type NoMethod GuaranteedOrder return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GuaranteedOrderStatus: The status settings of the guaranteed order. type GuaranteedOrderStatus struct { // ConfigStatus: Output only. The configuration status of the guaranteed order. // Acceptable values are `PENDING` and `COMPLETED`. A guaranteed order must be // configured (fill in the required fields, choose creatives, and select a // default campaign) before it can serve. Currently the configuration action // can only be performed via UI. // // Possible values: // "GUARANTEED_ORDER_CONFIG_STATUS_UNSPECIFIED" - The approval status is not // specified or is unknown in this version. // "PENDING" - The beginning state of a guaranteed order. The guaranteed // order in this state needs to be configured before it can serve. // "COMPLETED" - The state after the buyer configures a guaranteed order. ConfigStatus string `json:"configStatus,omitempty"` // EntityPauseReason: The user-provided reason for pausing this guaranteed // order. Must be UTF-8 encoded with a maximum length of 100 bytes. Only // applicable when entity_status is set to `ENTITY_STATUS_PAUSED`. EntityPauseReason string `json:"entityPauseReason,omitempty"` // EntityStatus: Whether or not the guaranteed order is servable. Acceptable // values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and // `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "ConfigStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ConfigStatus") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GuaranteedOrderStatus) MarshalJSON() ([]byte, error) { type NoMethod GuaranteedOrderStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // HouseholdIncomeAssignedTargetingOptionDetails: Details for assigned // household income targeting option. This will be populated in the details // field of an AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_HOUSEHOLD_INCOME`. type HouseholdIncomeAssignedTargetingOptionDetails struct { // HouseholdIncome: Required. The household income of the audience. // // Possible values: // "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household income is // not specified in this version. This enum is a placeholder for default value // and does not represent a real household income option. // "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience is // unknown. // "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower 50% of // U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the top // 41-50% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the top // 31-40% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the top // 21-30% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the top // 11-20% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10% of U.S. // household incomes. HouseholdIncome string `json:"householdIncome,omitempty"` // ForceSendFields is a list of field names (e.g. "HouseholdIncome") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "HouseholdIncome") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *HouseholdIncomeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod HouseholdIncomeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // HouseholdIncomeTargetingOptionDetails: Represents a targetable household // income. This will be populated in the household_income_details field of a // TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`. type HouseholdIncomeTargetingOptionDetails struct { // HouseholdIncome: Output only. The household income of an audience. // // Possible values: // "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household income is // not specified in this version. This enum is a placeholder for default value // and does not represent a real household income option. // "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience is // unknown. // "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower 50% of // U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the top // 41-50% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the top // 31-40% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the top // 21-30% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the top // 11-20% of U.S. household incomes. // "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10% of U.S. // household incomes. HouseholdIncome string `json:"householdIncome,omitempty"` // ForceSendFields is a list of field names (e.g. "HouseholdIncome") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "HouseholdIncome") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *HouseholdIncomeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod HouseholdIncomeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // IdFilter: A filtering option that filters entities by their entity IDs. type IdFilter struct { // AdGroupAdIds: YouTube Ads to download by ID. All IDs must belong to the same // Advertiser or Partner specified in CreateSdfDownloadTaskRequest. AdGroupAdIds googleapi.Int64s `json:"adGroupAdIds,omitempty"` // AdGroupIds: YouTube Ad Groups to download by ID. All IDs must belong to the // same Advertiser or Partner specified in CreateSdfDownloadTaskRequest. AdGroupIds googleapi.Int64s `json:"adGroupIds,omitempty"` // CampaignIds: Campaigns to download by ID. All IDs must belong to the same // Advertiser or Partner specified in CreateSdfDownloadTaskRequest. CampaignIds googleapi.Int64s `json:"campaignIds,omitempty"` // InsertionOrderIds: Insertion Orders to download by ID. All IDs must belong // to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest. InsertionOrderIds googleapi.Int64s `json:"insertionOrderIds,omitempty"` // LineItemIds: Line Items to download by ID. All IDs must belong to the same // Advertiser or Partner specified in CreateSdfDownloadTaskRequest. LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"` // MediaProductIds: Media Products to download by ID. All IDs must belong to // the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest. MediaProductIds googleapi.Int64s `json:"mediaProductIds,omitempty"` // ForceSendFields is a list of field names (e.g. "AdGroupAdIds") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdGroupAdIds") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *IdFilter) MarshalJSON() ([]byte, error) { type NoMethod IdFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ImageAsset: Meta data of an image asset. type ImageAsset struct { // FileSize: File size of the image asset in bytes. FileSize int64 `json:"fileSize,omitempty,string"` // FullSize: Metadata for this image at its original size. FullSize *Dimensions `json:"fullSize,omitempty"` // MimeType: MIME type of the image asset. MimeType string `json:"mimeType,omitempty"` // ForceSendFields is a list of field names (e.g. "FileSize") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FileSize") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ImageAsset) MarshalJSON() ([]byte, error) { type NoMethod ImageAsset return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InStreamAd: Details for an in-stream ad. type InStreamAd struct { // CommonInStreamAttribute: Common ad attributes. CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"` // CustomParameters: The custom parameters to pass custom values to tracking // URL template. CustomParameters map[string]string `json:"customParameters,omitempty"` // ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CommonInStreamAttribute") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InStreamAd) MarshalJSON() ([]byte, error) { type NoMethod InStreamAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InsertionOrder: A single insertion order. type InsertionOrder struct { // AdvertiserId: Output only. The unique ID of the advertiser the insertion // order belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // BidStrategy: The bidding strategy of the insertion order. By default, // fixed_bid is set. BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"` // BillableOutcome: Immutable. The billable outcome of the insertion order. // Outcome based buying is deprecated. `BILLABLE_OUTCOME_PAY_PER_IMPRESSION` is // the only valid value. // // Possible values: // "BILLABLE_OUTCOME_UNSPECIFIED" - Unspecified billable outcome. // "BILLABLE_OUTCOME_PAY_PER_IMPRESSION" - Pay per impressions. // "BILLABLE_OUTCOME_PAY_PER_CLICK" - Pay per click. // "BILLABLE_OUTCOME_PAY_PER_VIEWABLE_IMPRESSION" - Pay per active view. BillableOutcome string `json:"billableOutcome,omitempty"` // Budget: Required. The budget allocation settings of the insertion order. Budget *InsertionOrderBudget `json:"budget,omitempty"` // CampaignId: Required. Immutable. The unique ID of the campaign that the // insertion order belongs to. CampaignId int64 `json:"campaignId,omitempty,string"` // DisplayName: Required. The display name of the insertion order. Must be // UTF-8 encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // EntityStatus: Required. Controls whether or not the insertion order can // spend its budget and bid on inventory. * For CreateInsertionOrder method, // only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use // UpdateInsertionOrder method and update the status to `ENTITY_STATUS_ACTIVE` // after creation. * An insertion order cannot be changed back to // `ENTITY_STATUS_DRAFT` status from any other status. * An insertion order // cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not // active. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // FrequencyCap: Required. The frequency capping setting of the insertion // order. FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"` // InsertionOrderId: Output only. The unique ID of the insertion order. // Assigned by the system. InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"` // InsertionOrderType: The type of insertion order. If this field is // unspecified in creation, the value defaults to `RTB`. // // Possible values: // "INSERTION_ORDER_TYPE_UNSPECIFIED" - Insertion order type is not specified // or is unknown. // "RTB" - Real-time bidding. // "OVER_THE_TOP" - Over-the-top. InsertionOrderType string `json:"insertionOrderType,omitempty"` // IntegrationDetails: Additional integration details of the insertion order. IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"` // Name: Output only. The resource name of the insertion order. Name string `json:"name,omitempty"` // Pacing: Required. The budget spending speed setting of the insertion order. Pacing *Pacing `json:"pacing,omitempty"` // PartnerCosts: The partner costs associated with the insertion order. If // absent or empty in CreateInsertionOrder method, the newly created insertion // order will inherit partner costs from the partner settings. PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"` // PerformanceGoal: Required. Performance goal of the insertion order. PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"` // ReservationType: Output only. The reservation type of the insertion order. // // Possible values: // "RESERVATION_TYPE_UNSPECIFIED" - Reservation type value is not specified // or is unknown in this version. // "RESERVATION_TYPE_NOT_GUARANTEED" - Not created through a guaranteed // inventory source. // "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" - Created through a // programmatic guaranteed inventory source. // "RESERVATION_TYPE_TAG_GUARANTEED" - Created through a tag guaranteed // inventory source. // "RESERVATION_TYPE_PETRA_VIRAL" - Created through a Petra inventory source. // Only applicable to YouTube and Partners line items. // "RESERVATION_TYPE_INSTANT_RESERVE" - Created with an instant quote. Only // applicable to YouTube and partners line items. ReservationType string `json:"reservationType,omitempty"` // UpdateTime: Output only. The timestamp when the insertion order was last // updated. Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InsertionOrder) MarshalJSON() ([]byte, error) { type NoMethod InsertionOrder return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InsertionOrderBudget: Settings that control how insertion order budget is // allocated. type InsertionOrderBudget struct { // AutomationType: The type of automation used to manage bid and budget for the // insertion order. If this field is unspecified in creation, the value // defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`. // // Possible values: // "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" - Insertion order automation // option is not specified or is unknown in this version. // "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET" - Automatic budget allocation. // Allow the system to automatically shift budget to owning line items to // optimize performance defined by kpi. No automation on bid settings. // "INSERTION_ORDER_AUTOMATION_TYPE_NONE" - No automation of bid or budget on // insertion order level. Bid and budget must be manually configured at the // line item level. // "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" - Allow the system to // automatically adjust bids and shift budget to owning line items to optimize // performance defined by kpi. AutomationType string `json:"automationType,omitempty"` // BudgetSegments: Required. The list of budget segments. Use a budget segment // to specify a specific budget for a given period of time an insertion order // is running. BudgetSegments []*InsertionOrderBudgetSegment `json:"budgetSegments,omitempty"` // BudgetUnit: Required. Immutable. The budget unit specifies whether the // budget is currency based or impression based. // // Possible values: // "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts. // "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts. BudgetUnit string `json:"budgetUnit,omitempty"` // ForceSendFields is a list of field names (e.g. "AutomationType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AutomationType") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InsertionOrderBudget) MarshalJSON() ([]byte, error) { type NoMethod InsertionOrderBudget return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InsertionOrderBudgetSegment: Settings that control the budget of a single // budget segment. type InsertionOrderBudgetSegment struct { // BudgetAmountMicros: Required. The budget amount the insertion order will // spend for the given date_range. The amount is in micros. Must be greater // than 0. For example, 500000000 represents 500 standard units of the // currency. BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"` // CampaignBudgetId: The budget_id of the campaign budget that this insertion // order budget segment is a part of. CampaignBudgetId int64 `json:"campaignBudgetId,omitempty,string"` // DateRange: Required. The start and end date settings of the budget segment. // They are resolved relative to the parent advertiser's time zone. * When // creating a new budget segment, both `start_date` and `end_date` must be in // the future. * An existing budget segment with a `start_date` in the past has // a mutable `end_date` but an immutable `start_date`. * `end_date` must be the // `start_date` or later, both before the year 2037. DateRange *DateRange `json:"dateRange,omitempty"` // Description: The budget segment description. It can be used to enter // Purchase Order information for each budget segment and have that information // printed on the invoices. Must be UTF-8 encoded. Description string `json:"description,omitempty"` // ForceSendFields is a list of field names (e.g. "BudgetAmountMicros") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BudgetAmountMicros") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InsertionOrderBudgetSegment) MarshalJSON() ([]byte, error) { type NoMethod InsertionOrderBudgetSegment return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // IntegralAdScience: Details of Integral Ad Science settings. type IntegralAdScience struct { // CustomSegmentId: The custom segment ID provided by Integral Ad Science. The // ID must be between `1000001` and `1999999`, inclusive. CustomSegmentId googleapi.Int64s `json:"customSegmentId,omitempty"` // DisplayViewability: Display Viewability section (applicable to display line // items only). // // Possible values: // "PERFORMANCE_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder // and it doesn't specify any display viewability options. // "PERFORMANCE_VIEWABILITY_40" - Target 40% Viewability or Higher. // "PERFORMANCE_VIEWABILITY_50" - Target 50% Viewability or Higher. // "PERFORMANCE_VIEWABILITY_60" - Target 60% Viewability or Higher. // "PERFORMANCE_VIEWABILITY_70" - Target 70% Viewability or Higher. DisplayViewability string `json:"displayViewability,omitempty"` // ExcludeUnrateable: Brand Safety - **Unrateable**. ExcludeUnrateable bool `json:"excludeUnrateable,omitempty"` // ExcludedAdFraudRisk: Ad Fraud settings. // // Possible values: // "SUSPICIOUS_ACTIVITY_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any ad fraud prevention options. // "SUSPICIOUS_ACTIVITY_HR" - Ad Fraud - Exclude High Risk. // "SUSPICIOUS_ACTIVITY_HMR" - Ad Fraud - Exclude High and Moderate Risk. ExcludedAdFraudRisk string `json:"excludedAdFraudRisk,omitempty"` // ExcludedAdultRisk: Brand Safety - **Adult content**. // // Possible values: // "ADULT_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any adult options. // "ADULT_HR" - Adult - Exclude High Risk. // "ADULT_HMR" - Adult - Exclude High and Moderate Risk. ExcludedAdultRisk string `json:"excludedAdultRisk,omitempty"` // ExcludedAlcoholRisk: Brand Safety - **Alcohol**. // // Possible values: // "ALCOHOL_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any alcohol options. // "ALCOHOL_HR" - Alcohol - Exclude High Risk. // "ALCOHOL_HMR" - Alcohol - Exclude High and Moderate Risk. ExcludedAlcoholRisk string `json:"excludedAlcoholRisk,omitempty"` // ExcludedDrugsRisk: Brand Safety - **Drugs**. // // Possible values: // "DRUGS_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any drugs options. // "DRUGS_HR" - Drugs - Exclude High Risk. // "DRUGS_HMR" - Drugs - Exclude High and Moderate Risk. ExcludedDrugsRisk string `json:"excludedDrugsRisk,omitempty"` // ExcludedGamblingRisk: Brand Safety - **Gambling**. // // Possible values: // "GAMBLING_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any gambling options. // "GAMBLING_HR" - Gambling - Exclude High Risk. // "GAMBLING_HMR" - Gambling - Exclude High and Moderate Risk. ExcludedGamblingRisk string `json:"excludedGamblingRisk,omitempty"` // ExcludedHateSpeechRisk: Brand Safety - **Hate speech**. // // Possible values: // "HATE_SPEECH_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any hate speech options. // "HATE_SPEECH_HR" - Hate Speech - Exclude High Risk. // "HATE_SPEECH_HMR" - Hate Speech - Exclude High and Moderate Risk. ExcludedHateSpeechRisk string `json:"excludedHateSpeechRisk,omitempty"` // ExcludedIllegalDownloadsRisk: Brand Safety - **Illegal downloads**. // // Possible values: // "ILLEGAL_DOWNLOADS_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any illegal downloads options. // "ILLEGAL_DOWNLOADS_HR" - Illegal Downloads - Exclude High Risk. // "ILLEGAL_DOWNLOADS_HMR" - Illegal Downloads - Exclude High and Moderate // Risk. ExcludedIllegalDownloadsRisk string `json:"excludedIllegalDownloadsRisk,omitempty"` // ExcludedOffensiveLanguageRisk: Brand Safety - **Offensive language**. // // Possible values: // "OFFENSIVE_LANGUAGE_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any language options. // "OFFENSIVE_LANGUAGE_HR" - Offensive Language - Exclude High Risk. // "OFFENSIVE_LANGUAGE_HMR" - Offensive Language - Exclude High and Moderate // Risk. ExcludedOffensiveLanguageRisk string `json:"excludedOffensiveLanguageRisk,omitempty"` // ExcludedViolenceRisk: Brand Safety - **Violence**. // // Possible values: // "VIOLENCE_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any violence options. // "VIOLENCE_HR" - Violence - Exclude High Risk. // "VIOLENCE_HMR" - Violence - Exclude High and Moderate Risk. ExcludedViolenceRisk string `json:"excludedViolenceRisk,omitempty"` // TraqScoreOption: True advertising quality (applicable to Display line items // only). // // Possible values: // "TRAQ_UNSPECIFIED" - This enum is only a placeholder and it doesn't // specify any true advertising quality scores. // "TRAQ_250" - TRAQ score 250-1000. // "TRAQ_500" - TRAQ score 500-1000. // "TRAQ_600" - TRAQ score 600-1000. // "TRAQ_700" - TRAQ score 700-1000. // "TRAQ_750" - TRAQ score 750-1000. // "TRAQ_875" - TRAQ score 875-1000. // "TRAQ_1000" - TRAQ score 1000. TraqScoreOption string `json:"traqScoreOption,omitempty"` // VideoViewability: Video Viewability Section (applicable to video line items // only). // // Possible values: // "VIDEO_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder and it // doesn't specify any video viewability options. // "VIDEO_VIEWABILITY_40" - 40%+ in view (IAB video viewability standard). // "VIDEO_VIEWABILITY_50" - 50%+ in view (IAB video viewability standard). // "VIDEO_VIEWABILITY_60" - 60%+ in view (IAB video viewability standard). // "VIDEO_VIEWABILITY_70" - 70%+ in view (IAB video viewability standard). VideoViewability string `json:"videoViewability,omitempty"` // ForceSendFields is a list of field names (e.g. "CustomSegmentId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomSegmentId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *IntegralAdScience) MarshalJSON() ([]byte, error) { type NoMethod IntegralAdScience return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // IntegrationDetails: Integration details of an entry. type IntegrationDetails struct { // Details: Additional details of the entry in string format. Must be UTF-8 // encoded with a length of no more than 1000 characters. Details string `json:"details,omitempty"` // IntegrationCode: An external identifier to be associated with the entry. The // integration code will show up together with the entry in many places in the // system, for example, reporting. Must be UTF-8 encoded with a length of no // more than 500 characters. IntegrationCode string `json:"integrationCode,omitempty"` // ForceSendFields is a list of field names (e.g. "Details") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Details") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *IntegrationDetails) MarshalJSON() ([]byte, error) { type NoMethod IntegrationDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySource: An inventory source. type InventorySource struct { // Commitment: Whether the inventory source has a guaranteed or non-guaranteed // delivery. // // Possible values: // "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED" - The commitment is not // specified or is unknown in this version. // "INVENTORY_SOURCE_COMMITMENT_GUARANTEED" - The commitment is guaranteed // delivery. // "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" - The commitment is // non-guaranteed delivery. Commitment string `json:"commitment,omitempty"` // CreativeConfigs: The creative requirements of the inventory source. Not // applicable for auction packages. CreativeConfigs []*CreativeConfig `json:"creativeConfigs,omitempty"` // DealId: The ID in the exchange space that uniquely identifies the inventory // source. Must be unique across buyers within each exchange but not // necessarily unique across exchanges. DealId string `json:"dealId,omitempty"` // DeliveryMethod: The delivery method of the inventory source. * For // non-guaranteed inventory sources, the only acceptable value is // `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed inventory // sources, acceptable values are `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and // `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. // // Possible values: // "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED" - The delivery method is // not specified or is unknown in this version. // "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC" - The delivery method is // programmatic. // "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" - The delivery method is tag. DeliveryMethod string `json:"deliveryMethod,omitempty"` // DisplayName: The display name of the inventory source. Must be UTF-8 encoded // with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // Exchange: The exchange to which the inventory source belongs. // // Possible values: // "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this // version. // "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager. // "EXCHANGE_APPNEXUS" - AppNexus. // "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!. // "EXCHANGE_ADFORM" - Adform. // "EXCHANGE_ADMETA" - Admeta. // "EXCHANGE_ADMIXER" - Admixer. // "EXCHANGE_ADSMOGO" - AdsMogo. // "EXCHANGE_ADSWIZZ" - AdsWizz. // "EXCHANGE_BIDSWITCH" - BidSwitch. // "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from // Yahoo!. // "EXCHANGE_CADREON" - Cadreon. // "EXCHANGE_DAILYMOTION" - Dailymotion. // "EXCHANGE_FIVE" - Five. // "EXCHANGE_FLUCT" - Fluct. // "EXCHANGE_FREEWHEEL" - FreeWheel SSP. // "EXCHANGE_GENIEE" - Geniee. // "EXCHANGE_GUMGUM" - GumGum. // "EXCHANGE_IMOBILE" - i-mobile. // "EXCHANGE_IBILLBOARD" - iBILLBOARD. // "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital. // "EXCHANGE_INDEX" - Index Exchange. // "EXCHANGE_KARGO" - Kargo. // "EXCHANGE_MICROAD" - MicroAd. // "EXCHANGE_MOPUB" - MoPub. // "EXCHANGE_NEND" - Nend. // "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place. // "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile. // "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video. // "EXCHANGE_OOYALA" - Ooyala. // "EXCHANGE_OPENX" - OpenX. // "EXCHANGE_PERMODO" - Permodo. // "EXCHANGE_PLATFORMONE" - Platform One. // "EXCHANGE_PLATFORMID" - PlatformId. // "EXCHANGE_PUBMATIC" - PubMatic. // "EXCHANGE_PULSEPOINT" - PulsePoint. // "EXCHANGE_REVENUEMAX" - RevenueMax. // "EXCHANGE_RUBICON" - Rubicon. // "EXCHANGE_SMARTCLIP" - SmartClip. // "EXCHANGE_SMARTRTB" - SmartRTB+. // "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv. // "EXCHANGE_SOVRN" - Sovrn. // "EXCHANGE_SPOTXCHANGE" - SpotXchange. // "EXCHANGE_STROER" - Ströer SSP. // "EXCHANGE_TEADSTV" - TeadsTv. // "EXCHANGE_TELARIA" - Telaria. // "EXCHANGE_TVN" - TVN. // "EXCHANGE_UNITED" - United. // "EXCHANGE_YIELDLAB" - Yieldlab. // "EXCHANGE_YIELDMO" - Yieldmo. // "EXCHANGE_UNRULYX" - UnrulyX. // "EXCHANGE_OPEN8" - Open8. // "EXCHANGE_TRITON" - Triton. // "EXCHANGE_TRIPLELIFT" - TripleLift. // "EXCHANGE_TABOOLA" - Taboola. // "EXCHANGE_INMOBI" - InMobi. // "EXCHANGE_SMAATO" - Smaato. // "EXCHANGE_AJA" - Aja. // "EXCHANGE_SUPERSHIP" - Supership. // "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital. // "EXCHANGE_WAZE" - Waze. // "EXCHANGE_SOUNDCAST" - SoundCast. // "EXCHANGE_SHARETHROUGH" - Sharethrough. // "EXCHANGE_FYBER" - Fyber. // "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers. // "EXCHANGE_MEDIANET" - Media.net. // "EXCHANGE_TAPJOY" - Tapjoy. // "EXCHANGE_VISTAR" - Vistar. // "EXCHANGE_DAX" - DAX. // "EXCHANGE_JCD" - JCD. // "EXCHANGE_PLACE_EXCHANGE" - Place Exchange. // "EXCHANGE_APPLOVIN" - AppLovin. // "EXCHANGE_CONNATIX" - Connatix. // "EXCHANGE_RESET_DIGITAL" - Reset Digital. // "EXCHANGE_HIVESTACK" - Hivestack. // "EXCHANGE_DRAX" - Drax. // "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX. // "EXCHANGE_FYBER_GBID" - DT Fairbid. // "EXCHANGE_UNITY_GBID" - Unity LevelPlay. // "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation. // "EXCHANGE_ADMOST_GBID" - AdMost. // "EXCHANGE_TOPON_GBID" - TopOn. Exchange string `json:"exchange,omitempty"` // GuaranteedOrderId: Immutable. The ID of the guaranteed order that this // inventory source belongs to. Only applicable when commitment is // `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`. GuaranteedOrderId string `json:"guaranteedOrderId,omitempty"` // InventorySourceId: Output only. The unique ID of the inventory source. // Assigned by the system. InventorySourceId int64 `json:"inventorySourceId,omitempty,string"` // InventorySourceProductType: Output only. The product type of the inventory // source, denoting the way through which it sells inventory. // // Possible values: // "INVENTORY_SOURCE_PRODUCT_TYPE_UNSPECIFIED" - The product type is not // specified or is unknown in this version. Modifying inventory sources of this // product type are not supported via API. // "PREFERRED_DEAL" - The inventory source sells inventory through Preferred // Deal. // "PRIVATE_AUCTION" - The inventory source sells inventory through Private // Auction. // "PROGRAMMATIC_GUARANTEED" - The inventory source sells inventory through // Programmatic Guaranteed. // "TAG_GUARANTEED" - The inventory source sells inventory through Tag // Guaranteed. // "YOUTUBE_RESERVE" - The inventory source sells inventory through YouTube // Reserve. // "INSTANT_RESERVE" - The inventory source sells inventory through Instant // Reserve. Modifying inventory sources of this product type are not supported // via API. // "GUARANTEED_PACKAGE" - The inventory source sells inventory through // Guaranteed Package. Modifying inventory sources of this product type are not // supported via API. // "PROGRAMMATIC_TV" - The inventory source sells inventory through // Programmtic TV. Modifying inventory sources of this product type are not // supported via API. // "AUCTION_PACKAGE" - The inventory source sells inventory through Auction // Package. Modifying inventory sources of this product type are not supported // via API. InventorySourceProductType string `json:"inventorySourceProductType,omitempty"` // InventorySourceType: Denotes the type of the inventory source. // // Possible values: // "INVENTORY_SOURCE_TYPE_UNSPECIFIED" - The inventory source type is not // specified or is unknown in this version. // "INVENTORY_SOURCE_TYPE_PRIVATE" - Private inventory source. // "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" - Auction package. InventorySourceType string `json:"inventorySourceType,omitempty"` // Name: Output only. The resource name of the inventory source. Name string `json:"name,omitempty"` // PublisherName: The publisher/seller name of the inventory source. PublisherName string `json:"publisherName,omitempty"` // RateDetails: Required. The rate details of the inventory source. RateDetails *RateDetails `json:"rateDetails,omitempty"` // ReadAdvertiserIds: Output only. The IDs of advertisers with read-only access // to the inventory source. ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"` // ReadPartnerIds: Output only. The IDs of partners with read-only access to // the inventory source. All advertisers of partners in this field inherit // read-only access to the inventory source. ReadPartnerIds googleapi.Int64s `json:"readPartnerIds,omitempty"` // ReadWriteAccessors: The partner or advertisers that have read/write access // to the inventory source. Output only when commitment is // `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`, in which case the read/write // accessors are inherited from the parent guaranteed order. Required when // commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED`. If commitment is // `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED` and a partner is set in this // field, all advertisers under this partner will automatically have read-only // access to the inventory source. These advertisers will not be included in // read_advertiser_ids. ReadWriteAccessors *InventorySourceAccessors `json:"readWriteAccessors,omitempty"` // Status: The status settings of the inventory source. Status *InventorySourceStatus `json:"status,omitempty"` // TimeRange: The time range when this inventory source starts and stops // serving. TimeRange *TimeRange `json:"timeRange,omitempty"` // UpdateTime: Output only. The timestamp when the inventory source was last // updated. Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Commitment") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Commitment") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySource) MarshalJSON() ([]byte, error) { type NoMethod InventorySource return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceAccessors: The partner or advertisers with access to the // inventory source. type InventorySourceAccessors struct { // Advertisers: The advertisers with access to the inventory source. All // advertisers must belong to the same partner. Advertisers *InventorySourceAccessorsAdvertiserAccessors `json:"advertisers,omitempty"` // Partner: The partner with access to the inventory source. Partner *InventorySourceAccessorsPartnerAccessor `json:"partner,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Advertisers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Advertisers") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceAccessors) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceAccessors return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceAccessorsAdvertiserAccessors: The advertisers with access to // the inventory source. type InventorySourceAccessorsAdvertiserAccessors struct { // AdvertiserIds: The IDs of the advertisers. AdvertiserIds googleapi.Int64s `json:"advertiserIds,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvertiserIds") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserIds") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceAccessorsAdvertiserAccessors) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceAccessorsAdvertiserAccessors return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceAccessorsPartnerAccessor: The partner with access to the // inventory source. type InventorySourceAccessorsPartnerAccessor struct { // PartnerId: The ID of the partner. PartnerId int64 `json:"partnerId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "PartnerId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PartnerId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceAccessorsPartnerAccessor) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceAccessorsPartnerAccessor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceAssignedTargetingOptionDetails: Targeting details for // inventory source. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_INVENTORY_SOURCE`. type InventorySourceAssignedTargetingOptionDetails struct { // InventorySourceId: Required. ID of the inventory source. Should refer to the // inventory_source_id field of an InventorySource resource. InventorySourceId int64 `json:"inventorySourceId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "InventorySourceId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InventorySourceId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceDisplayCreativeConfig: The configuration for display // creatives. type InventorySourceDisplayCreativeConfig struct { // CreativeSize: The size requirements for display creatives that can be // assigned to the inventory source. CreativeSize *Dimensions `json:"creativeSize,omitempty"` // ForceSendFields is a list of field names (e.g. "CreativeSize") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreativeSize") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceDisplayCreativeConfig) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceDisplayCreativeConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceFilter: A filtering option for filtering on Inventory Source // entities. type InventorySourceFilter struct { // InventorySourceIds: Inventory Sources to download by ID. All IDs must belong // to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest. // Leave empty to download all Inventory Sources for the selected Advertiser or // Partner. InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"` // ForceSendFields is a list of field names (e.g. "InventorySourceIds") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InventorySourceIds") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceFilter) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceGroup: A collection of targetable inventory sources. type InventorySourceGroup struct { // DisplayName: Required. The display name of the inventory source group. Must // be UTF-8 encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // InventorySourceGroupId: Output only. The unique ID of the inventory source // group. Assigned by the system. InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"` // Name: Output only. The resource name of the inventory source group. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceGroup) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceGroupAssignedTargetingOptionDetails: Targeting details for // inventory source group. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`. type InventorySourceGroupAssignedTargetingOptionDetails struct { // InventorySourceGroupId: Required. ID of the inventory source group. Should // refer to the inventory_source_group_id field of an InventorySourceGroup // resource. InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "InventorySourceGroupId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InventorySourceGroupId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceGroupAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceStatus: The status related settings of the inventory source. type InventorySourceStatus struct { // ConfigStatus: Output only. The configuration status of the inventory source. // Only applicable for guaranteed inventory sources. Acceptable values are // `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and // `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must be // configured (fill in the required fields, choose creatives, and select a // default campaign) before it can serve. // // Possible values: // "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED" - The approval status is not // specified or is unknown in this version. // "INVENTORY_SOURCE_CONFIG_STATUS_PENDING" - The beginning state of a // guaranteed inventory source. The inventory source in this state needs to be // configured. // "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" - The state after the buyer // configures a guaranteed inventory source. ConfigStatus string `json:"configStatus,omitempty"` // EntityPauseReason: The user-provided reason for pausing this inventory // source. Must not exceed 100 characters. Only applicable when entity_status // is set to `ENTITY_STATUS_PAUSED`. EntityPauseReason string `json:"entityPauseReason,omitempty"` // EntityStatus: Whether or not the inventory source is servable. Acceptable // values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and // `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // SellerPauseReason: Output only. The seller-provided reason for pausing this // inventory source. Only applicable for inventory sources synced directly from // the publishers and when seller_status is set to `ENTITY_STATUS_PAUSED`. SellerPauseReason string `json:"sellerPauseReason,omitempty"` // SellerStatus: Output only. The status set by the seller for the inventory // source. Only applicable for inventory sources synced directly from the // publishers. Acceptable values are `ENTITY_STATUS_ACTIVE` and // `ENTITY_STATUS_PAUSED`. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. SellerStatus string `json:"sellerStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "ConfigStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ConfigStatus") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceStatus) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InventorySourceVideoCreativeConfig: The configuration for video creatives. type InventorySourceVideoCreativeConfig struct { // Duration: The duration requirements for the video creatives that can be // assigned to the inventory source. Duration string `json:"duration,omitempty"` // ForceSendFields is a list of field names (e.g. "Duration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Duration") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InventorySourceVideoCreativeConfig) MarshalJSON() ([]byte, error) { type NoMethod InventorySourceVideoCreativeConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Invoice: A single invoice. type Invoice struct { // BudgetInvoiceGroupingId: The budget grouping ID for this invoice. This field // will only be set if the invoice level of the corresponding billing profile // was set to "Budget invoice grouping ID". BudgetInvoiceGroupingId string `json:"budgetInvoiceGroupingId,omitempty"` // BudgetSummaries: The list of summarized information for each budget // associated with this invoice. This field will only be set if the invoice // detail level of the corresponding billing profile was set to "Budget level // PO". BudgetSummaries []*BudgetSummary `json:"budgetSummaries,omitempty"` // CorrectedInvoiceId: The ID of the original invoice being adjusted by this // invoice, if applicable. May appear on the invoice PDF as `Reference invoice // number`. If replaced_invoice_ids is set, this field will be empty. CorrectedInvoiceId string `json:"correctedInvoiceId,omitempty"` // CurrencyCode: The currency used in the invoice in ISO 4217 format. CurrencyCode string `json:"currencyCode,omitempty"` // DisplayName: The display name of the invoice. DisplayName string `json:"displayName,omitempty"` // DueDate: The date when the invoice is due. DueDate *Date `json:"dueDate,omitempty"` // InvoiceId: The unique ID of the invoice. InvoiceId string `json:"invoiceId,omitempty"` // InvoiceType: The type of invoice document. // // Possible values: // "INVOICE_TYPE_UNSPECIFIED" - Not specified or is unknown in this version. // "INVOICE_TYPE_CREDIT" - The invoice has a negative amount. // "INVOICE_TYPE_INVOICE" - The invoice has a positive amount. InvoiceType string `json:"invoiceType,omitempty"` // IssueDate: The date when the invoice was issued. IssueDate *Date `json:"issueDate,omitempty"` // Name: The resource name of the invoice. Name string `json:"name,omitempty"` // NonBudgetMicros: The total amount of costs or adjustments not tied to a // particular budget, in micros of the invoice's currency. For example, if // currency_code is `USD`, then 1000000 represents one US dollar. NonBudgetMicros int64 `json:"nonBudgetMicros,omitempty,string"` // PaymentsAccountId: The ID of the payments account the invoice belongs to. // Appears on the invoice PDF as `Billing Account Number`. PaymentsAccountId string `json:"paymentsAccountId,omitempty"` // PaymentsProfileId: The ID of the payments profile the invoice belongs to. // Appears on the invoice PDF as `Billing ID`. PaymentsProfileId string `json:"paymentsProfileId,omitempty"` // PdfUrl: The URL to download a PDF copy of the invoice. This URL is user // specific and requires a valid OAuth 2.0 access token to access. The access // token must be provided in an `Authorization: Bearer` HTTP header and be // authorized for one of the following scopes: * // `https://www.googleapis.com/auth/display-video-mediaplanning` * // `https://www.googleapis.com/auth/display-video` The URL will be valid for 7 // days after retrieval of this invoice object or until this invoice is // retrieved again. PdfUrl string `json:"pdfUrl,omitempty"` // PurchaseOrderNumber: Purchase order number associated with the invoice. PurchaseOrderNumber string `json:"purchaseOrderNumber,omitempty"` // ReplacedInvoiceIds: The ID(s) of any originally issued invoice that is being // cancelled by this invoice, if applicable. Multiple invoices may be listed if // those invoices are being consolidated into a single invoice. May appear on // invoice PDF as `Replaced invoice numbers`. If corrected_invoice_id is set, // this field will be empty. ReplacedInvoiceIds []string `json:"replacedInvoiceIds,omitempty"` // ServiceDateRange: The service start and end dates which are covered by this // invoice. ServiceDateRange *DateRange `json:"serviceDateRange,omitempty"` // SubtotalAmountMicros: The pre-tax subtotal amount, in micros of the // invoice's currency. For example, if currency_code is `USD`, then 1000000 // represents one US dollar. SubtotalAmountMicros int64 `json:"subtotalAmountMicros,omitempty,string"` // TotalAmountMicros: The invoice total amount, in micros of the invoice's // currency. For example, if currency_code is `USD`, then 1000000 represents // one US dollar. TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"` // TotalTaxAmountMicros: The sum of all taxes in invoice, in micros of the // invoice's currency. For example, if currency_code is `USD`, then 1000000 // represents one US dollar. TotalTaxAmountMicros int64 `json:"totalTaxAmountMicros,omitempty,string"` // ForceSendFields is a list of field names (e.g. "BudgetInvoiceGroupingId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BudgetInvoiceGroupingId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Invoice) MarshalJSON() ([]byte, error) { type NoMethod Invoice return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // KeywordAssignedTargetingOptionDetails: Details for assigned keyword // targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`. type KeywordAssignedTargetingOptionDetails struct { // Keyword: Required. The keyword, for example `car insurance`. Positive // keyword cannot be offensive word. Must be UTF-8 encoded with a maximum size // of 255 bytes. Maximum number of characters is 80. Maximum number of words is // 10. Keyword string `json:"keyword,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // ForceSendFields is a list of field names (e.g. "Keyword") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Keyword") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *KeywordAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod KeywordAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LanguageAssignedTargetingOptionDetails: Details for assigned language // targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`. type LanguageAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the language (e.g., "French"). DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. All // assigned language targeting options on the same resource must have the same // value for this field. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_LANGUAGE`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LanguageAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod LanguageAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LanguageTargetingOptionDetails: Represents a targetable language. This will // be populated in the language_details field when targeting_type is // `TARGETING_TYPE_LANGUAGE`. type LanguageTargetingOptionDetails struct { // DisplayName: Output only. The display name of the language (e.g., "French"). DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LanguageTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod LanguageTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LineItem: A single line item. type LineItem struct { // AdvertiserId: Output only. The unique ID of the advertiser the line item // belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // BidStrategy: Required. The bidding strategy of the line item. BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"` // Budget: Required. The budget allocation setting of the line item. Budget *LineItemBudget `json:"budget,omitempty"` // CampaignId: Output only. The unique ID of the campaign that the line item // belongs to. CampaignId int64 `json:"campaignId,omitempty,string"` // ConversionCounting: The conversion tracking setting of the line item. ConversionCounting *ConversionCountingConfig `json:"conversionCounting,omitempty"` // CreativeIds: The IDs of the creatives associated with the line item. CreativeIds googleapi.Int64s `json:"creativeIds,omitempty"` // DisplayName: Required. The display name of the line item. Must be UTF-8 // encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // EntityStatus: Required. Controls whether or not the line item can spend its // budget and bid on inventory. * For CreateLineItem method, only // `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use // UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE` after // creation. * A line item cannot be changed back to `ENTITY_STATUS_DRAFT` // status from any other status. * If the line item's parent insertion order is // not active, the line item can't spend its budget even if its own status is // `ENTITY_STATUS_ACTIVE`. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // ExcludeNewExchanges: Whether to exclude new exchanges from automatically // being targeted by the line item. This field is false by default. ExcludeNewExchanges bool `json:"excludeNewExchanges,omitempty"` // Flight: Required. The start and end time of the line item's flight. Flight *LineItemFlight `json:"flight,omitempty"` // FrequencyCap: Required. The impression frequency cap settings of the line // item. The max_impressions field in this settings object must be used if // assigning a limited cap. FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"` // InsertionOrderId: Required. Immutable. The unique ID of the insertion order // that the line item belongs to. InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"` // IntegrationDetails: Integration details of the line item. IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"` // LineItemId: Output only. The unique ID of the line item. Assigned by the // system. LineItemId int64 `json:"lineItemId,omitempty,string"` // LineItemType: Required. Immutable. The type of the line item. // // Possible values: // "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is unknown // in this version. Line items of this type and their targeting cannot be // created or updated using the API. // "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich media // ads. // "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that drive // installs of an app. // "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for a // variety of environments. // "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive installs // of an app. // "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served on // mobile app inventory. Line items of this type and their targeting cannot be // created or updated using the API. // "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on mobile // app inventory. Line items of this type and their targeting cannot be created // or updated using the API. // "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety of // environments. // "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in OTT // insertion orders. This type is only applicable to line items with an // insertion order of insertion_order_type `OVER_THE_TOP`. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" - YouTube video ads that // promote conversions. Line items of this type and their targeting cannot be // created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" - YouTube video ads // (up to 15 seconds) that cannot be skipped. Line items of this type and their // targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" - YouTube video ads // that show a story in a particular sequence using a mix of formats. Line // items of this type and their targeting cannot be created or updated using // the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" - YouTube audio ads. Line // items of this type and their targeting cannot be created or updated using // the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" - YouTube video ads that // optimize reaching more unique users at lower cost. May include bumper ads, // skippable in-stream ads, or a mix of types. Line items of this type and // their targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" - Default YouTube video ads. // Line items of this type and their targeting cannot be created or updated // using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" - // Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. // Line items of this type and their targeting cannot be created or updated // using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" - Connected TV // youTube video ads that optimize reaching more unique users at lower cost. // May include bumper ads, skippable in-stream ads, or a mix of types. Line // items of this type and their targeting cannot be created or updated using // the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" - Connected TV // default YouTube video ads. Only include in-stream ad-format. Line items of // this type and their targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" - The goal of this // line item type is to show the YouTube ads target number of times to the same // person in a certain period of time. Line items of this type and their // targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" - YouTube video ads that aim to // get more views with a variety of ad formats. Line items of this type and // their targeting cannot be created or updated using the API. // "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" - Display ads served on // digital-out-of-home inventory. Line items of this type and their targeting // cannot be created or updated using the API. // "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" - Video ads served on // digital-out-of-home inventory. Line items of this type and their targeting // cannot be created or updated using the API. LineItemType string `json:"lineItemType,omitempty"` // MobileApp: The mobile app promoted by the line item. This is applicable only // when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or // `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`. MobileApp *MobileApp `json:"mobileApp,omitempty"` // Name: Output only. The resource name of the line item. Name string `json:"name,omitempty"` // Pacing: Required. The budget spending speed setting of the line item. Pacing *Pacing `json:"pacing,omitempty"` // PartnerCosts: The partner costs associated with the line item. If absent or // empty in CreateLineItem method, the newly created line item will inherit // partner costs from its parent insertion order. PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"` // PartnerRevenueModel: Required. The partner revenue model setting of the line // item. PartnerRevenueModel *PartnerRevenueModel `json:"partnerRevenueModel,omitempty"` // ReservationType: Output only. The reservation type of the line item. // // Possible values: // "RESERVATION_TYPE_UNSPECIFIED" - Reservation type value is not specified // or is unknown in this version. // "RESERVATION_TYPE_NOT_GUARANTEED" - Not created through a guaranteed // inventory source. // "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" - Created through a // programmatic guaranteed inventory source. // "RESERVATION_TYPE_TAG_GUARANTEED" - Created through a tag guaranteed // inventory source. // "RESERVATION_TYPE_PETRA_VIRAL" - Created through a Petra inventory source. // Only applicable to YouTube and Partners line items. // "RESERVATION_TYPE_INSTANT_RESERVE" - Created with an instant quote. Only // applicable to YouTube and partners line items. ReservationType string `json:"reservationType,omitempty"` // TargetingExpansion: The optimized targeting // (//support.google.com/displayvideo/answer/12060859) settings of the line // item. This config is only applicable for display, video, or audio line items // that use automated bidding and positively target eligible audience lists. TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"` // UpdateTime: Output only. The timestamp when the line item was last updated. // Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // WarningMessages: Output only. The warning messages generated by the line // item. These warnings do not block saving the line item, but some may block // the line item from running. // // Possible values: // "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED" - Not specified or is unknown. // "INVALID_FLIGHT_DATES" - This line item has invalid flight dates. The line // item will not run. // "EXPIRED" - This line item's end date is in the past. // "PENDING_FLIGHT" - This line item will begin running in the future. // "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED" - All partner enabled // exchanges are negatively targeted. The line item will not run. // "INVALID_INVENTORY_SOURCE" - No active inventory sources are being // targeted. The line item will not run. // "APP_INVENTORY_INVALID_SITE_TARGETING" - This line item's Apps & URLs // targeting doesn't include any mobile apps. This line item's type requires // you to include mobile apps in your channel, sitelist, or apps targeting. The // line item will not run. // "APP_INVENTORY_INVALID_AUDIENCE_LISTS" - This line item isn't targeting // any mobile users. This line item's type requires you to target a user list // with mobile users. The line item will not run. // "NO_VALID_CREATIVE" - This line item does not contain any valid creative. // The line item will not run. // "PARENT_INSERTION_ORDER_PAUSED" - The insertion order of this line item is // paused. The line item will not run. // "PARENT_INSERTION_ORDER_EXPIRED" - The insertion order of this line item // has its end date set in the past. The line item will not run. // "DEPRECATED_FIRST_PARTY_AUDIENCE_EXCLUSION" - This line item uses the // exclude_first_party_audience setting, which is deprecated and scheduled to // sunset after **March 25, 2023**. Update your API integration to directly // exclude any first-party audiences using audience targeting before **March // 25, 2023** to account for the sunset of the exclude_first_party_audience // field. WarningMessages []string `json:"warningMessages,omitempty"` // YoutubeAndPartnersSettings: Output only. Settings specific to YouTube and // Partners line items. YoutubeAndPartnersSettings *YoutubeAndPartnersSettings `json:"youtubeAndPartnersSettings,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LineItem) MarshalJSON() ([]byte, error) { type NoMethod LineItem return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LineItemAssignedTargetingOption: Wrapper object associating an // assigned_targeting_option resource and the line item it is assigned to. type LineItemAssignedTargetingOption struct { // AssignedTargetingOption: The assigned targeting option resource. AssignedTargetingOption *AssignedTargetingOption `json:"assignedTargetingOption,omitempty"` // LineItemId: The ID of the line item the assigned targeting option is // assigned to. LineItemId int64 `json:"lineItemId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOption") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOption") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LineItemAssignedTargetingOption) MarshalJSON() ([]byte, error) { type NoMethod LineItemAssignedTargetingOption return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LineItemBudget: Settings that control how budget is allocated. type LineItemBudget struct { // BudgetAllocationType: Required. The type of the budget allocation. // `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when // automatic budget allocation is enabled for the parent insertion order. // // Possible values: // "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED" - Type value is not // specified or is unknown in this version. // "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC" - Automatic budget allocation // is enabled for the line item. // "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED" - A fixed max budget amount is // allocated for the line item. // "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" - No budget limit is applied // to the line item. BudgetAllocationType string `json:"budgetAllocationType,omitempty"` // BudgetUnit: Output only. The budget unit specifies whether the budget is // currency based or impression based. This value is inherited from the parent // insertion order. // // Possible values: // "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts. // "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts. BudgetUnit string `json:"budgetUnit,omitempty"` // MaxAmount: The maximum budget amount the line item will spend. Must be // greater than 0. When budget_allocation_type is: * // `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable and is // set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if // budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents maximum // budget amount to spend, in micros of the advertiser's currency. For example, // 1500000 represents 1.5 standard units of the currency. - // `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number of // impressions to serve. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this // field is not applicable and will be ignored by the system. MaxAmount int64 `json:"maxAmount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "BudgetAllocationType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BudgetAllocationType") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LineItemBudget) MarshalJSON() ([]byte, error) { type NoMethod LineItemBudget return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LineItemFlight: Settings that control the active duration of a line item. type LineItemFlight struct { // DateRange: The flight start and end dates of the line item. They are // resolved relative to the parent advertiser's time zone. * Required when // flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only // otherwise. * When creating a new flight, both `start_date` and `end_date` // must be in the future. * An existing flight with a `start_date` in the past // has a mutable `end_date` but an immutable `start_date`. * `end_date` must be // the `start_date` or later, both before the year 2037. DateRange *DateRange `json:"dateRange,omitempty"` // FlightDateType: Required. The type of the line item's flight dates. // // Possible values: // "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED" - Type value is not specified or // is unknown in this version. // "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED" - The line item's flight dates are // inherited from its parent insertion order. // "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" - The line item uses its own custom // flight dates. FlightDateType string `json:"flightDateType,omitempty"` // ForceSendFields is a list of field names (e.g. "DateRange") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DateRange") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LineItemFlight) MarshalJSON() ([]byte, error) { type NoMethod LineItemFlight return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListAdvertiserAssignedTargetingOptionsResponse: Response message for // ListAdvertiserAssignedTargetingOptions. type ListAdvertiserAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListAdvertiserAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListAdvertisersResponse struct { // Advertisers: The list of advertisers. This list will be absent if empty. Advertisers []*Advertiser `json:"advertisers,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListAdvertisers` method // to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Advertisers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Advertisers") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListAdvertisersResponse) MarshalJSON() ([]byte, error) { type NoMethod ListAdvertisersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListAssignedInventorySourcesResponse: Response message for // AssignedInventorySourceService.ListAssignedInventorySources. type ListAssignedInventorySourcesResponse struct { // AssignedInventorySources: The list of assigned inventory sources. This list // will be absent if empty. AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to // `ListAssignedInventorySources` method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedInventorySources") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedInventorySources") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListAssignedInventorySourcesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListAssignedLocationsResponse: Response message for // AssignedLocationService.ListAssignedLocations. type ListAssignedLocationsResponse struct { // AssignedLocations: The list of assigned locations. This list will be absent // if empty. AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListAssignedLocations` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedLocations") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedLocations") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListAssignedLocationsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListAssignedLocationsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListCampaignAssignedTargetingOptionsResponse: Response message for // ListCampaignAssignedTargetingOptions. type ListCampaignAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // ListCampaignAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListCampaignAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListCampaignsResponse struct { // Campaigns: The list of campaigns. This list will be absent if empty. Campaigns []*Campaign `json:"campaigns,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListCampaigns` method to // retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Campaigns") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Campaigns") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListCampaignsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListCampaignsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListChannelsResponse struct { // Channels: The list of channels. This list will be absent if empty. Channels []*Channel `json:"channels,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListChannels` method to // retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Channels") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Channels") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListChannelsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListChannelsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListCombinedAudiencesResponse struct { // CombinedAudiences: The list of combined audiences. This list will be absent // if empty. CombinedAudiences []*CombinedAudience `json:"combinedAudiences,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListCombinedAudiences` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CombinedAudiences") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CombinedAudiences") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListCombinedAudiencesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListCombinedAudiencesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListCreativesResponse struct { // Creatives: The list of creatives. This list will be absent if empty. Creatives []*Creative `json:"creatives,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListCreativesRequest` // method to retrieve the next page of results. If this field is null, it means // this is the last page. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Creatives") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Creatives") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListCreativesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListCreativesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListCustomBiddingAlgorithmsResponse struct { // CustomBiddingAlgorithms: The list of custom bidding algorithms. This list // will be absent if empty. CustomBiddingAlgorithms []*CustomBiddingAlgorithm `json:"customBiddingAlgorithms,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to // `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of // results. If this field is null, it means this is the last page. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithms") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomBiddingAlgorithms") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListCustomBiddingAlgorithmsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListCustomBiddingAlgorithmsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListCustomBiddingScriptsResponse struct { // CustomBiddingScripts: The list of custom bidding scripts. This list will be // absent if empty. CustomBiddingScripts []*CustomBiddingScript `json:"customBiddingScripts,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to // `ListCustomBiddingScriptsRequest` method to retrieve the next page of // results. If this field is null, it means this is the last page. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CustomBiddingScripts") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomBiddingScripts") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListCustomBiddingScriptsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListCustomBiddingScriptsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListCustomListsResponse struct { // CustomLists: The list of custom lists. This list will be absent if empty. CustomLists []*CustomList `json:"customLists,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListCustomLists` method // to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CustomLists") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomLists") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListCustomListsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListCustomListsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListFirstAndThirdPartyAudiencesResponse struct { // FirstAndThirdPartyAudiences: The list of first and third party audiences. // Audience size properties will not be included. This list will be absent if // empty. FirstAndThirdPartyAudiences []*FirstAndThirdPartyAudience `json:"firstAndThirdPartyAudiences,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to // `ListFirstAndThirdPartyAudiences` method to retrieve the next page of // results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "FirstAndThirdPartyAudiences") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FirstAndThirdPartyAudiences") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListFirstAndThirdPartyAudiencesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListFirstAndThirdPartyAudiencesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListFloodlightActivitiesResponse struct { // FloodlightActivities: The list of Floodlight activities. This list will be // absent if empty. FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListFloodlightActivities` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "FloodlightActivities") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FloodlightActivities") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListFloodlightActivitiesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListFloodlightActivitiesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListGoogleAudiencesResponse struct { // GoogleAudiences: The list of Google audiences. This list will be absent if // empty. GoogleAudiences []*GoogleAudience `json:"googleAudiences,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListGoogleAudiences` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "GoogleAudiences") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "GoogleAudiences") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListGoogleAudiencesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListGoogleAudiencesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListGuaranteedOrdersResponse struct { // GuaranteedOrders: The list of guaranteed orders. This list will be absent if // empty. GuaranteedOrders []*GuaranteedOrder `json:"guaranteedOrders,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListGuaranteedOrders` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "GuaranteedOrders") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "GuaranteedOrders") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListGuaranteedOrdersResponse) MarshalJSON() ([]byte, error) { type NoMethod ListGuaranteedOrdersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListInsertionOrderAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListInsertionOrderAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListInsertionOrdersResponse struct { // InsertionOrders: The list of insertion orders. This list will be absent if // empty. InsertionOrders []*InsertionOrder `json:"insertionOrders,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListInsertionOrders` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "InsertionOrders") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InsertionOrders") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListInsertionOrdersResponse) MarshalJSON() ([]byte, error) { type NoMethod ListInsertionOrdersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListInventorySourceGroupsResponse: Response message for // InventorySourceGroupService.ListInventorySourceGroups. type ListInventorySourceGroupsResponse struct { // InventorySourceGroups: The list of inventory source groups. This list will // be absent if empty. InventorySourceGroups []*InventorySourceGroup `json:"inventorySourceGroups,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to // `ListInventorySourceGroups` method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "InventorySourceGroups") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InventorySourceGroups") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListInventorySourceGroupsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListInventorySourceGroupsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListInventorySourcesResponse struct { // InventorySources: The list of inventory sources. This list will be absent if // empty. InventorySources []*InventorySource `json:"inventorySources,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListInventorySources` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "InventorySources") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InventorySources") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListInventorySourcesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListInventorySourcesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListInvoicesResponse struct { // Invoices: The list of invoices. This list will be absent if empty. Invoices []*Invoice `json:"invoices,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListInvoices` method to // retrieve the next page of results. This token will be absent if there are no // more invoices to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Invoices") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Invoices") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListInvoicesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListInvoicesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListLineItemAssignedTargetingOptionsResponse: Response message for // ListLineItemAssignedTargetingOptions. type ListLineItemAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // ListLineItemAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListLineItemAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListLineItemsResponse struct { // LineItems: The list of line items. This list will be absent if empty. LineItems []*LineItem `json:"lineItems,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListLineItems` method to // retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "LineItems") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LineItems") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListLineItemsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListLineItemsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListLocationListsResponse struct { // LocationLists: The list of location lists. This list will be absent if // empty. LocationLists []*LocationList `json:"locationLists,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListLocationLists` method // to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "LocationLists") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LocationLists") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListLocationListsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListLocationListsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListManualTriggersResponse struct { // ManualTriggers: The list of manual triggers. This list will be absent if // empty. ManualTriggers []*ManualTrigger `json:"manualTriggers,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListManualTriggers` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ManualTriggers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ManualTriggers") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListManualTriggersResponse) MarshalJSON() ([]byte, error) { type NoMethod ListManualTriggersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListNegativeKeywordListsResponse: Response message for // NegativeKeywordListService.ListNegativeKeywordLists. type ListNegativeKeywordListsResponse struct { // NegativeKeywordLists: The list of negative keyword lists. This list will be // absent if empty. NegativeKeywordLists []*NegativeKeywordList `json:"negativeKeywordLists,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListNegativeKeywordLists` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NegativeKeywordLists") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NegativeKeywordLists") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListNegativeKeywordListsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListNegativeKeywordListsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListNegativeKeywordsResponse: Response message for // NegativeKeywordService.ListNegativeKeywords. type ListNegativeKeywordsResponse struct { // NegativeKeywords: The list of negative keywords. This list will be absent if // empty. NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"` // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListNegativeKeywords` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NegativeKeywords") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NegativeKeywords") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListNegativeKeywordsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListNegativeKeywordsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListPartnerAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // ListPartnerAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListPartnerAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListPartnersResponse struct { // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListPartners` method to // retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // Partners: The list of partners. This list will be absent if empty. Partners []*Partner `json:"partners,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListPartnersResponse) MarshalJSON() ([]byte, error) { type NoMethod ListPartnersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListSitesResponse: Response message for SiteService.ListSites. type ListSitesResponse struct { // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListSites` method to // retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // Sites: The list of sites. This list will be absent if empty. Sites []*Site `json:"sites,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListSitesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListSitesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListTargetingOptionsResponse: Response message for ListTargetingOptions. type ListTargetingOptionsResponse struct { // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListTargetingOptions` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // TargetingOptions: The list of targeting options. This list will be absent if // empty. TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListUsersResponse struct { // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListUsers` method to // retrieve the next page of results. This token will be absent if there are no // more results to return. NextPageToken string `json:"nextPageToken,omitempty"` // Users: The list of users. This list will be absent if empty. Users []*User `json:"users,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListUsersResponse) MarshalJSON() ([]byte, error) { type NoMethod ListUsersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListYoutubeAdGroupAdsResponse struct { // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListYoutubeAdGroupAds` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // YoutubeAdGroupAds: The list of ad group ads. This list will be absent if // empty. YoutubeAdGroupAds []*YoutubeAdGroupAd `json:"youtubeAdGroupAds,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListYoutubeAdGroupAdsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListYoutubeAdGroupAdsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListYoutubeAdGroupAssignedTargetingOptionsResponse: Response message for // ListYoutubeAdGroupAssignedTargetingOptions. type ListYoutubeAdGroupAssignedTargetingOptionsResponse struct { // AssignedTargetingOptions: The list of assigned targeting options. This list // will be absent if empty. AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"` // NextPageToken: A token identifying the next page of results. This value // should be specified as the pageToken in a subsequent // ListYoutubeAdGroupAssignedTargetingOptionsRequest to fetch the next page of // results. This token will be absent if there are no more // assigned_targeting_options to return. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOptions") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListYoutubeAdGroupAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListYoutubeAdGroupAssignedTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListYoutubeAdGroupsResponse struct { // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `ListYoutubeAdGroups` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // YoutubeAdGroups: The list of ad groups. This list will be absent if empty. YoutubeAdGroups []*YoutubeAdGroup `json:"youtubeAdGroups,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListYoutubeAdGroupsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListYoutubeAdGroupsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LocationList: A list of locations used for targeting. type LocationList struct { // AdvertiserId: Required. Immutable. The unique ID of the advertiser the // location list belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // DisplayName: Required. The display name of the location list. Must be UTF-8 // encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // LocationListId: Output only. The unique ID of the location list. Assigned by // the system. LocationListId int64 `json:"locationListId,omitempty,string"` // LocationType: Required. Immutable. The type of location. All locations in // the list will share this type. // // Possible values: // "TARGETING_LOCATION_TYPE_UNSPECIFIED" - Default value when type is not // specified or is unknown. // "TARGETING_LOCATION_TYPE_PROXIMITY" - The type for proximity geo location. // "TARGETING_LOCATION_TYPE_REGIONAL" - The type for regional geo location. LocationType string `json:"locationType,omitempty"` // Name: Output only. The resource name of the location list. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LocationList) MarshalJSON() ([]byte, error) { type NoMethod LocationList return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LookbackWindow: Specifies how many days into the past to look when // determining whether to record a conversion. type LookbackWindow struct { // ClickDays: Lookback window, in days, from the last time a given user clicked // on one of your ads. ClickDays int64 `json:"clickDays,omitempty"` // ImpressionDays: Lookback window, in days, from the last time a given user // viewed one of your ads. ImpressionDays int64 `json:"impressionDays,omitempty"` // ForceSendFields is a list of field names (e.g. "ClickDays") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClickDays") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LookbackWindow) MarshalJSON() ([]byte, error) { type NoMethod LookbackWindow return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LookupInvoiceCurrencyResponse struct { // CurrencyCode: Currency used by the advertiser in ISO 4217 format. CurrencyCode string `json:"currencyCode,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CurrencyCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LookupInvoiceCurrencyResponse) MarshalJSON() ([]byte, error) { type NoMethod LookupInvoiceCurrencyResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ManualTrigger: A single manual trigger in Display & Video 360. **Warning:** // Line Items using manual triggers no longer serve in Display & Video 360. // This resource will sunset on August 1, 2023. Read our feature deprecation // announcement (/display-video/api/deprecations#features.manual_triggers) for // more information. type ManualTrigger struct { // ActivationDurationMinutes: Required. The maximum duration of each activation // in minutes. Must be between 1 and 360 inclusive. After this duration, the // trigger will be automatically deactivated. ActivationDurationMinutes int64 `json:"activationDurationMinutes,omitempty,string"` // AdvertiserId: Required. Immutable. The unique ID of the advertiser that the // manual trigger belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // DisplayName: Required. The display name of the manual trigger. Must be UTF-8 // encoded with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // LatestActivationTime: Output only. The timestamp of the trigger's latest // activation. LatestActivationTime string `json:"latestActivationTime,omitempty"` // Name: Output only. The resource name of the manual trigger. Name string `json:"name,omitempty"` // State: Output only. The state of the manual trigger. Will be set to the // `INACTIVE` state upon creation. // // Possible values: // "STATE_UNSPECIFIED" - Default value when state is not specified or is // unknown in this version. // "INACTIVE" - The trigger is currently inactive and ready to be activated. // "ACTIVE" - The trigger is currently active (activated). State string `json:"state,omitempty"` // TriggerId: Output only. The unique ID of the manual trigger. TriggerId int64 `json:"triggerId,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ActivationDurationMinutes") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActivationDurationMinutes") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ManualTrigger) MarshalJSON() ([]byte, error) { type NoMethod ManualTrigger return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MastheadAd: Details for a Masthead Ad. type MastheadAd struct { // AutoplayVideoDuration: The duration of time the video will autoplay. AutoplayVideoDuration string `json:"autoplayVideoDuration,omitempty"` // AutoplayVideoStartMillisecond: The amount of time in milliseconds after // which the video will start to play. AutoplayVideoStartMillisecond int64 `json:"autoplayVideoStartMillisecond,omitempty,string"` // CallToActionButtonLabel: The text on the call-to-action button. CallToActionButtonLabel string `json:"callToActionButtonLabel,omitempty"` // CallToActionFinalUrl: The destination URL for the call-to-action button. CallToActionFinalUrl string `json:"callToActionFinalUrl,omitempty"` // CallToActionTrackingUrl: The tracking URL for the call-to-action button. CallToActionTrackingUrl string `json:"callToActionTrackingUrl,omitempty"` // CompanionYoutubeVideos: The videos that appear next to the Masthead Ad on // desktop. Can be no more than two. CompanionYoutubeVideos []*YoutubeVideoDetails `json:"companionYoutubeVideos,omitempty"` // Description: The description of the ad. Description string `json:"description,omitempty"` // Headline: The headline of the ad. Headline string `json:"headline,omitempty"` // ShowChannelArt: Whether to show a background or banner that appears at the // top of a YouTube page. ShowChannelArt bool `json:"showChannelArt,omitempty"` // Video: The YouTube video used by the ad. Video *YoutubeVideoDetails `json:"video,omitempty"` // VideoAspectRatio: The aspect ratio of the autoplaying YouTube video on the // Masthead. // // Possible values: // "VIDEO_ASPECT_RATIO_UNSPECIFIED" - Not specified or unknown. // "VIDEO_ASPECT_RATIO_WIDESCREEN" - The video is stretched and the top and // bottom are cropped. // "VIDEO_ASPECT_RATIO_FIXED_16_9" - The video uses a fixed 16:9 aspect // ratio. VideoAspectRatio string `json:"videoAspectRatio,omitempty"` // ForceSendFields is a list of field names (e.g. "AutoplayVideoDuration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AutoplayVideoDuration") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MastheadAd) MarshalJSON() ([]byte, error) { type NoMethod MastheadAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MaximizeSpendBidStrategy: A strategy that automatically adjusts the bid to // optimize a specified performance goal while spending the full budget. type MaximizeSpendBidStrategy struct { // CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used by // this strategy. Only applicable when performance_goal_type is set to // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"` // MaxAverageCpmBidAmountMicros: The maximum average CPM that may be bid, in // micros of the advertiser's currency. Must be greater than or equal to a // billable unit of the given currency. For example, 1500000 represents 1.5 // standard units of the currency. MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"` // PerformanceGoalType: Required. The type of the performance goal that the // bidding strategy tries to minimize while spending the full budget. // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for // this strategy. // // Possible values: // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value is not // specified or is unknown in this version. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable CPM. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom bidding // algorithm. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview and // audible views. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over 10 // secs views. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable impressions. PerformanceGoalType string `json:"performanceGoalType,omitempty"` // RaiseBidForDeals: Whether the strategy takes deal floor prices into account. RaiseBidForDeals bool `json:"raiseBidForDeals,omitempty"` // ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithmId") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MaximizeSpendBidStrategy) MarshalJSON() ([]byte, error) { type NoMethod MaximizeSpendBidStrategy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MeasurementConfig: Measurement settings of a partner. type MeasurementConfig struct { // Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to CM360. Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"` // Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in CM360 // data transfer reports. Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"` // ForceSendFields is a list of field names (e.g. // "Dv360ToCmCostReportingEnabled") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Dv360ToCmCostReportingEnabled") // to include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MeasurementConfig) MarshalJSON() ([]byte, error) { type NoMethod MeasurementConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MobileApp: A mobile app promoted by a mobile app install line item. type MobileApp struct { // AppId: Required. The ID of the app provided by the platform store. Android // apps are identified by the bundle ID used by Android's Play store, such as // `com.google.android.gm`. iOS apps are identified by a nine-digit app ID used // by Apple's App store, such as `422689480`. AppId string `json:"appId,omitempty"` // DisplayName: Output only. The app name. DisplayName string `json:"displayName,omitempty"` // Platform: Output only. The app platform. // // Possible values: // "PLATFORM_UNSPECIFIED" - Platform is not specified. // "IOS" - iOS platform. // "ANDROID" - Android platform. Platform string `json:"platform,omitempty"` // Publisher: Output only. The app publisher. Publisher string `json:"publisher,omitempty"` // ForceSendFields is a list of field names (e.g. "AppId") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AppId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MobileApp) MarshalJSON() ([]byte, error) { type NoMethod MobileApp return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MobileDeviceIdList: Wrapper message for a list of mobile device IDs defining // Customer Match audience members. type MobileDeviceIdList struct { // Consent: Input only. The consent setting for the users in mobile_device_ids. // Leaving this field unset indicates that consent is not specified. If // ad_user_data or ad_personalization fields are set to // `CONSENT_STATUS_DENIED`, the request will return an error. Consent *Consent `json:"consent,omitempty"` // MobileDeviceIds: A list of mobile device IDs defining Customer Match // audience members. The size of mobile_device_ids mustn't be greater than // 500,000. MobileDeviceIds []string `json:"mobileDeviceIds,omitempty"` // ForceSendFields is a list of field names (e.g. "Consent") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Consent") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MobileDeviceIdList) MarshalJSON() ([]byte, error) { type NoMethod MobileDeviceIdList return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Money: Represents an amount of money with its currency type. type Money struct { // CurrencyCode: The three-letter currency code defined in ISO 4217. CurrencyCode string `json:"currencyCode,omitempty"` // Nanos: Number of nano (10^-9) units of the amount. The value must be between // -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` // must be positive or zero. If `units` is zero, `nanos` can be positive, zero, // or negative. If `units` is negative, `nanos` must be negative or zero. For // example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. Nanos int64 `json:"nanos,omitempty"` // Units: The whole units of the amount. For example if `currencyCode` is // "USD", then 1 unit is one US dollar. Units int64 `json:"units,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CurrencyCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Money) MarshalJSON() ([]byte, error) { type NoMethod Money return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NativeContentPositionAssignedTargetingOptionDetails: Details for native // content position assigned targeting option. This will be populated in the // native_content_position_details field when targeting_type is // `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options // is not supported. Remove all native content position targeting options to // achieve this effect. type NativeContentPositionAssignedTargetingOptionDetails struct { // ContentPosition: Required. The content position. // // Possible values: // "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is not // specified in this version. This enum is a place holder for a default value // and does not represent a real native content position. // "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is // unknown. // "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is // in-article, i.e., ads appear between the paragraphs of pages. // "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is in-feed, // i.e., ads appear in a scrollable stream of content. A feed is typically // editorial (e.g. a list of articles or news) or listings (e.g. a list of // products or services). // "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is // peripheral, i.e., ads appear outside of core content on pages, such as the // right- or left-hand side of the page. // "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position is // recommendation, i.e., ads appear in sections for recommended content. ContentPosition string `json:"contentPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentPosition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentPosition") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NativeContentPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod NativeContentPositionAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NativeContentPositionTargetingOptionDetails: Represents a targetable native // content position. This will be populated in the // native_content_position_details field when targeting_type is // `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. type NativeContentPositionTargetingOptionDetails struct { // ContentPosition: Output only. The content position. // // Possible values: // "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is not // specified in this version. This enum is a place holder for a default value // and does not represent a real native content position. // "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is // unknown. // "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is // in-article, i.e., ads appear between the paragraphs of pages. // "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is in-feed, // i.e., ads appear in a scrollable stream of content. A feed is typically // editorial (e.g. a list of articles or news) or listings (e.g. a list of // products or services). // "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is // peripheral, i.e., ads appear outside of core content on pages, such as the // right- or left-hand side of the page. // "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position is // recommendation, i.e., ads appear in sections for recommended content. ContentPosition string `json:"contentPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentPosition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentPosition") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NativeContentPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod NativeContentPositionTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NegativeKeyword: A negatively targeted keyword that belongs to a negative // keyword list. type NegativeKeyword struct { // KeywordValue: Required. Immutable. The negatively targeted keyword, for // example `car insurance`. Must be UTF-8 encoded with a maximum size of 255 // bytes. Maximum number of characters is 80. Maximum number of words is 10. // Valid characters are restricted to ASCII characters only. The only // URL-escaping permitted is for representing whitespace between words. Leading // or trailing whitespace is ignored. KeywordValue string `json:"keywordValue,omitempty"` // Name: Output only. The resource name of the negative keyword. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "KeywordValue") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "KeywordValue") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NegativeKeyword) MarshalJSON() ([]byte, error) { type NoMethod NegativeKeyword return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NegativeKeywordList: A list of negative keywords used for targeting. type NegativeKeywordList struct { // AdvertiserId: Output only. The unique ID of the advertiser the negative // keyword list belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // DisplayName: Required. The display name of the negative keyword list. Must // be UTF-8 encoded with a maximum size of 255 bytes. DisplayName string `json:"displayName,omitempty"` // Name: Output only. The resource name of the negative keyword list. Name string `json:"name,omitempty"` // NegativeKeywordListId: Output only. The unique ID of the negative keyword // list. Assigned by the system. NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"` // TargetedLineItemCount: Output only. Number of line items that are directly // targeting this negative keyword list. TargetedLineItemCount int64 `json:"targetedLineItemCount,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NegativeKeywordList) MarshalJSON() ([]byte, error) { type NoMethod NegativeKeywordList return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NegativeKeywordListAssignedTargetingOptionDetails: Targeting details for // negative keyword list. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. type NegativeKeywordListAssignedTargetingOptionDetails struct { // NegativeKeywordListId: Required. ID of the negative keyword list. Should // refer to the negative_keyword_list_id field of a NegativeKeywordList // resource. NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "NegativeKeywordListId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NegativeKeywordListId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NegativeKeywordListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod NegativeKeywordListAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NonSkippableAd: Details for a non-skippable ad. type NonSkippableAd struct { // CommonInStreamAttribute: Common ad attributes. CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"` // CustomParameters: The custom parameters to pass custom values to tracking // URL template. CustomParameters map[string]string `json:"customParameters,omitempty"` // ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CommonInStreamAttribute") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NonSkippableAd) MarshalJSON() ([]byte, error) { type NoMethod NonSkippableAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ObaIcon: OBA Icon for a Creative type ObaIcon struct { // ClickTrackingUrl: Required. The click tracking URL of the OBA icon. Only // URLs of the following domains are allowed: * https://info.evidon.com * // https://l.betrad.com ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"` // Dimensions: The dimensions of the OBA icon. Dimensions *Dimensions `json:"dimensions,omitempty"` // LandingPageUrl: Required. The landing page URL of the OBA icon. Only URLs of // the following domains are allowed: * https://info.evidon.com * // https://l.betrad.com LandingPageUrl string `json:"landingPageUrl,omitempty"` // Position: The position of the OBA icon on the creative. // // Possible values: // "OBA_ICON_POSITION_UNSPECIFIED" - The OBA icon position is not specified. // "OBA_ICON_POSITION_UPPER_RIGHT" - At the upper right side of the creative. // "OBA_ICON_POSITION_UPPER_LEFT" - At the upper left side of the creative. // "OBA_ICON_POSITION_LOWER_RIGHT" - At the lower right side of the creative. // "OBA_ICON_POSITION_LOWER_LEFT" - At the lower left side of the creative. Position string `json:"position,omitempty"` // Program: The program of the OBA icon. For example: “AdChoices”. Program string `json:"program,omitempty"` // ResourceMimeType: The MIME type of the OBA icon resource. ResourceMimeType string `json:"resourceMimeType,omitempty"` // ResourceUrl: The URL of the OBA icon resource. ResourceUrl string `json:"resourceUrl,omitempty"` // ViewTrackingUrl: Required. The view tracking URL of the OBA icon. Only URLs // of the following domains are allowed: * https://info.evidon.com * // https://l.betrad.com ViewTrackingUrl string `json:"viewTrackingUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "ClickTrackingUrl") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClickTrackingUrl") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ObaIcon) MarshalJSON() ([]byte, error) { type NoMethod ObaIcon return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OmidAssignedTargetingOptionDetails: Represents a targetable Open Measurement // enabled inventory type. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`. type OmidAssignedTargetingOptionDetails struct { // Omid: Required. The type of Open Measurement enabled inventory. // // Possible values: // "OMID_UNSPECIFIED" - Default value when omid targeting is not specified in // this version. // "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile display // inventory. Omid string `json:"omid,omitempty"` // ForceSendFields is a list of field names (e.g. "Omid") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Omid") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OmidAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod OmidAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OmidTargetingOptionDetails: Represents a targetable Open Measurement enabled // inventory type. This will be populated in the omid_details field when // targeting_type is `TARGETING_TYPE_OMID`. type OmidTargetingOptionDetails struct { // Omid: Output only. The type of Open Measurement enabled inventory. // // Possible values: // "OMID_UNSPECIFIED" - Default value when omid targeting is not specified in // this version. // "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile display // inventory. Omid string `json:"omid,omitempty"` // ForceSendFields is a list of field names (e.g. "Omid") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Omid") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OmidTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod OmidTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OnScreenPositionAssignedTargetingOptionDetails: On screen position targeting // option details. This will be populated in the on_screen_position_details // field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. type OnScreenPositionAssignedTargetingOptionDetails struct { // AdType: Output only. The ad type to target. Only applicable to insertion // order targeting and new line items supporting the specified ad type will // inherit this targeting option by default. Possible values are: * // `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when // line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the // setting will be inherited by new line item when line_item_type is // `LINE_ITEM_TYPE_VIDEO_DEFAULT`. // // Possible values: // "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this // version. // "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5. // "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during // streaming content in video players. // "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio // content. AdType string `json:"adType,omitempty"` // OnScreenPosition: Output only. The on screen position. // // Possible values: // "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not specified in // this version. This enum is a place holder for a default value and does not // represent a real on screen position. // "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the screen. // "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the fold. // "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the fold. OnScreenPosition string `json:"onScreenPosition,omitempty"` // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "AdType") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OnScreenPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod OnScreenPositionAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OnScreenPositionTargetingOptionDetails: Represents a targetable on screen // position, which could be used by display and video ads. This will be // populated in the on_screen_position_details field when targeting_type is // `TARGETING_TYPE_ON_SCREEN_POSITION`. type OnScreenPositionTargetingOptionDetails struct { // OnScreenPosition: Output only. The on screen position. // // Possible values: // "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not specified in // this version. This enum is a place holder for a default value and does not // represent a real on screen position. // "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the screen. // "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the fold. // "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the fold. OnScreenPosition string `json:"onScreenPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "OnScreenPosition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "OnScreenPosition") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OnScreenPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod OnScreenPositionTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OperatingSystemAssignedTargetingOptionDetails: Assigned operating system // targeting option details. This will be populated in the // operating_system_details field when targeting_type is // `TARGETING_TYPE_OPERATING_SYSTEM`. type OperatingSystemAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of the operating system. DisplayName string `json:"displayName,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // TargetingOptionId: Required. The targeting option ID populated in // targeting_option_id field when targeting_type is // `TARGETING_TYPE_OPERATING_SYSTEM`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OperatingSystemAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod OperatingSystemAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OperatingSystemTargetingOptionDetails: Represents a targetable operating // system. This will be populated in the operating_system_details field of a // TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`. type OperatingSystemTargetingOptionDetails struct { // DisplayName: Output only. The display name of the operating system. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OperatingSystemTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod OperatingSystemTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Operation: This resource represents a long-running operation that is the // result of a network API call. type Operation struct { // Done: If the value is `false`, it means the operation is still in progress. // If `true`, the operation is completed, and either `error` or `response` is // available. Done bool `json:"done,omitempty"` // Error: The error result of the operation in case of failure or cancellation. Error *Status `json:"error,omitempty"` // Metadata: Service-specific metadata associated with the operation. It // typically contains progress information and common metadata such as create // time. Some services might not provide such metadata. Any method that returns // a long-running operation should document the metadata type, if any. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: The server-assigned name, which is only unique within the same service // that originally returns it. If you use the default HTTP mapping, the `name` // should be a resource name ending with `operations/{unique_id}`. Name string `json:"name,omitempty"` // Response: The normal, successful response of the operation. If the original // method returns no data on success, such as `Delete`, the response is // `google.protobuf.Empty`. If the original method is standard // `Get`/`Create`/`Update`, the response should be the resource. For other // methods, the response should have the type `XxxResponse`, where `Xxx` is the // original method name. For example, if the original method name is // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Done") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Done") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Operation) MarshalJSON() ([]byte, error) { type NoMethod Operation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Pacing: Settings that control the rate at which a budget is spent. type Pacing struct { // DailyMaxImpressions: Maximum number of impressions to serve every day. // Applicable when the budget is impression based. Must be greater than 0. DailyMaxImpressions int64 `json:"dailyMaxImpressions,omitempty,string"` // DailyMaxMicros: Maximum currency amount to spend every day in micros of // advertiser's currency. Applicable when the budget is currency based. Must be // greater than 0. For example, for 1.5 standard unit of the currency, set this // field to 1500000. The value assigned will be rounded to whole billable units // for the relevant currency by the following rules: any positive value less // than a single billable unit will be rounded up to one billable unit and any // value larger than a single billable unit will be rounded down to the nearest // billable value. For example, if the currency's billable unit is 0.01, and // this field is set to 10257770, it will round down to 10250000, a value of // 10.25. If set to 505, it will round up to 10000, a value of 0.01. DailyMaxMicros int64 `json:"dailyMaxMicros,omitempty,string"` // PacingPeriod: Required. The time period in which the pacing budget will be // spent. When automatic budget allocation is enabled at the insertion order // via automationType, this field is output only and defaults to // `PACING_PERIOD_FLIGHT`. // // Possible values: // "PACING_PERIOD_UNSPECIFIED" - Period value is not specified or is unknown // in this version. // "PACING_PERIOD_DAILY" - The pacing setting will be applied on daily basis. // "PACING_PERIOD_FLIGHT" - The pacing setting will be applied to the whole // flight duration. PacingPeriod string `json:"pacingPeriod,omitempty"` // PacingType: Required. The type of pacing that defines how the budget amount // will be spent across the pacing_period. // // Possible values: // "PACING_TYPE_UNSPECIFIED" - Pacing mode value is not specified or is // unknown in this version. // "PACING_TYPE_AHEAD" - Only applicable to `PACING_PERIOD_FLIGHT` pacing // period. Ahead pacing attempts to spend faster than evenly, to make sure the // entire budget is spent by the end of the flight. // "PACING_TYPE_ASAP" - Spend all of pacing budget amount as quick as // possible. // "PACING_TYPE_EVEN" - Spend a consistent budget amount every period of // time. PacingType string `json:"pacingType,omitempty"` // ForceSendFields is a list of field names (e.g. "DailyMaxImpressions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DailyMaxImpressions") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Pacing) MarshalJSON() ([]byte, error) { type NoMethod Pacing return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ParentEntityFilter: A filtering option that filters on selected file types // belonging to a chosen set of filter entities. type ParentEntityFilter struct { // FileType: Required. File types that will be returned. // // Possible values: // "FILE_TYPE_UNSPECIFIED" - Default value when type is unspecified or is // unknown in this version. // "FILE_TYPE_CAMPAIGN" - Campaign. // "FILE_TYPE_MEDIA_PRODUCT" - Media Product. // "FILE_TYPE_INSERTION_ORDER" - Insertion Order. // "FILE_TYPE_LINE_ITEM" - Line Item. // "FILE_TYPE_AD_GROUP" - YouTube Ad Group. // "FILE_TYPE_AD" - YouTube Ad. FileType []string `json:"fileType,omitempty"` // FilterIds: The IDs of the specified filter type. This is used to filter // entities to fetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID // must be specified. FilterIds googleapi.Int64s `json:"filterIds,omitempty"` // FilterType: Required. Filter type used to filter fetched entities. // // Possible values: // "FILTER_TYPE_UNSPECIFIED" - Default value when type is unspecified or is // unknown in this version. // "FILTER_TYPE_NONE" - If selected, no filter will be applied to the // download. Can only be used if an Advertiser is specified in // CreateSdfDownloadTaskRequest. // "FILTER_TYPE_ADVERTISER_ID" - Advertiser ID. If selected, all filter IDs // must be Advertiser IDs that belong to the Partner specified in // CreateSdfDownloadTaskRequest. // "FILTER_TYPE_CAMPAIGN_ID" - Campaign ID. If selected, all filter IDs must // be Campaign IDs that belong to the Advertiser or Partner specified in // CreateSdfDownloadTaskRequest. // "FILTER_TYPE_MEDIA_PRODUCT_ID" - Media Product ID. If selected, all filter // IDs must be Media Product IDs that belong to the Advertiser or Partner // specified in CreateSdfDownloadTaskRequest. Can only be used for downloading // `FILE_TYPE_MEDIA_PRODUCT`. // "FILTER_TYPE_INSERTION_ORDER_ID" - Insertion Order ID. If selected, all // filter IDs must be Insertion Order IDs that belong to the Advertiser or // Partner specified in CreateSdfDownloadTaskRequest. Can only be used for // downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`, // `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`. // "FILTER_TYPE_LINE_ITEM_ID" - Line Item ID. If selected, all filter IDs // must be Line Item IDs that belong to the Advertiser or Partner specified in // CreateSdfDownloadTaskRequest. Can only be used for downloading // `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`. FilterType string `json:"filterType,omitempty"` // ForceSendFields is a list of field names (e.g. "FileType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FileType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ParentEntityFilter) MarshalJSON() ([]byte, error) { type NoMethod ParentEntityFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ParentalStatusAssignedTargetingOptionDetails: Details for assigned parental // status targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_PARENTAL_STATUS`. type ParentalStatusAssignedTargetingOptionDetails struct { // ParentalStatus: Required. The parental status of the audience. // // Possible values: // "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status is not // specified in this version. This enum is a place holder for default value and // does not represent a real parental status option. // "PARENTAL_STATUS_PARENT" - The audience is a parent. // "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent. // "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is // unknown. ParentalStatus string `json:"parentalStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "ParentalStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ParentalStatus") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ParentalStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ParentalStatusAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ParentalStatusTargetingOptionDetails: Represents a targetable parental // status. This will be populated in the parental_status_details field of a // TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. type ParentalStatusTargetingOptionDetails struct { // ParentalStatus: Output only. The parental status of an audience. // // Possible values: // "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status is not // specified in this version. This enum is a place holder for default value and // does not represent a real parental status option. // "PARENTAL_STATUS_PARENT" - The audience is a parent. // "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent. // "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is // unknown. ParentalStatus string `json:"parentalStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "ParentalStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ParentalStatus") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ParentalStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ParentalStatusTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Partner: A single partner in Display & Video 360 (DV360). type Partner struct { // AdServerConfig: Ad server related settings of the partner. AdServerConfig *PartnerAdServerConfig `json:"adServerConfig,omitempty"` // DataAccessConfig: Settings that control how partner data may be accessed. DataAccessConfig *PartnerDataAccessConfig `json:"dataAccessConfig,omitempty"` // DisplayName: The display name of the partner. Must be UTF-8 encoded with a // maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // EntityStatus: Output only. The status of the partner. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // ExchangeConfig: Settings that control which exchanges are enabled for the // partner. ExchangeConfig *ExchangeConfig `json:"exchangeConfig,omitempty"` // GeneralConfig: General settings of the partner. GeneralConfig *PartnerGeneralConfig `json:"generalConfig,omitempty"` // Name: Output only. The resource name of the partner. Name string `json:"name,omitempty"` // PartnerId: Output only. The unique ID of the partner. Assigned by the // system. PartnerId int64 `json:"partnerId,omitempty,string"` // UpdateTime: Output only. The timestamp when the partner was last updated. // Assigned by the system. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdServerConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdServerConfig") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Partner) MarshalJSON() ([]byte, error) { type NoMethod Partner return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PartnerAdServerConfig: Ad server related settings of a partner. type PartnerAdServerConfig struct { // MeasurementConfig: Measurement settings of a partner. MeasurementConfig *MeasurementConfig `json:"measurementConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "MeasurementConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MeasurementConfig") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PartnerAdServerConfig) MarshalJSON() ([]byte, error) { type NoMethod PartnerAdServerConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PartnerCost: Settings that control a partner cost. A partner cost is any // type of expense involved in running a campaign, other than the costs of // purchasing impressions (which is called the media cost) and using // third-party audience segment data (data fee). Some examples of partner costs // include the fees for using DV360, a third-party ad server, or a third-party // ad serving verification service. type PartnerCost struct { // CostType: Required. The type of the partner cost. // // Possible values: // "PARTNER_COST_TYPE_UNSPECIFIED" - Type value is not specified or is // unknown in this version. // "PARTNER_COST_TYPE_ADLOOX" - The cost is charged for using Adloox. Billed // by the partner. // "PARTNER_COST_TYPE_ADLOOX_PREBID" - The cost is charged for using Adloox // Pre-Bid. Billed through DV360. // "PARTNER_COST_TYPE_ADSAFE" - The cost is charged for using AdSafe. Billed // by the partner. // "PARTNER_COST_TYPE_ADXPOSE" - The cost is charged for using AdExpose. // Billed by the partner. // "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE" - The cost is charged for using // Aggregate Knowledge. Billed by the partner. // "PARTNER_COST_TYPE_AGENCY_TRADING_DESK" - The cost is charged for using an // Agency Trading Desk. Billed by the partner. // "PARTNER_COST_TYPE_DV360_FEE" - The cost is charged for using DV360. // Billed through DV360. // "PARTNER_COST_TYPE_COMSCORE_VCE" - The cost is charged for using comScore // vCE. Billed through DV360. // "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM" - The cost is charged for // using a Data Management Platform. Billed by the partner. // "PARTNER_COST_TYPE_DEFAULT" - The default cost type. Billed by the // partner. // "PARTNER_COST_TYPE_DOUBLE_VERIFY" - The cost is charged for using // DoubleVerify. Billed by the partner. // "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID" - The cost is charged for using // DoubleVerify Pre-Bid. Billed through DV360. // "PARTNER_COST_TYPE_EVIDON" - The cost is charged for using Evidon. Billed // by the partner. // "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO" - The cost is charged for // using Integral Ad Science Video. Billed by the partner. // "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID" - The cost is charged for // using Integral Ad Science Pre-Bid. Billed through DV360. // "PARTNER_COST_TYPE_MEDIA_COST_DATA" - The cost is charged for using media // cost data. Billed by the partner. // "PARTNER_COST_TYPE_MOAT_VIDEO" - The cost is charged for using MOAT Video. // Billed by the partner. // "PARTNER_COST_TYPE_NIELSEN_DAR" - The cost is charged for using Nielsen // Digital Ad Ratings. Billed through DV360. // "PARTNER_COST_TYPE_SHOP_LOCAL" - The cost is charged for using ShopLocal. // Billed by the partner. // "PARTNER_COST_TYPE_TERACENT" - The cost is charged for using Teracent. // Billed by the partner. // "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER" - The cost is charged for using // a third-party ad server. Billed by the partner. // "PARTNER_COST_TYPE_TRUST_METRICS" - The cost is charged for using // TrustMetrics. Billed by the partner. // "PARTNER_COST_TYPE_VIZU" - The cost is charged for using Vizu. Billed by // the partner. // "PARTNER_COST_TYPE_ADLINGO_FEE" - The cost is charged for using AdLingo. // Billed through DV360. // "PARTNER_COST_TYPE_CUSTOM_FEE_1" - The cost is charged as custom fee 1. // Billed by the partner. // "PARTNER_COST_TYPE_CUSTOM_FEE_2" - The cost is charged as custom fee 2. // Billed by the partner. // "PARTNER_COST_TYPE_CUSTOM_FEE_3" - The cost is charged as custom fee 3. // Billed by the partner. // "PARTNER_COST_TYPE_CUSTOM_FEE_4" - The cost is charged as custom fee 4. // Billed by the partner. // "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom fee 5. // Billed by the partner. // "PARTNER_COST_TYPE_SCIBIDS_FEE" - The cost is charged for using Scibids. // Billed through DV360. This type is currently only available to certain // customers. Other customers attempting to use this type will receive an // error. CostType string `json:"costType,omitempty"` // FeeAmount: The CPM fee amount in micros of advertiser's currency. Applicable // when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or // equal to 0. For example, for 1.5 standard unit of the advertiser's currency, // set this field to 1500000. FeeAmount int64 `json:"feeAmount,omitempty,string"` // FeePercentageMillis: The media fee percentage in millis (1/1000 of a // percent). Applicable when the fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must // be greater than or equal to 0. For example: 100 represents 0.1%. FeePercentageMillis int64 `json:"feePercentageMillis,omitempty,string"` // FeeType: Required. The fee type for this partner cost. // // Possible values: // "PARTNER_COST_FEE_TYPE_UNSPECIFIED" - Value is not specified or is unknown // in this version. // "PARTNER_COST_FEE_TYPE_CPM_FEE" - The partner cost is a fixed CPM fee. Not // applicable when the partner cost cost_type is one of: * // `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`. // "PARTNER_COST_FEE_TYPE_MEDIA_FEE" - The partner cost is a percentage // surcharge based on the media cost. Not applicable when the partner cost_type // is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` * // `PARTNER_COST_TYPE_TRUST_METRICS` * // `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` * // `PARTNER_COST_TYPE_MOAT_VIDEO`. FeeType string `json:"feeType,omitempty"` // InvoiceType: The invoice type for this partner cost. * Required when // cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` - // `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. // * Output only for other types. // // Possible values: // "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED" - Type value is not specified or // is unknown in this version. // "PARTNER_COST_INVOICE_TYPE_DV360" - Partner cost is billed through DV360. // "PARTNER_COST_INVOICE_TYPE_PARTNER" - Partner cost is billed by the // partner. InvoiceType string `json:"invoiceType,omitempty"` // ForceSendFields is a list of field names (e.g. "CostType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CostType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PartnerCost) MarshalJSON() ([]byte, error) { type NoMethod PartnerCost return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PartnerDataAccessConfig: Settings that control how partner related data may // be accessed. type PartnerDataAccessConfig struct { // SdfConfig: Structured Data Files (SDF) settings for the partner. The SDF // configuration for the partner. SdfConfig *SdfConfig `json:"sdfConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "SdfConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "SdfConfig") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PartnerDataAccessConfig) MarshalJSON() ([]byte, error) { type NoMethod PartnerDataAccessConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PartnerGeneralConfig: General settings of a partner. type PartnerGeneralConfig struct { // CurrencyCode: Immutable. Partner's currency in ISO 4217 format. CurrencyCode string `json:"currencyCode,omitempty"` // TimeZone: Immutable. The standard TZ database name of the partner's time // zone. For example, `America/New_York`. See more at: // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones TimeZone string `json:"timeZone,omitempty"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CurrencyCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PartnerGeneralConfig) MarshalJSON() ([]byte, error) { type NoMethod PartnerGeneralConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PartnerRevenueModel: Settings that control how partner revenue is // calculated. type PartnerRevenueModel struct { // MarkupAmount: Required. The markup amount of the partner revenue model. Must // be greater than or equal to 0. * When the markup_type is set to be // `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM // markup in micros of advertiser's currency. For example, 1500000 represents // 1.5 standard units of the currency. * When the markup_type is set to be // `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents // the media cost percent markup in millis. For example, 100 represents 0.1% // (decimal 0.001). * When the markup_type is set to be // `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field // represents the total media cost percent markup in millis. For example, 100 // represents 0.1% (decimal 0.001). MarkupAmount int64 `json:"markupAmount,omitempty,string"` // MarkupType: Required. The markup type of the partner revenue model. // // Possible values: // "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED" - Type value is not // specified or is unknown in this version. // "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM" - Calculate the partner revenue // based on a fixed CPM. // "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP" - Calculate the // partner revenue based on a percentage surcharge of its media cost. // "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" - Calculate // the partner revenue based on a percentage surcharge of its total media cost, // which includes all partner costs and data costs. MarkupType string `json:"markupType,omitempty"` // ForceSendFields is a list of field names (e.g. "MarkupAmount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MarkupAmount") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PartnerRevenueModel) MarshalJSON() ([]byte, error) { type NoMethod PartnerRevenueModel return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PerformanceGoal: Settings that control the performance goal of a campaign. type PerformanceGoal struct { // PerformanceGoalAmountMicros: The goal amount, in micros of the advertiser's // currency. Applicable when performance_goal_type is one of: * // `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * // `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * // `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard // units of the currency. PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"` // PerformanceGoalPercentageMicros: The decimal representation of the goal // percentage in micros. Applicable when performance_goal_type is one of: * // `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * // `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * // `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` // * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 // represents 7% (decimal 0.07). PerformanceGoalPercentageMicros int64 `json:"performanceGoalPercentageMicros,omitempty,string"` // PerformanceGoalString: A key performance indicator (KPI) string, which can // be empty. Must be UTF-8 encoded with a length of no more than 100 // characters. Applicable when performance_goal_type is set to // `PERFORMANCE_GOAL_TYPE_OTHER`. PerformanceGoalString string `json:"performanceGoalString,omitempty"` // PerformanceGoalType: Required. The type of the performance goal. // // Possible values: // "PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Performance goal type is not // specified or is unknown in this version. // "PERFORMANCE_GOAL_TYPE_CPM" - The performance goal is set in CPM (cost per // mille). // "PERFORMANCE_GOAL_TYPE_CPC" - The performance goal is set in CPC (cost per // click). // "PERFORMANCE_GOAL_TYPE_CPA" - The performance goal is set in CPA (cost per // action). // "PERFORMANCE_GOAL_TYPE_CTR" - The performance goal is set in CTR // (click-through rate) percentage. // "PERFORMANCE_GOAL_TYPE_VIEWABILITY" - The performance goal is set in // Viewability percentage. // "PERFORMANCE_GOAL_TYPE_CPIAVC" - The performance goal is set as CPIAVC // (cost per impression audible and visible at completion). // "PERFORMANCE_GOAL_TYPE_CPE" - The performance goal is set in CPE (cost per // engagement). // "PERFORMANCE_GOAL_TYPE_CLICK_CVR" - The performance goal is set in click // conversion rate (conversions per click) percentage. // "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR" - The performance goal is set in // impression conversion rate (conversions per impression) percentage. // "PERFORMANCE_GOAL_TYPE_VCPM" - The performance goal is set in VCPM (cost // per thousand viewable impressions). // "PERFORMANCE_GOAL_TYPE_VTR" - The performance goal is set in YouTube view // rate (YouTube views per impression) percentage. // "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE" - The performance goal is // set in audio completion rate (complete audio listens per impression) // percentage. // "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE" - The performance goal is // set in video completion rate (complete video views per impression) // percentage. // "PERFORMANCE_GOAL_TYPE_OTHER" - The performance goal is set to Other. PerformanceGoalType string `json:"performanceGoalType,omitempty"` // ForceSendFields is a list of field names (e.g. // "PerformanceGoalAmountMicros") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PerformanceGoalAmountMicros") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PerformanceGoal) MarshalJSON() ([]byte, error) { type NoMethod PerformanceGoal return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PerformanceGoalBidStrategy: A strategy that automatically adjusts the bid to // meet or beat a specified performance goal. type PerformanceGoalBidStrategy struct { // CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used by // this strategy. Only applicable when performance_goal_type is set to // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"` // MaxAverageCpmBidAmountMicros: The maximum average CPM that may be bid, in // micros of the advertiser's currency. Must be greater than or equal to a // billable unit of the given currency. Not applicable when // performance_goal_type is set to // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000 // represents 1.5 standard units of the currency. MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"` // PerformanceGoalAmountMicros: Required. The performance goal the bidding // strategy will attempt to meet or beat, in micros of the advertiser's // currency or in micro of the ROAS (Return On Advertising Spend) value which // is also based on advertiser's currency. Must be greater than or equal to a // billable unit of the given currency and smaller or equal to upper bounds. // Each performance_goal_type has its upper bound: * when performance_goal_type // is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00 // USD. * when performance_goal_type is // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. * // when performance_goal_type is // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is // 1000.00 USD. * when performance_goal_type is // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00 // and lower bound is 0.01. Example: If set to // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be // based on the probability that each available impression will be viewable. // For example, if viewable CPM target is $2 and an impression is 40% likely to // be viewable, the bid price will be $0.80 CPM (40% of $2). For example, // 1500000 represents 1.5 standard units of the currency or ROAS value. PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"` // PerformanceGoalType: Required. The type of the performance goal that the // bidding strategy will try to meet or beat. For line item level usage, the // value must be one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` * // `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. // // Possible values: // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value is not // specified or is unknown in this version. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable CPM. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom bidding // algorithm. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview and // audible views. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over 10 // secs views. // "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable impressions. PerformanceGoalType string `json:"performanceGoalType,omitempty"` // ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithmId") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PerformanceGoalBidStrategy) MarshalJSON() ([]byte, error) { type NoMethod PerformanceGoalBidStrategy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PoiAssignedTargetingOptionDetails: Details for assigned POI targeting // option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. type PoiAssignedTargetingOptionDetails struct { // DisplayName: Output only. The display name of a POI, e.g. "Times Square", // "Space Needle", followed by its full address if available. DisplayName string `json:"displayName,omitempty"` // Latitude: Output only. Latitude of the POI rounding to 6th decimal place. Latitude float64 `json:"latitude,omitempty"` // Longitude: Output only. Longitude of the POI rounding to 6th decimal place. Longitude float64 `json:"longitude,omitempty"` // ProximityRadiusAmount: Required. The radius of the area around the POI that // will be targeted. The units of the radius are specified by // proximity_radius_unit. Must be 1 to 800 if unit is // `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"` // ProximityRadiusUnit: Required. The unit of distance by which the targeting // radius is measured. // // Possible values: // "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "DISTANCE_UNIT_MILES" - Miles. // "DISTANCE_UNIT_KILOMETERS" - Kilometers. ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"` // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_POI`. Accepted POI targeting option IDs can be // retrieved using `targetingTypes.targetingOptions.search`. If targeting a // specific latitude/longitude coordinate removed from an address or POI name, // you can generate the necessary targeting option ID by rounding the desired // coordinate values to the 6th decimal place, removing the decimals, and // concatenating the string values separated by a semicolon. For example, you // can target the latitude/longitude pair of 40.7414691, -74.003387 using the // targeting option ID "40741469;-74003387". **Upon** **creation, this field // value will be updated to append a semicolon and** **alphanumerical hash // value if only latitude/longitude coordinates are** **provided.** TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PoiAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod PoiAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *PoiAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error { type NoMethod PoiAssignedTargetingOptionDetails var s1 struct { Latitude gensupport.JSONFloat64 `json:"latitude"` Longitude gensupport.JSONFloat64 `json:"longitude"` ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Latitude = float64(s1.Latitude) s.Longitude = float64(s1.Longitude) s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount) return nil } // PoiSearchTerms: Search terms for POI targeting options. type PoiSearchTerms struct { // PoiQuery: The search query for the desired POI name, street address, or // coordinate of the desired POI. The query can be a prefix, e.g. "Times // squar", "40.7505045,-73.99562", "315 W 44th St", etc. PoiQuery string `json:"poiQuery,omitempty"` // ForceSendFields is a list of field names (e.g. "PoiQuery") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PoiQuery") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PoiSearchTerms) MarshalJSON() ([]byte, error) { type NoMethod PoiSearchTerms return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PoiTargetingOptionDetails: Represents a targetable point of interest(POI). // This will be populated in the poi_details field when targeting_type is // `TARGETING_TYPE_POI`. type PoiTargetingOptionDetails struct { // DisplayName: Output only. The display name of a POI(e.g. "Times Square", // "Space Needle"), followed by its full address if available. DisplayName string `json:"displayName,omitempty"` // Latitude: Output only. Latitude of the POI rounding to 6th decimal place. Latitude float64 `json:"latitude,omitempty"` // Longitude: Output only. Longitude of the POI rounding to 6th decimal place. Longitude float64 `json:"longitude,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PoiTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod PoiTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *PoiTargetingOptionDetails) UnmarshalJSON(data []byte) error { type NoMethod PoiTargetingOptionDetails var s1 struct { Latitude gensupport.JSONFloat64 `json:"latitude"` Longitude gensupport.JSONFloat64 `json:"longitude"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Latitude = float64(s1.Latitude) s.Longitude = float64(s1.Longitude) return nil } // PrismaConfig: Settings specific to the Mediaocean Prisma tool. type PrismaConfig struct { // PrismaCpeCode: Required. Relevant client, product, and estimate codes from // the Mediaocean Prisma tool. PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"` // PrismaType: Required. The Prisma type. // // Possible values: // "PRISMA_TYPE_UNSPECIFIED" - Type is not specified or unknown in this // version. // "PRISMA_TYPE_DISPLAY" - Display type. // "PRISMA_TYPE_SEARCH" - Search type. // "PRISMA_TYPE_VIDEO" - Video type. // "PRISMA_TYPE_AUDIO" - Audio type. // "PRISMA_TYPE_SOCIAL" - Social type. // "PRISMA_TYPE_FEE" - Fee type. PrismaType string `json:"prismaType,omitempty"` // Supplier: Required. The entity allocated this budget (DSP, site, etc.). Supplier string `json:"supplier,omitempty"` // ForceSendFields is a list of field names (e.g. "PrismaCpeCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PrismaCpeCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PrismaConfig) MarshalJSON() ([]byte, error) { type NoMethod PrismaConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PrismaCpeCode: Google Payments Center supports searching and filtering on // the component fields of this code. type PrismaCpeCode struct { // PrismaClientCode: The Prisma client code. PrismaClientCode string `json:"prismaClientCode,omitempty"` // PrismaEstimateCode: The Prisma estimate code. PrismaEstimateCode string `json:"prismaEstimateCode,omitempty"` // PrismaProductCode: The Prisma product code. PrismaProductCode string `json:"prismaProductCode,omitempty"` // ForceSendFields is a list of field names (e.g. "PrismaClientCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PrismaClientCode") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PrismaCpeCode) MarshalJSON() ([]byte, error) { type NoMethod PrismaCpeCode return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ProductFeedData: The details of product feed. type ProductFeedData struct { // IsFeedDisabled: Whether the product feed has opted-out of showing products. IsFeedDisabled bool `json:"isFeedDisabled,omitempty"` // ProductMatchDimensions: A list of dimensions used to match products. ProductMatchDimensions []*ProductMatchDimension `json:"productMatchDimensions,omitempty"` // ProductMatchType: How products are selected by the product feed. // // Possible values: // "PRODUCT_MATCH_TYPE_UNSPECIFIED" - Not specified or unknown. // "PRODUCT_MATCH_TYPE_ALL_PRODUCTS" - All the products are matched. // "PRODUCT_MATCH_TYPE_SPECIFIC_PRODUCTS" - Specific products are selected. // "PRODUCT_MATCH_TYPE_CUSTOM_LABEL" - Match products by their custom labels. ProductMatchType string `json:"productMatchType,omitempty"` // ForceSendFields is a list of field names (e.g. "IsFeedDisabled") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IsFeedDisabled") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ProductFeedData) MarshalJSON() ([]byte, error) { type NoMethod ProductFeedData return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ProductMatchDimension: A dimension used to match products. type ProductMatchDimension struct { // CustomLabel: The custom label to match all the products with the label. CustomLabel *CustomLabel `json:"customLabel,omitempty"` // ProductOfferId: The ID of the product offer to match with a product with the // same offer ID. ProductOfferId string `json:"productOfferId,omitempty"` // ForceSendFields is a list of field names (e.g. "CustomLabel") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CustomLabel") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ProductMatchDimension) MarshalJSON() ([]byte, error) { type NoMethod ProductMatchDimension return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ProximityLocationListAssignedTargetingOptionDetails: Targeting details for // proximity location list. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. type ProximityLocationListAssignedTargetingOptionDetails struct { // ProximityLocationListId: Required. ID of the proximity location list. Should // refer to the location_list_id field of a LocationList resource whose type is // `TARGETING_LOCATION_TYPE_PROXIMITY`. ProximityLocationListId int64 `json:"proximityLocationListId,omitempty,string"` // ProximityRadius: Required. Radius expressed in the distance units set in // proximity_radius_unit. This represents the size of the area around a chosen // location that will be targeted. Radius should be between 1 and 500 miles or // 800 kilometers. ProximityRadius float64 `json:"proximityRadius,omitempty"` // ProximityRadiusUnit: Required. Radius distance units. // // Possible values: // "PROXIMITY_RADIUS_UNIT_UNSPECIFIED" - Default value when distance units is // not specified in this version. This enum is a place holder for default value // and does not represent a real distance unit. // "PROXIMITY_RADIUS_UNIT_MILES" - Radius distance unit in miles. // "PROXIMITY_RADIUS_UNIT_KILOMETERS" - Radius distance unit in kilometeres ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"` // ForceSendFields is a list of field names (e.g. "ProximityLocationListId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ProximityLocationListId") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ProximityLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ProximityLocationListAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *ProximityLocationListAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error { type NoMethod ProximityLocationListAssignedTargetingOptionDetails var s1 struct { ProximityRadius gensupport.JSONFloat64 `json:"proximityRadius"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.ProximityRadius = float64(s1.ProximityRadius) return nil } // PublisherReviewStatus: Publisher review status for the creative. type PublisherReviewStatus struct { // PublisherName: The publisher reviewing the creative. PublisherName string `json:"publisherName,omitempty"` // Status: Status of the publisher review. // // Possible values: // "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "REVIEW_STATUS_APPROVED" - The creative is approved. // "REVIEW_STATUS_REJECTED" - The creative is rejected. // "REVIEW_STATUS_PENDING" - The creative is pending review. Status string `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "PublisherName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PublisherName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PublisherReviewStatus) MarshalJSON() ([]byte, error) { type NoMethod PublisherReviewStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // RateDetails: The rate related settings of the inventory source. type RateDetails struct { // InventorySourceRateType: The rate type. Acceptable values are // `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`, // `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and // `INVENTORY_SOURCE_RATE_TYPE_CPD`. // // Possible values: // "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED" - The rate type is not specified // or is unknown in this version. // "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED" - The rate type is CPM (Fixed). // "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR" - The rate type is CPM (Floor). // "INVENTORY_SOURCE_RATE_TYPE_CPD" - The rate type is Cost per Day. // "INVENTORY_SOURCE_RATE_TYPE_FLAT" - The rate type is Flat. InventorySourceRateType string `json:"inventorySourceRateType,omitempty"` // MinimumSpend: Output only. The amount that the buyer has committed to // spending on the inventory source up front. Only applicable for guaranteed // inventory sources. MinimumSpend *Money `json:"minimumSpend,omitempty"` // Rate: The rate for the inventory source. Rate *Money `json:"rate,omitempty"` // UnitsPurchased: Required for guaranteed inventory sources. The number of // impressions guaranteed by the seller. UnitsPurchased int64 `json:"unitsPurchased,omitempty,string"` // ForceSendFields is a list of field names (e.g. "InventorySourceRateType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InventorySourceRateType") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *RateDetails) MarshalJSON() ([]byte, error) { type NoMethod RateDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // RegionalLocationListAssignedTargetingOptionDetails: Targeting details for // regional location list. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_REGIONAL_LOCATION_LIST`. type RegionalLocationListAssignedTargetingOptionDetails struct { // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // RegionalLocationListId: Required. ID of the regional location list. Should // refer to the location_list_id field of a LocationList resource whose type is // `TARGETING_LOCATION_TYPE_REGIONAL`. RegionalLocationListId int64 `json:"regionalLocationListId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Negative") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Negative") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *RegionalLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod RegionalLocationListAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // RemarketingConfig: Settings that control the whether remarketing is enabled // for the given identified advertiser. type RemarketingConfig struct { // AdvertiserId: Output only. The ID of the advertiser. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // RemarketingEnabled: Output only. Whether the Floodlight activity remarketing // user list is available to the identified advertiser. RemarketingEnabled bool `json:"remarketingEnabled,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *RemarketingConfig) MarshalJSON() ([]byte, error) { type NoMethod RemarketingConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ReplaceNegativeKeywordsRequest: Request message for // NegativeKeywordService.ReplaceNegativeKeywords. type ReplaceNegativeKeywordsRequest struct { // NewNegativeKeywords: The negative keywords that will replace the existing // keywords in the negative keyword list, specified as a list of // NegativeKeywords. NewNegativeKeywords []*NegativeKeyword `json:"newNegativeKeywords,omitempty"` // ForceSendFields is a list of field names (e.g. "NewNegativeKeywords") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NewNegativeKeywords") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ReplaceNegativeKeywordsRequest) MarshalJSON() ([]byte, error) { type NoMethod ReplaceNegativeKeywordsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ReplaceNegativeKeywordsResponse: Response message for // NegativeKeywordService.ReplaceNegativeKeywords. type ReplaceNegativeKeywordsResponse struct { // NegativeKeywords: The full list of negative keywords now present in the // negative keyword list. NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NegativeKeywords") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NegativeKeywords") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ReplaceNegativeKeywordsResponse) MarshalJSON() ([]byte, error) { type NoMethod ReplaceNegativeKeywordsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ReplaceSitesRequest: Request message for SiteService.ReplaceSites. type ReplaceSitesRequest struct { // AdvertiserId: The ID of the advertiser that owns the parent channel. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // NewSites: The sites that will replace the existing sites assigned to the // channel, specified as a list of Sites. NewSites []*Site `json:"newSites,omitempty"` // PartnerId: The ID of the partner that owns the parent channel. PartnerId int64 `json:"partnerId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ReplaceSitesRequest) MarshalJSON() ([]byte, error) { type NoMethod ReplaceSitesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ReplaceSitesResponse: Response message for SiteService.ReplaceSites. type ReplaceSitesResponse struct { // Sites: The list of sites in the channel after replacing. Sites []*Site `json:"sites,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Sites") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Sites") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ReplaceSitesResponse) MarshalJSON() ([]byte, error) { type NoMethod ReplaceSitesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ReviewStatusInfo: Review statuses for the creative. type ReviewStatusInfo struct { // ApprovalStatus: Represents the basic approval needed for a creative to begin // serving. Summary of creative_and_landing_page_review_status and // content_and_policy_review_status. // // Possible values: // "APPROVAL_STATUS_UNSPECIFIED" - Type value is not specified or is unknown // in this version. // "APPROVAL_STATUS_PENDING_NOT_SERVABLE" - The creative is still under // review and not servable. // "APPROVAL_STATUS_PENDING_SERVABLE" - The creative has passed creative & // landing page review and is servable, but is awaiting additional content & // policy review. // "APPROVAL_STATUS_APPROVED_SERVABLE" - Both creative & landing page review // and content & policy review are approved. The creative is servable. // "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" - There is an issue with the // creative that must be fixed before it can serve. ApprovalStatus string `json:"approvalStatus,omitempty"` // ContentAndPolicyReviewStatus: Content and policy review status for the // creative. // // Possible values: // "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "REVIEW_STATUS_APPROVED" - The creative is approved. // "REVIEW_STATUS_REJECTED" - The creative is rejected. // "REVIEW_STATUS_PENDING" - The creative is pending review. ContentAndPolicyReviewStatus string `json:"contentAndPolicyReviewStatus,omitempty"` // CreativeAndLandingPageReviewStatus: Creative and landing page review status // for the creative. // // Possible values: // "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in // this version. // "REVIEW_STATUS_APPROVED" - The creative is approved. // "REVIEW_STATUS_REJECTED" - The creative is rejected. // "REVIEW_STATUS_PENDING" - The creative is pending review. CreativeAndLandingPageReviewStatus string `json:"creativeAndLandingPageReviewStatus,omitempty"` // ExchangeReviewStatuses: Exchange review statuses for the creative. ExchangeReviewStatuses []*ExchangeReviewStatus `json:"exchangeReviewStatuses,omitempty"` // PublisherReviewStatuses: Publisher review statuses for the creative. PublisherReviewStatuses []*PublisherReviewStatus `json:"publisherReviewStatuses,omitempty"` // ForceSendFields is a list of field names (e.g. "ApprovalStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ApprovalStatus") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ReviewStatusInfo) MarshalJSON() ([]byte, error) { type NoMethod ReviewStatusInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ScriptError: An error message for a custom bidding script. type ScriptError struct { // Column: The column number in the script where the error was thrown. Column int64 `json:"column,omitempty,string"` // ErrorCode: The type of error. // // Possible values: // "ERROR_CODE_UNSPECIFIED" - The script error is not specified or is unknown // in this version. // "SYNTAX_ERROR" - The script has a syntax error. // "DEPRECATED_SYNTAX" - The script uses deprecated syntax. // "INTERNAL_ERROR" - Internal errors were thrown while processing the // script. ErrorCode string `json:"errorCode,omitempty"` // ErrorMessage: The detailed error message. ErrorMessage string `json:"errorMessage,omitempty"` // Line: The line number in the script where the error was thrown. Line int64 `json:"line,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Column") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Column") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ScriptError) MarshalJSON() ([]byte, error) { type NoMethod ScriptError return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SdfConfig: Structured Data File (SDF) related settings. type SdfConfig struct { // AdminEmail: An administrator email address to which the SDF processing // status reports will be sent. AdminEmail string `json:"adminEmail,omitempty"` // Version: Required. The version of SDF being used. // // Possible values: // "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is // unknown in this version. // "SDF_VERSION_3_1" - SDF version 3.1 // "SDF_VERSION_4" - SDF version 4 // "SDF_VERSION_4_1" - SDF version 4.1 // "SDF_VERSION_4_2" - SDF version 4.2 // "SDF_VERSION_5" - SDF version 5. // "SDF_VERSION_5_1" - SDF version 5.1 // "SDF_VERSION_5_2" - SDF version 5.2 // "SDF_VERSION_5_3" - SDF version 5.3 // "SDF_VERSION_5_4" - SDF version 5.4 // "SDF_VERSION_5_5" - SDF version 5.5 // "SDF_VERSION_6" - SDF version 6 // "SDF_VERSION_7" - SDF version 7. Read the [v7 migration // guide](/display-video/api/structured-data-file/v7-migration-guide) before // migrating to this version. Version string `json:"version,omitempty"` // ForceSendFields is a list of field names (e.g. "AdminEmail") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdminEmail") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SdfConfig) MarshalJSON() ([]byte, error) { type NoMethod SdfConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SdfDownloadTask: Type for the response returned by // [SdfDownloadTaskService.CreateSdfDownloadTask]. type SdfDownloadTask struct { // ResourceName: A resource name to be used in media.download to Download the // prepared files. Resource names have the format // `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made // available by the long running operation service once the task status is // done. ResourceName string `json:"resourceName,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SdfDownloadTask) MarshalJSON() ([]byte, error) { type NoMethod SdfDownloadTask return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SdfDownloadTaskMetadata: Type for the metadata returned by // [SdfDownloadTaskService.CreateSdfDownloadTask]. type SdfDownloadTaskMetadata struct { // CreateTime: The time when the operation was created. CreateTime string `json:"createTime,omitempty"` // EndTime: The time when execution was completed. EndTime string `json:"endTime,omitempty"` // Version: The SDF version used to execute this download task. // // Possible values: // "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is // unknown in this version. // "SDF_VERSION_3_1" - SDF version 3.1 // "SDF_VERSION_4" - SDF version 4 // "SDF_VERSION_4_1" - SDF version 4.1 // "SDF_VERSION_4_2" - SDF version 4.2 // "SDF_VERSION_5" - SDF version 5. // "SDF_VERSION_5_1" - SDF version 5.1 // "SDF_VERSION_5_2" - SDF version 5.2 // "SDF_VERSION_5_3" - SDF version 5.3 // "SDF_VERSION_5_4" - SDF version 5.4 // "SDF_VERSION_5_5" - SDF version 5.5 // "SDF_VERSION_6" - SDF version 6 // "SDF_VERSION_7" - SDF version 7. Read the [v7 migration // guide](/display-video/api/structured-data-file/v7-migration-guide) before // migrating to this version. Version string `json:"version,omitempty"` // ForceSendFields is a list of field names (e.g. "CreateTime") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreateTime") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SdfDownloadTaskMetadata) MarshalJSON() ([]byte, error) { type NoMethod SdfDownloadTaskMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SearchTargetingOptionsRequest: Request message for SearchTargetingOptions. type SearchTargetingOptionsRequest struct { // AdvertiserId: Required. The Advertiser this request is being made in the // context of. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // BusinessChainSearchTerms: Search terms for Business Chain targeting options. // Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. BusinessChainSearchTerms *BusinessChainSearchTerms `json:"businessChainSearchTerms,omitempty"` // GeoRegionSearchTerms: Search terms for geo region targeting options. Can // only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`. GeoRegionSearchTerms *GeoRegionSearchTerms `json:"geoRegionSearchTerms,omitempty"` // PageSize: Requested page size. Must be between `1` and `200`. If unspecified // will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid // value is specified. PageSize int64 `json:"pageSize,omitempty"` // PageToken: A token identifying a page of results the server should return. // Typically, this is the value of next_page_token returned from the previous // call to `SearchTargetingOptions` method. If not specified, the first page of // results will be returned. PageToken string `json:"pageToken,omitempty"` // PoiSearchTerms: Search terms for POI targeting options. Can only be used // when targeting_type is `TARGETING_TYPE_POI`. PoiSearchTerms *PoiSearchTerms `json:"poiSearchTerms,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvertiserId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdvertiserId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SearchTargetingOptionsRequest) MarshalJSON() ([]byte, error) { type NoMethod SearchTargetingOptionsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SearchTargetingOptionsResponse: Response message for SearchTargetingOptions. type SearchTargetingOptionsResponse struct { // NextPageToken: A token to retrieve the next page of results. Pass this value // in the page_token field in the subsequent call to `SearchTargetingOptions` // method to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // TargetingOptions: The list of targeting options that match the search // criteria. This list will be absent if empty. TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SearchTargetingOptionsResponse) MarshalJSON() ([]byte, error) { type NoMethod SearchTargetingOptionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SensitiveCategoryAssignedTargetingOptionDetails: Targeting details for // sensitive category. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. type SensitiveCategoryAssignedTargetingOptionDetails struct { // ExcludedSensitiveCategory: Required. An enum for the DV360 Sensitive // category content classified to be EXCLUDED. // // Possible values: // "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder and // doesn't specify a DV360 sensitive category. // "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or video // content. // "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as biased // against individuals, groups, or organizations based on criteria such as // race, religion, disability, sex, age, veteran status, sexual orientation, // gender identity, or political affiliation. May also indicate discussion of // such content, for instance, in an academic or journalistic context. // "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio, video, // or software downloads. // "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal // weapons, including knives, guns, small firearms, and ammunition. Selecting // either "weapons" or "sensitive social issues" will result in selecting both. // "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting or // wagering in a real-world or online setting. // "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered // graphically violent, gory, gruesome, or shocking, such as street fighting // videos, accident photos, descriptions of torture, etc. // "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as suggestive // content that's not explicitly pornographic. This category includes all pages // categorized as adult. // "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered // indecent, such as curse words and sexual slang. Pages with only very // occasional usage, such as news sites that might include such words in a // quotation, are not included. // "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to alcoholic // beverages, alcohol brands, recipes, etc. // "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the recreational // use of legal or illegal drugs, as well as to drug paraphernalia or // cultivation. // "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco and // tobacco accessories, including lighters, humidors, ashtrays, etc. // "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including // discussions of social, governmental, and public policy. // "SENSITIVE_CATEGORY_RELIGION" - Content related to religious thought or // beliefs. // "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters, // accidents, war, etc. // "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to motor // vehicle, aviation or other transportation accidents. // "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke strong, // opposing views and spark debate. These include issues that are controversial // in most countries and markets (such as abortion), as well as those that are // controversial in specific countries and markets (such as immigration reform // in the United States). // "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered shocking // or disturbing, such as violent news stories, stunts, or toilet humor. // "SENSITIVE_CATEGORY_EMBEDDED_VIDEO" - YouTube videos embedded on websites // outside of YouTube.com. Only applicable to YouTube and Partners line items. // "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" - Video of live events streamed // over the internet. Only applicable to YouTube and Partners line items. ExcludedSensitiveCategory string `json:"excludedSensitiveCategory,omitempty"` // ForceSendFields is a list of field names (e.g. "ExcludedSensitiveCategory") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ExcludedSensitiveCategory") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SensitiveCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod SensitiveCategoryAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SensitiveCategoryTargetingOptionDetails: Represents a targetable sensitive // category. This will be populated in the sensitive_category_details field of // the TargetingOption when targeting_type is // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. type SensitiveCategoryTargetingOptionDetails struct { // SensitiveCategory: Output only. An enum for the DV360 Sensitive category // content classifier. // // Possible values: // "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder and // doesn't specify a DV360 sensitive category. // "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or video // content. // "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as biased // against individuals, groups, or organizations based on criteria such as // race, religion, disability, sex, age, veteran status, sexual orientation, // gender identity, or political affiliation. May also indicate discussion of // such content, for instance, in an academic or journalistic context. // "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio, video, // or software downloads. // "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal // weapons, including knives, guns, small firearms, and ammunition. Selecting // either "weapons" or "sensitive social issues" will result in selecting both. // "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting or // wagering in a real-world or online setting. // "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered // graphically violent, gory, gruesome, or shocking, such as street fighting // videos, accident photos, descriptions of torture, etc. // "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as suggestive // content that's not explicitly pornographic. This category includes all pages // categorized as adult. // "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered // indecent, such as curse words and sexual slang. Pages with only very // occasional usage, such as news sites that might include such words in a // quotation, are not included. // "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to alcoholic // beverages, alcohol brands, recipes, etc. // "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the recreational // use of legal or illegal drugs, as well as to drug paraphernalia or // cultivation. // "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco and // tobacco accessories, including lighters, humidors, ashtrays, etc. // "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including // discussions of social, governmental, and public policy. // "SENSITIVE_CATEGORY_RELIGION" - Content related to religious thought or // beliefs. // "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters, // accidents, war, etc. // "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to motor // vehicle, aviation or other transportation accidents. // "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke strong, // opposing views and spark debate. These include issues that are controversial // in most countries and markets (such as abortion), as well as those that are // controversial in specific countries and markets (such as immigration reform // in the United States). // "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered shocking // or disturbing, such as violent news stories, stunts, or toilet humor. // "SENSITIVE_CATEGORY_EMBEDDED_VIDEO" - YouTube videos embedded on websites // outside of YouTube.com. Only applicable to YouTube and Partners line items. // "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" - Video of live events streamed // over the internet. Only applicable to YouTube and Partners line items. SensitiveCategory string `json:"sensitiveCategory,omitempty"` // ForceSendFields is a list of field names (e.g. "SensitiveCategory") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "SensitiveCategory") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SensitiveCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod SensitiveCategoryTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SessionPositionAssignedTargetingOptionDetails: Details for session position // assigned targeting option. This will be populated in the // session_position_details field when targeting_type is // `TARGETING_TYPE_SESSION_POSITION`. type SessionPositionAssignedTargetingOptionDetails struct { // SessionPosition: The position where the ad will show in a session. // // Possible values: // "SESSION_POSITION_UNSPECIFIED" - This is a placeholder, does not indicate // any positions. // "SESSION_POSITION_FIRST_IMPRESSION" - The first impression of the session. SessionPosition string `json:"sessionPosition,omitempty"` // ForceSendFields is a list of field names (e.g. "SessionPosition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "SessionPosition") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SessionPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod SessionPositionAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Site: A single site. Sites are apps or websites belonging to a channel. type Site struct { // Name: Output only. The resource name of the site. Name string `json:"name,omitempty"` // UrlOrAppId: Required. The app ID or URL of the site. Must be UTF-8 encoded // with a maximum length of 240 bytes. UrlOrAppId string `json:"urlOrAppId,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Name") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Site) MarshalJSON() ([]byte, error) { type NoMethod Site return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Status: The `Status` type defines a logical error model that is suitable for // different programming environments, including REST APIs and RPC APIs. It is // used by gRPC (https://github.com/grpc). Each `Status` message contains three // pieces of data: error code, error message, and error details. You can find // out more about this error model and how to work with it in the API Design // Guide (https://cloud.google.com/apis/design/errors). type Status struct { // Code: The status code, which should be an enum value of google.rpc.Code. Code int64 `json:"code,omitempty"` // Details: A list of messages that carry the error details. There is a common // set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in English. Any // user-facing error message should be localized and sent in the // google.rpc.Status.details field, or localized by the client. Message string `json:"message,omitempty"` // ForceSendFields is a list of field names (e.g. "Code") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Code") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Status) MarshalJSON() ([]byte, error) { type NoMethod Status return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SubExchangeAssignedTargetingOptionDetails: Details for assigned sub-exchange // targeting option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_SUB_EXCHANGE`. type SubExchangeAssignedTargetingOptionDetails struct { // TargetingOptionId: Required. The targeting_option_id of a TargetingOption of // type `TARGETING_TYPE_SUB_EXCHANGE`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // ForceSendFields is a list of field names (e.g. "TargetingOptionId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TargetingOptionId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SubExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod SubExchangeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SubExchangeTargetingOptionDetails: Represents a targetable sub-exchange. // This will be populated in the sub_exchange_details field of a // TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`. type SubExchangeTargetingOptionDetails struct { // DisplayName: Output only. The display name of the sub-exchange. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SubExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod SubExchangeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TargetFrequency: Setting that controls the average number of times the ads // will show to the same person over a certain period of time. type TargetFrequency struct { // TargetCount: The target number of times, on average, the ads will be shown // to the same person in the timespan dictated by time_unit and // time_unit_count. TargetCount int64 `json:"targetCount,omitempty,string"` // TimeUnit: The unit of time in which the target frequency will be applied. // The following time unit is applicable: * `TIME_UNIT_WEEKS` // // Possible values: // "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is unknown // in this version. // "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the whole life // time of the line item. // "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number of // months. // "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number of // weeks. // "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of days. // "TIME_UNIT_HOURS" - The frequency cap will be applied to a number of // hours. // "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number of // minutes. TimeUnit string `json:"timeUnit,omitempty"` // TimeUnitCount: The number of time_unit the target frequency will last. The // following restrictions apply based on the value of time_unit: * // `TIME_UNIT_WEEKS` - must be 1 TimeUnitCount int64 `json:"timeUnitCount,omitempty"` // ForceSendFields is a list of field names (e.g. "TargetCount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TargetCount") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TargetFrequency) MarshalJSON() ([]byte, error) { type NoMethod TargetFrequency return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TargetingExpansionConfig: Settings that control the optimized targeting // (//support.google.com/displayvideo/answer/12060859) settings of the line // item. type TargetingExpansionConfig struct { // ExcludeFirstPartyAudience: Whether to exclude first-party audiences from use // in targeting expansion. This field was deprecated with the launch of // optimized targeting (//support.google.com/displayvideo/answer/12060859). // This field will be set to `false`. If this field is set to `true` when // deprecated, all positive first-party audience targeting assigned to this // line item will be replaced with negative targeting of the same first-party // audiences to ensure the continued exclusion of those audiences. ExcludeFirstPartyAudience bool `json:"excludeFirstPartyAudience,omitempty"` // TargetingExpansionLevel: Required. Whether optimized targeting is turned on. // This field supports the following values: * `NO_EXPANSION`: optimized // targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned // on If this field is set to any other value, it will automatically be set to // `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field // and will be automatically assigned if you do not set the field. // // Possible values: // "TARGETING_EXPANSION_LEVEL_UNSPECIFIED" - The optimized targeting setting // is not specified or is unknown in this version. // "NO_EXPANSION" - Optimized targeting is off. // "LEAST_EXPANSION" - Optimized targeting is on. // "SOME_EXPANSION" - If used, will automatically be set to // `LEAST_EXPANSION`. // "BALANCED_EXPANSION" - If used, will automatically be set to // `LEAST_EXPANSION`. // "MORE_EXPANSION" - If used, will automatically be set to // `LEAST_EXPANSION`. // "MOST_EXPANSION" - If used, will automatically be set to // `LEAST_EXPANSION`. TargetingExpansionLevel string `json:"targetingExpansionLevel,omitempty"` // ForceSendFields is a list of field names (e.g. "ExcludeFirstPartyAudience") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ExcludeFirstPartyAudience") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TargetingExpansionConfig) MarshalJSON() ([]byte, error) { type NoMethod TargetingExpansionConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TargetingOption: Represents a single targeting option, which is a targetable // concept in DV360. type TargetingOption struct { // AgeRangeDetails: Age range details. AgeRangeDetails *AgeRangeTargetingOptionDetails `json:"ageRangeDetails,omitempty"` // AppCategoryDetails: App category details. AppCategoryDetails *AppCategoryTargetingOptionDetails `json:"appCategoryDetails,omitempty"` // AudioContentTypeDetails: Audio content type details. AudioContentTypeDetails *AudioContentTypeTargetingOptionDetails `json:"audioContentTypeDetails,omitempty"` // AuthorizedSellerStatusDetails: Authorized seller status resource details. AuthorizedSellerStatusDetails *AuthorizedSellerStatusTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"` // BrowserDetails: Browser details. BrowserDetails *BrowserTargetingOptionDetails `json:"browserDetails,omitempty"` // BusinessChainDetails: Business chain resource details. BusinessChainDetails *BusinessChainTargetingOptionDetails `json:"businessChainDetails,omitempty"` // CarrierAndIspDetails: Carrier and ISP details. CarrierAndIspDetails *CarrierAndIspTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"` // CategoryDetails: Category resource details. CategoryDetails *CategoryTargetingOptionDetails `json:"categoryDetails,omitempty"` // ContentDurationDetails: Content duration resource details. ContentDurationDetails *ContentDurationTargetingOptionDetails `json:"contentDurationDetails,omitempty"` // ContentGenreDetails: Content genre resource details. ContentGenreDetails *ContentGenreTargetingOptionDetails `json:"contentGenreDetails,omitempty"` // ContentInstreamPositionDetails: Content instream position details. ContentInstreamPositionDetails *ContentInstreamPositionTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"` // ContentOutstreamPositionDetails: Content outstream position details. ContentOutstreamPositionDetails *ContentOutstreamPositionTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"` // ContentStreamTypeDetails: Content stream type resource details. ContentStreamTypeDetails *ContentStreamTypeTargetingOptionDetails `json:"contentStreamTypeDetails,omitempty"` // DeviceMakeModelDetails: Device make and model resource details. DeviceMakeModelDetails *DeviceMakeModelTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"` // DeviceTypeDetails: Device type details. DeviceTypeDetails *DeviceTypeTargetingOptionDetails `json:"deviceTypeDetails,omitempty"` // DigitalContentLabelDetails: Digital content label details. DigitalContentLabelDetails *DigitalContentLabelTargetingOptionDetails `json:"digitalContentLabelDetails,omitempty"` // EnvironmentDetails: Environment details. EnvironmentDetails *EnvironmentTargetingOptionDetails `json:"environmentDetails,omitempty"` // ExchangeDetails: Exchange details. ExchangeDetails *ExchangeTargetingOptionDetails `json:"exchangeDetails,omitempty"` // GenderDetails: Gender details. GenderDetails *GenderTargetingOptionDetails `json:"genderDetails,omitempty"` // GeoRegionDetails: Geographic region resource details. GeoRegionDetails *GeoRegionTargetingOptionDetails `json:"geoRegionDetails,omitempty"` // HouseholdIncomeDetails: Household income details. HouseholdIncomeDetails *HouseholdIncomeTargetingOptionDetails `json:"householdIncomeDetails,omitempty"` // LanguageDetails: Language resource details. LanguageDetails *LanguageTargetingOptionDetails `json:"languageDetails,omitempty"` // Name: Output only. The resource name for this targeting option. Name string `json:"name,omitempty"` // NativeContentPositionDetails: Native content position details. NativeContentPositionDetails *NativeContentPositionTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"` // OmidDetails: Open Measurement enabled inventory details. OmidDetails *OmidTargetingOptionDetails `json:"omidDetails,omitempty"` // OnScreenPositionDetails: On screen position details. OnScreenPositionDetails *OnScreenPositionTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"` // OperatingSystemDetails: Operating system resources details. OperatingSystemDetails *OperatingSystemTargetingOptionDetails `json:"operatingSystemDetails,omitempty"` // ParentalStatusDetails: Parental status details. ParentalStatusDetails *ParentalStatusTargetingOptionDetails `json:"parentalStatusDetails,omitempty"` // PoiDetails: POI resource details. PoiDetails *PoiTargetingOptionDetails `json:"poiDetails,omitempty"` // SensitiveCategoryDetails: Sensitive Category details. SensitiveCategoryDetails *SensitiveCategoryTargetingOptionDetails `json:"sensitiveCategoryDetails,omitempty"` // SubExchangeDetails: Sub-exchange details. SubExchangeDetails *SubExchangeTargetingOptionDetails `json:"subExchangeDetails,omitempty"` // TargetingOptionId: Output only. A unique identifier for this targeting // option. The tuple {`targeting_type`, `targeting_option_id`} will be unique. TargetingOptionId string `json:"targetingOptionId,omitempty"` // TargetingType: Output only. The type of this targeting option. // // Possible values: // "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or // is unknown in this version. // "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related // websites or apps). // "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example, // education or puzzle games). // "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds). // "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com). // "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on // a specific day. // "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for // example, 18-24). // "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified // regions on a regional location list. // "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified // points of interest on a proximity location list. // "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example, // female or male). // "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size // for video ads. // "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for // video ads. // "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental // status (for example, parent or not a parent). // "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in // a specific content instream position (for example, pre-roll, mid-roll, or // post-roll). // "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific // content outstream position. // "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for // example, tablet or connected TV). // "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of // audiences. Singleton field, at most one can exist on a single Lineitem at a // time. // "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for // example, Chrome). // "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household // income range (for example, top 10%). // "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen // position. // "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third // party verification (for example, IAS or DoubleVerify). // "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by // specific digital content label ratings (for example, DL-MA: suitable only // for mature audiences). // "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by // sensitive categories (for example, adult). // "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for // example, web or app). // "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network // carrier or internet service provider (ISP) (for example, Comcast or Orange). // "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating // system (for example, macOS). // "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make // or model (for example, Roku or Samsung). // "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example, // dog or retriever). // "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative // keyword list. // "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for // example, 80% viewable). // "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for // example, arts & entertainment). // "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific // deals and auction packages. // "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for // example, English or Japanese). // "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt // authorized sellers. If no targeting option of this type is assigned, the // resource uses the "Authorized Direct Sellers and Resellers" option by // default. // "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location // (for example, a city or state). // "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a // group of deals and auction packages. // "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges. // "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific // sub-exchanges. // "TARGETING_TYPE_POI" - Target ads around a specific point of interest, // such as a notable building, a street address, or latitude/longitude // coordinates. // "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a // business chain within a specific geo region. // "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content // duration. // "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video // content stream type. // "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native // content position. // "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled // inventory. // "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio // content type. // "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre. // "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video. // Targeting of this type cannot be created or updated using the API. Although // this targeting is inherited by child resources, **inherited targeting of // this type will not be retrieveable**. // "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube // channel. Targeting of this type cannot be created or updated using the API. // Although this targeting is inherited by child resources, **inherited // targeting of this type will not be retrieveable**. // "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain // position of a session. Only supported for Ad Group resources under YouTube // Programmatic Reservation line items. Targeting of this type cannot be // created or updated using the API. TargetingType string `json:"targetingType,omitempty"` // UserRewardedContentDetails: User rewarded content details. UserRewardedContentDetails *UserRewardedContentTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"` // VideoPlayerSizeDetails: Video player size details. VideoPlayerSizeDetails *VideoPlayerSizeTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"` // ViewabilityDetails: Viewability resource details. ViewabilityDetails *ViewabilityTargetingOptionDetails `json:"viewabilityDetails,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AgeRangeDetails") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TargetingOption) MarshalJSON() ([]byte, error) { type NoMethod TargetingOption return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ThirdPartyOnlyConfig: Settings for advertisers that use third-party ad // servers only. type ThirdPartyOnlyConfig struct { // PixelOrderIdReportingEnabled: Whether or not order ID reporting for pixels // is enabled. This value cannot be changed once set to `true`. PixelOrderIdReportingEnabled bool `json:"pixelOrderIdReportingEnabled,omitempty"` // ForceSendFields is a list of field names (e.g. // "PixelOrderIdReportingEnabled") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PixelOrderIdReportingEnabled") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ThirdPartyOnlyConfig) MarshalJSON() ([]byte, error) { type NoMethod ThirdPartyOnlyConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ThirdPartyUrl: Tracking URLs from third parties to track interactions with // an audio or a video creative. type ThirdPartyUrl struct { // Type: The type of interaction needs to be tracked by the tracking URL // // Possible values: // "THIRD_PARTY_URL_TYPE_UNSPECIFIED" - The type of third-party URL is // unspecified or is unknown in this version. // "THIRD_PARTY_URL_TYPE_IMPRESSION" - Used to count impressions of the // creative after the audio or video buffering is complete. // "THIRD_PARTY_URL_TYPE_CLICK_TRACKING" - Used to track user clicks on the // audio or video. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START" - Used to track the number of // times a user starts the audio or video. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE" - Used to track the // number of times the audio or video plays to 25% of its length. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT" - Used to track the number of // times the audio or video plays to 50% of its length. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE" - Used to track the // number of times the audio or video plays to 75% of its length. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE" - Used to track the number of // times the audio or video plays to the end. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE" - Used to track the number of // times a user mutes the audio or video. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE" - Used to track the number of // times a user pauses the audio or video. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND" - Used to track the number of // times a user replays the audio or video. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN" - Used to track the number // of times a user expands the player to full-screen size. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP" - Used to track the number of // times a user stops the audio or video. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM" - Used to track the number of // times a user performs a custom click, such as clicking on a video hot spot. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP" - Used to track the number of // times the audio or video was skipped. // "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" - Used to track the number of // times the audio or video plays to an offset determined by the // progress_offset. Type string `json:"type,omitempty"` // Url: Tracking URL used to track the interaction. Provide a URL with optional // path or query string, beginning with `https:`. For example, // https://www.example.com/path Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Type") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ThirdPartyUrl) MarshalJSON() ([]byte, error) { type NoMethod ThirdPartyUrl return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ThirdPartyVendorConfig: Settings that control how third-party measurement // vendors are configured. type ThirdPartyVendorConfig struct { // PlacementId: The ID used by the platform of the third-party vendor to // identify the line item. PlacementId string `json:"placementId,omitempty"` // Vendor: The third-party measurement vendor. // // Possible values: // "THIRD_PARTY_VENDOR_UNSPECIFIED" - Unknown third-party vendor. // "THIRD_PARTY_VENDOR_MOAT" - Moat. // "THIRD_PARTY_VENDOR_DOUBLE_VERIFY" - DoubleVerify. // "THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE" - Integral Ad Science. // "THIRD_PARTY_VENDOR_COMSCORE" - Comscore. // "THIRD_PARTY_VENDOR_TELEMETRY" - Telemetry. // "THIRD_PARTY_VENDOR_MEETRICS" - Meetrics. // "THIRD_PARTY_VENDOR_ZEFR" - ZEFR. // "THIRD_PARTY_VENDOR_NIELSEN" - Nielsen. // "THIRD_PARTY_VENDOR_KANTAR" - Kantar. // "THIRD_PARTY_VENDOR_DYNATA" - Dynata. Vendor string `json:"vendor,omitempty"` // ForceSendFields is a list of field names (e.g. "PlacementId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PlacementId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ThirdPartyVendorConfig) MarshalJSON() ([]byte, error) { type NoMethod ThirdPartyVendorConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ThirdPartyVerifierAssignedTargetingOptionDetails: Assigned third party // verifier targeting option details. This will be populated in the details // field of an AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_THIRD_PARTY_VERIFIER`. type ThirdPartyVerifierAssignedTargetingOptionDetails struct { // Adloox: Third party brand verifier -- Adloox. Adloox *Adloox `json:"adloox,omitempty"` // DoubleVerify: Third party brand verifier -- DoubleVerify. DoubleVerify *DoubleVerify `json:"doubleVerify,omitempty"` // IntegralAdScience: Third party brand verifier -- Integral Ad Science. IntegralAdScience *IntegralAdScience `json:"integralAdScience,omitempty"` // ForceSendFields is a list of field names (e.g. "Adloox") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Adloox") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ThirdPartyVerifierAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ThirdPartyVerifierAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeRange: A time range. type TimeRange struct { // EndTime: Required. The upper bound of a time range, inclusive. EndTime string `json:"endTime,omitempty"` // StartTime: Required. The lower bound of a time range, inclusive. StartTime string `json:"startTime,omitempty"` // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EndTime") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TimeRange) MarshalJSON() ([]byte, error) { type NoMethod TimeRange return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimerEvent: Timer event of the creative. type TimerEvent struct { // Name: Required. The name of the timer event. Name string `json:"name,omitempty"` // ReportingName: Required. The name used to identify this timer event in // reports. ReportingName string `json:"reportingName,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TimerEvent) MarshalJSON() ([]byte, error) { type NoMethod TimerEvent return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TrackingFloodlightActivityConfig: Settings that control the behavior of a // single Floodlight activity config. type TrackingFloodlightActivityConfig struct { // FloodlightActivityId: Required. The ID of the Floodlight activity. FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"` // PostClickLookbackWindowDays: Required. The number of days after an ad has // been clicked in which a conversion may be counted. Must be between 0 and 90 // inclusive. PostClickLookbackWindowDays int64 `json:"postClickLookbackWindowDays,omitempty"` // PostViewLookbackWindowDays: Required. The number of days after an ad has // been viewed in which a conversion may be counted. Must be between 0 and 90 // inclusive. PostViewLookbackWindowDays int64 `json:"postViewLookbackWindowDays,omitempty"` // ForceSendFields is a list of field names (e.g. "FloodlightActivityId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "FloodlightActivityId") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TrackingFloodlightActivityConfig) MarshalJSON() ([]byte, error) { type NoMethod TrackingFloodlightActivityConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Transcode: Represents information about the transcoded audio or video file. type Transcode struct { // AudioBitRateKbps: The bit rate for the audio stream of the transcoded video, // or the bit rate for the transcoded audio, in kilobits per second. AudioBitRateKbps int64 `json:"audioBitRateKbps,omitempty,string"` // AudioSampleRateHz: The sample rate for the audio stream of the transcoded // video, or the sample rate for the transcoded audio, in hertz. AudioSampleRateHz int64 `json:"audioSampleRateHz,omitempty,string"` // BitRateKbps: The transcoding bit rate of the transcoded video, in kilobits // per second. BitRateKbps int64 `json:"bitRateKbps,omitempty,string"` // Dimensions: The dimensions of the transcoded video. Dimensions *Dimensions `json:"dimensions,omitempty"` // FileSizeBytes: The size of the transcoded file, in bytes. FileSizeBytes int64 `json:"fileSizeBytes,omitempty,string"` // FrameRate: The frame rate of the transcoded video, in frames per second. FrameRate float64 `json:"frameRate,omitempty"` // MimeType: The MIME type of the transcoded file. MimeType string `json:"mimeType,omitempty"` // Name: The name of the transcoded file. Name string `json:"name,omitempty"` // Transcoded: Indicates if the transcoding was successful. Transcoded bool `json:"transcoded,omitempty"` // ForceSendFields is a list of field names (e.g. "AudioBitRateKbps") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AudioBitRateKbps") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Transcode) MarshalJSON() ([]byte, error) { type NoMethod Transcode return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Transcode) UnmarshalJSON(data []byte) error { type NoMethod Transcode var s1 struct { FrameRate gensupport.JSONFloat64 `json:"frameRate"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.FrameRate = float64(s1.FrameRate) return nil } // UniversalAdId: A creative identifier provided by a registry that is unique // across all platforms. This is part of the VAST 4.0 standard. type UniversalAdId struct { // Id: The unique creative identifier. Id string `json:"id,omitempty"` // Registry: The registry provides unique creative identifiers. // // Possible values: // "UNIVERSAL_AD_REGISTRY_UNSPECIFIED" - The Universal Ad registry is // unspecified or is unknown in this version. // "UNIVERSAL_AD_REGISTRY_OTHER" - Use a custom provider to provide the // Universal Ad ID. // "UNIVERSAL_AD_REGISTRY_AD_ID" - Use Ad-ID to provide the Universal Ad ID. // "UNIVERSAL_AD_REGISTRY_CLEARCAST" - Use clearcast.co.uk to provide the // Universal Ad ID. // "UNIVERSAL_AD_REGISTRY_DV360" - Use Display & Video 360 to provide the // Universal Ad ID. // "UNIVERSAL_AD_REGISTRY_CM" - Use Campaign Manager 360 to provide the // Universal Ad ID. Registry string `json:"registry,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Id") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *UniversalAdId) MarshalJSON() ([]byte, error) { type NoMethod UniversalAdId return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // UrlAssignedTargetingOptionDetails: Details for assigned URL targeting // option. This will be populated in the details field of an // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`. type UrlAssignedTargetingOptionDetails struct { // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // Url: Required. The URL, for example `example.com`. DV360 supports two levels // of subdirectory targeting, for example // `www.example.com/one-subdirectory-level/second-level`, and five levels of // subdomain targeting, for example `five.four.three.two.one.example.com`. Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "Negative") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Negative") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *UrlAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod UrlAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // User: A single user in Display & Video 360. type User struct { // AssignedUserRoles: The assigned user roles. Required in CreateUser. Output // only in UpdateUser. Can only be updated through BulkEditAssignedUserRoles. AssignedUserRoles []*AssignedUserRole `json:"assignedUserRoles,omitempty"` // DisplayName: Required. The display name of the user. Must be UTF-8 encoded // with a maximum size of 240 bytes. DisplayName string `json:"displayName,omitempty"` // Email: Required. Immutable. The email address used to identify the user. Email string `json:"email,omitempty"` // LastLoginTime: Output only. The timestamp when the user last logged in DV360 // UI. LastLoginTime string `json:"lastLoginTime,omitempty"` // Name: Output only. The resource name of the user. Name string `json:"name,omitempty"` // UserId: Output only. The unique ID of the user. Assigned by the system. UserId int64 `json:"userId,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AssignedUserRoles") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedUserRoles") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *User) MarshalJSON() ([]byte, error) { type NoMethod User return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // UserRewardedContentAssignedTargetingOptionDetails: User rewarded content // targeting option details. This will be populated in the // user_rewarded_content_details field when targeting_type is // `TARGETING_TYPE_USER_REWARDED_CONTENT`. type UserRewardedContentAssignedTargetingOptionDetails struct { // TargetingOptionId: Required. The targeting_option_id field when // targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`. TargetingOptionId string `json:"targetingOptionId,omitempty"` // UserRewardedContent: Output only. User rewarded content status for video // ads. // // Possible values: // "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not // specified or is unknown in this version. // "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the user will // see a reward after viewing. // "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other ads // besides user-rewarded. UserRewardedContent string `json:"userRewardedContent,omitempty"` // ForceSendFields is a list of field names (e.g. "TargetingOptionId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TargetingOptionId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *UserRewardedContentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod UserRewardedContentAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // UserRewardedContentTargetingOptionDetails: Represents a targetable user // rewarded content status for video ads only. This will be populated in the // user_rewarded_content_details field when targeting_type is // `TARGETING_TYPE_USER_REWARDED_CONTENT`. type UserRewardedContentTargetingOptionDetails struct { // UserRewardedContent: Output only. User rewarded content status for video // ads. // // Possible values: // "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not // specified or is unknown in this version. // "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the user will // see a reward after viewing. // "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other ads // besides user-rewarded. UserRewardedContent string `json:"userRewardedContent,omitempty"` // ForceSendFields is a list of field names (e.g. "UserRewardedContent") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "UserRewardedContent") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *UserRewardedContentTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod UserRewardedContentTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VideoAdSequenceSettings: Settings related to VideoAdSequence. type VideoAdSequenceSettings struct { // MinimumDuration: The minimum time interval before the same user sees this // sequence again. // // Possible values: // "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_UNSPECIFIED" - Unspecified or unknown. // "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_WEEK" - 7 days. // "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_MONTH" - 30 days. MinimumDuration string `json:"minimumDuration,omitempty"` // Steps: The steps of which the sequence consists. Steps []*VideoAdSequenceStep `json:"steps,omitempty"` // ForceSendFields is a list of field names (e.g. "MinimumDuration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MinimumDuration") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VideoAdSequenceSettings) MarshalJSON() ([]byte, error) { type NoMethod VideoAdSequenceSettings return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VideoAdSequenceStep: The detail of a single step in a VideoAdSequence. type VideoAdSequenceStep struct { // AdGroupId: The ID of the corresponding ad group of the step. AdGroupId int64 `json:"adGroupId,omitempty,string"` // InteractionType: The interaction on the previous step that will lead the // viewer to this step. The first step does not have interaction_type. // // Possible values: // "INTERACTION_TYPE_UNSPECIFIED" - Unspecified or unknown // "INTERACTION_TYPE_PAID_VIEW" - A paid view. // "INTERACTION_TYPE_SKIP" - Skipped by the viewer. // "INTERACTION_TYPE_IMPRESSION" - A (viewed) ad impression. // "INTERACTION_TYPE_ENGAGED_IMPRESSION" - An ad impression that was not // immediately skipped by the viewer, but didn't reach the billable event // either. InteractionType string `json:"interactionType,omitempty"` // PreviousStepId: The ID of the previous step. The first step does not have // previous step. PreviousStepId int64 `json:"previousStepId,omitempty,string"` // StepId: The ID of the step. StepId int64 `json:"stepId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "AdGroupId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdGroupId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VideoAdSequenceStep) MarshalJSON() ([]byte, error) { type NoMethod VideoAdSequenceStep return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VideoDiscoveryAd: Details for a video discovery ad. type VideoDiscoveryAd struct { // Description1: First text line for the ad. Description1 string `json:"description1,omitempty"` // Description2: Second text line for the ad. Description2 string `json:"description2,omitempty"` // Headline: The headline of ad. Headline string `json:"headline,omitempty"` // Thumbnail: Thumbnail image used in the ad. // // Possible values: // "THUMBNAIL_UNSPECIFIED" - Unknown or unspecified. // "THUMBNAIL_DEFAULT" - The default thumbnail, can be auto-generated or // user-uploaded. // "THUMBNAIL_1" - Thumbnail 1, generated from the video. // "THUMBNAIL_2" - Thumbnail 2, generated from the video. // "THUMBNAIL_3" - Thumbnail 3, generated from the video. Thumbnail string `json:"thumbnail,omitempty"` // Video: The YouTube video the ad promotes. Video *YoutubeVideoDetails `json:"video,omitempty"` // ForceSendFields is a list of field names (e.g. "Description1") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description1") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VideoDiscoveryAd) MarshalJSON() ([]byte, error) { type NoMethod VideoDiscoveryAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VideoPerformanceAd: Details for a video performance ad. type VideoPerformanceAd struct { // ActionButtonLabels: The list of text assets shown on the call-to-action // button. ActionButtonLabels []string `json:"actionButtonLabels,omitempty"` // CompanionBanners: The list of companion banners used by this ad. CompanionBanners []*ImageAsset `json:"companionBanners,omitempty"` // CustomParameters: The custom parameters to pass custom values to tracking // URL template. CustomParameters map[string]string `json:"customParameters,omitempty"` // Descriptions: The list of descriptions shown on the call-to-action banner. Descriptions []string `json:"descriptions,omitempty"` // DisplayUrlBreadcrumb1: The first piece after the domain in the display URL. DisplayUrlBreadcrumb1 string `json:"displayUrlBreadcrumb1,omitempty"` // DisplayUrlBreadcrumb2: The second piece after the domain in the display URL. DisplayUrlBreadcrumb2 string `json:"displayUrlBreadcrumb2,omitempty"` // Domain: The domain of the display URL. Domain string `json:"domain,omitempty"` // FinalUrl: The URL address of the webpage that people reach after they click // the ad. FinalUrl string `json:"finalUrl,omitempty"` // Headlines: The list of headlines shown on the call-to-action banner. Headlines []string `json:"headlines,omitempty"` // LongHeadlines: The list of lone headlines shown on the call-to-action // banner. LongHeadlines []string `json:"longHeadlines,omitempty"` // TrackingUrl: The URL address loaded in the background for tracking purposes. TrackingUrl string `json:"trackingUrl,omitempty"` // Videos: The list of YouTube video assets used by this ad. Videos []*YoutubeVideoDetails `json:"videos,omitempty"` // ForceSendFields is a list of field names (e.g. "ActionButtonLabels") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActionButtonLabels") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VideoPerformanceAd) MarshalJSON() ([]byte, error) { type NoMethod VideoPerformanceAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VideoPlayerSizeAssignedTargetingOptionDetails: Video player size targeting // option details. This will be populated in the video_player_size_details // field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly // targeting all options is not supported. Remove all video player size // targeting options to achieve this effect. type VideoPlayerSizeAssignedTargetingOptionDetails struct { // VideoPlayerSize: Required. The video player size. // // Possible values: // "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not specified in // this version. This enum is a place holder for a default value and does not // represent a real video player size. // "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are less // than 400×300 (desktop), or up to 20% of screen covered (mobile). // "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are between // 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered // (mobile). // "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are 1280×720 // or greater (desktop), or over 90% of the screen covered (mobile). // "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player are // unknown. VideoPlayerSize string `json:"videoPlayerSize,omitempty"` // ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "VideoPlayerSize") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VideoPlayerSizeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod VideoPlayerSizeAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VideoPlayerSizeTargetingOptionDetails: Represents a targetable video player // size. This will be populated in the video_player_size_details field when // targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. type VideoPlayerSizeTargetingOptionDetails struct { // VideoPlayerSize: Output only. The video player size. // // Possible values: // "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not specified in // this version. This enum is a place holder for a default value and does not // represent a real video player size. // "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are less // than 400×300 (desktop), or up to 20% of screen covered (mobile). // "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are between // 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered // (mobile). // "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are 1280×720 // or greater (desktop), or over 90% of the screen covered (mobile). // "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player are // unknown. VideoPlayerSize string `json:"videoPlayerSize,omitempty"` // ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "VideoPlayerSize") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VideoPlayerSizeTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod VideoPlayerSizeTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ViewabilityAssignedTargetingOptionDetails: Assigned viewability targeting // option details. This will be populated in the viewability_details field of // an AssignedTargetingOption when targeting_type is // `TARGETING_TYPE_VIEWABILITY`. type ViewabilityAssignedTargetingOptionDetails struct { // Viewability: Required. The predicted viewability percentage. // // Possible values: // "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not // specified in this version. This enum is a placeholder for default value and // does not represent a real viewability option. // "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are at // least 10% likely to be viewable. // "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are at // least 20% likely to be viewable. // "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are at // least 30% likely to be viewable. // "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are at // least 40% likely to be viewable. // "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are at // least 50% likely to be viewable. // "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are at // least 60% likely to be viewable. // "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are at // least 70% likely to be viewable. // "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are at // least 80% likely to be viewable. // "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are at // least 90% likely to be viewable. Viewability string `json:"viewability,omitempty"` // ForceSendFields is a list of field names (e.g. "Viewability") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Viewability") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ViewabilityAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ViewabilityAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ViewabilityTargetingOptionDetails: Represents a targetable viewability. This // will be populated in the viewability_details field of a TargetingOption when // targeting_type is `TARGETING_TYPE_VIEWABILITY`. type ViewabilityTargetingOptionDetails struct { // Viewability: Output only. The predicted viewability percentage. // // Possible values: // "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not // specified in this version. This enum is a placeholder for default value and // does not represent a real viewability option. // "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are at // least 10% likely to be viewable. // "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are at // least 20% likely to be viewable. // "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are at // least 30% likely to be viewable. // "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are at // least 40% likely to be viewable. // "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are at // least 50% likely to be viewable. // "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are at // least 60% likely to be viewable. // "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are at // least 70% likely to be viewable. // "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are at // least 80% likely to be viewable. // "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are at // least 90% likely to be viewable. Viewability string `json:"viewability,omitempty"` // ForceSendFields is a list of field names (e.g. "Viewability") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Viewability") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ViewabilityTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod ViewabilityTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeAdGroup: A single YouTube ad group associated with a YouTube and // Partners line item. type YoutubeAdGroup struct { // AdGroupFormat: The format of the ads in the ad group. // // Possible values: // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_UNSPECIFIED" - Format value is not // specified or is unknown in this version. // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM" - In-stream ads. // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_VIDEO_DISCOVERY" - In-feed ads. // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_BUMPER" - Bumper ads. // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_NON_SKIPPABLE_IN_STREAM" - // Non-skippable in-stream ads. // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_AUDIO" - Non-skippable in-stream // audio ads. // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_ACTION" - [Responsive ads for video // action campaigns] (https://support.google.com/displayvideo/answer/9065351). // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_REACH" - [Effective reach ad groups] // (https://support.google.com/displayvideo/answer/9173684), including // in-stream and bumper ads. // "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_MASTHEAD" - Masthead Ad that is // surfaced on the top slot on the YouTube homepage. AdGroupFormat string `json:"adGroupFormat,omitempty"` // AdGroupId: The unique ID of the ad group. Assigned by the system. AdGroupId int64 `json:"adGroupId,omitempty,string"` // AdvertiserId: The unique ID of the advertiser the ad group belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // BiddingStrategy: The bidding strategy used by the ad group. BiddingStrategy *YoutubeAndPartnersBiddingStrategy `json:"biddingStrategy,omitempty"` // DisplayName: The display name of the ad group. Must be UTF-8 encoded with a // maximum size of 255 bytes. DisplayName string `json:"displayName,omitempty"` // EntityStatus: Controls whether or not the ad group can spend its budget and // bid on inventory. If the ad group's parent line item is not active, the ad // group can't spend its budget even if its own status is // `ENTITY_STATUS_ACTIVE`. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // LineItemId: The unique ID of the line item that the ad group belongs to. LineItemId int64 `json:"lineItemId,omitempty,string"` // Name: The resource name of the ad group. Name string `json:"name,omitempty"` // ProductFeedData: The settings of the product feed in this ad group. ProductFeedData *ProductFeedData `json:"productFeedData,omitempty"` // TargetingExpansion: The targeting expansion // (https://support.google.com/displayvideo/answer/10191558) settings of the ad // group. This config is only applicable when eligible audience list targeting // is assigned to the ad group. TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"` // YoutubeAdIds: The IDs of the youtube_ad_group_ad resources associated with // the ad group. YoutubeAdIds googleapi.Int64s `json:"youtubeAdIds,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdGroupFormat") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdGroupFormat") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeAdGroup) MarshalJSON() ([]byte, error) { type NoMethod YoutubeAdGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeAdGroupAd: A single ad associated with a YouTube ad group. type YoutubeAdGroupAd struct { // AdGroupAdId: The unique ID of the ad. Assigned by the system. AdGroupAdId int64 `json:"adGroupAdId,omitempty,string"` // AdGroupId: The unique ID of the ad group that the ad belongs to. AdGroupId int64 `json:"adGroupId,omitempty,string"` // AdUrls: List of URLs used by the ad. AdUrls []*AdUrl `json:"adUrls,omitempty"` // AdvertiserId: The unique ID of the advertiser the ad belongs to. AdvertiserId int64 `json:"advertiserId,omitempty,string"` // AudioAd: Details of an audio ad // (//support.google.com/displayvideo/answer/6274216) used for reach marketing // objectives. AudioAd *AudioAd `json:"audioAd,omitempty"` // BumperAd: Details of a non-skippable short video ad // (//support.google.com/displayvideo/answer/6274216), equal to or less than 6 // seconds, used for reach. BumperAd *BumperAd `json:"bumperAd,omitempty"` // DisplayName: The display name of the ad. Must be UTF-8 encoded with a // maximum size of 255 bytes. DisplayName string `json:"displayName,omitempty"` // DisplayVideoSourceAd: Details of an ad sourced from a Display & Video 360 // creative. DisplayVideoSourceAd *DisplayVideoSourceAd `json:"displayVideoSourceAd,omitempty"` // EntityStatus: The entity status of the ad. // // Possible values: // "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified // or is unknown in this version. // "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget. // "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget // spending are disabled. An entity can be deleted after archived. Deleted // entities cannot be retrieved. // "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget // spending are disabled. // "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the // entity. // "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for // deletion. EntityStatus string `json:"entityStatus,omitempty"` // InStreamAd: Details of an in-stream ad skippable after 5 seconds // (//support.google.com/displayvideo/answer/6274216), used for brand awareness // or reach marketing objectives. InStreamAd *InStreamAd `json:"inStreamAd,omitempty"` // MastheadAd: Details of an ad served on the YouTube Home feed // (//support.google.com/google-ads/answer/9709826). MastheadAd *MastheadAd `json:"mastheadAd,omitempty"` // Name: The resource name of the ad. Name string `json:"name,omitempty"` // NonSkippableAd: Details of a non-skippable short in-stream video ad // (//support.google.com/displayvideo/answer/6274216), between 6 and 15 // seconds, used for reach marketing objectives. NonSkippableAd *NonSkippableAd `json:"nonSkippableAd,omitempty"` // VideoDiscoverAd: Details of an ad promoting a video // (//support.google.com/displayvideo/answer/6274216) that shows in places of // discovery. VideoDiscoverAd *VideoDiscoveryAd `json:"videoDiscoverAd,omitempty"` // VideoPerformanceAd: Details of an ad used in a video action campaign // (//support.google.com/google-ads/answer/10147229) to drive actions to the // business, service or product. VideoPerformanceAd *VideoPerformanceAd `json:"videoPerformanceAd,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AdGroupAdId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdGroupAdId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeAdGroupAd) MarshalJSON() ([]byte, error) { type NoMethod YoutubeAdGroupAd return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeAdGroupAssignedTargetingOption: Wrapper object associating an // AssignedTargetingOption resource and the youtube ad group it is assigned to. type YoutubeAdGroupAssignedTargetingOption struct { // AssignedTargetingOption: The assigned targeting option resource. AssignedTargetingOption *AssignedTargetingOption `json:"assignedTargetingOption,omitempty"` // YoutubeAdGroupId: The ID of the youtube ad group the assigned targeting // option is assigned to. YoutubeAdGroupId int64 `json:"youtubeAdGroupId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "AssignedTargetingOption") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AssignedTargetingOption") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeAdGroupAssignedTargetingOption) MarshalJSON() ([]byte, error) { type NoMethod YoutubeAdGroupAssignedTargetingOption return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeAndPartnersBiddingStrategy: Settings that control the bid strategy // for YouTube and Partners resources. type YoutubeAndPartnersBiddingStrategy struct { // AdGroupEffectiveTargetCpaSource: Output only. Source of the effective target // CPA value for ad group. // // Possible values: // "BIDDING_SOURCE_UNSPECIFIED" - Bidding source is not specified or unknown. // "BIDDING_SOURCE_LINE_ITEM" - Bidding value is inherited from the line // item. // "BIDDING_SOURCE_AD_GROUP" - Bidding value is defined in the ad group. AdGroupEffectiveTargetCpaSource string `json:"adGroupEffectiveTargetCpaSource,omitempty"` // AdGroupEffectiveTargetCpaValue: Output only. The effective target CPA for ad // group, in micros of advertiser's currency. AdGroupEffectiveTargetCpaValue int64 `json:"adGroupEffectiveTargetCpaValue,omitempty,string"` // Type: The type of the bidding strategy. // // Possible values: // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED" - Type is not // specified or unknown. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV" - A bidding // strategy that pays a configurable amount per video view. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM" - A bidding // strategy that pays a configurable amount per impression. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA" - A bidding // strategy that automatically optimizes conversions per dollar. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM" - A bidding // strategy that pays a configurable amount per impression. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM" - A bidding // strategy for YouTube Instant Reserve line items that pays a fixed amount per // impression. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT" - An automated // bidding strategy that sets bids to achieve maximum lift. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS" - A // bidding strategy that automatically maximizes number of conversions given a // daily budget. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV" - A bidding // strategy that automatically optimizes cost per video view. // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS" - A bidding // strategy that automatically maximizes revenue while averaging a specific // target Return On Ad Spend (ROAS). // "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" - A // bidding strategy that automatically sets bids to maximize revenue while // spending your budget. Type string `json:"type,omitempty"` // Value: The value used by the bidding strategy. When the bidding strategy is // assigned at the line item level, this field is only applicable for the // following strategy types: * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` When the bidding // strategy is assigned at the ad group level, this field is only applicable // for the following strategy types: * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM` * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV` * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM` * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM` * // `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` If not using an // applicable strategy, the value of this field will be 0. Value int64 `json:"value,omitempty,string"` // ForceSendFields is a list of field names (e.g. // "AdGroupEffectiveTargetCpaSource") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdGroupEffectiveTargetCpaSource") // to include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeAndPartnersBiddingStrategy) MarshalJSON() ([]byte, error) { type NoMethod YoutubeAndPartnersBiddingStrategy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeAndPartnersInventorySourceConfig: Settings that control what YouTube // related inventories the YouTube and Partners line item will target. type YoutubeAndPartnersInventorySourceConfig struct { // IncludeGoogleTv: Optional. Whether to target inventory in video apps // available with Google TV. IncludeGoogleTv bool `json:"includeGoogleTv,omitempty"` // IncludeYoutubeSearch: Whether to target inventory on the YouTube search // results page. IncludeYoutubeSearch bool `json:"includeYoutubeSearch,omitempty"` // IncludeYoutubeVideoPartners: Whether to target inventory on a collection of // partner sites and apps that follow the same brand safety standards as // YouTube. IncludeYoutubeVideoPartners bool `json:"includeYoutubeVideoPartners,omitempty"` // IncludeYoutubeVideos: Whether to target inventory of channels and videos on // YouTube and YouTube videos embedded on other sites. IncludeYoutubeVideos bool `json:"includeYoutubeVideos,omitempty"` // ForceSendFields is a list of field names (e.g. "IncludeGoogleTv") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IncludeGoogleTv") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeAndPartnersInventorySourceConfig) MarshalJSON() ([]byte, error) { type NoMethod YoutubeAndPartnersInventorySourceConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeAndPartnersSettings: Settings for YouTube and Partners line items. type YoutubeAndPartnersSettings struct { // BiddingStrategy: Required. The bidding strategy of the YouTube and Partners // line item. BiddingStrategy *YoutubeAndPartnersBiddingStrategy `json:"biddingStrategy,omitempty"` // ContentCategory: The kind of content on which the YouTube and Partners ads // will be shown. // // Possible values: // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" - Content category is // not specified or is unknown in this version. // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" - A category consisting // of a wide range of content appropriate for most brands. The content is based // off of YouTube's [advertiser-friendly content // guidelines](https://support.google.com/youtube/answer/6162278). // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" - A category including // all content across YouTube and video partners that meets standards for // monetization. // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" - A category consisting of // a reduced range of content that meets heightened requirements, especially // regarding inappropriate language and sexual suggestiveness. ContentCategory string `json:"contentCategory,omitempty"` // EffectiveContentCategory: Output only. The content category which takes // effect when serving the line item. When content category is set in both line // item and advertiser, the stricter one will take effect when serving the line // item. // // Possible values: // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" - Content category is // not specified or is unknown in this version. // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" - A category consisting // of a wide range of content appropriate for most brands. The content is based // off of YouTube's [advertiser-friendly content // guidelines](https://support.google.com/youtube/answer/6162278). // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" - A category including // all content across YouTube and video partners that meets standards for // monetization. // "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" - A category consisting of // a reduced range of content that meets heightened requirements, especially // regarding inappropriate language and sexual suggestiveness. EffectiveContentCategory string `json:"effectiveContentCategory,omitempty"` // InventorySourceSettings: Settings that control what YouTube and Partners // inventories the line item will target. InventorySourceSettings *YoutubeAndPartnersInventorySourceConfig `json:"inventorySourceSettings,omitempty"` // LeadFormId: Optional. The ID of the form to generate leads. LeadFormId int64 `json:"leadFormId,omitempty,string"` // LinkedMerchantId: Optional. The ID of the merchant which is linked to the // line item for product feed. LinkedMerchantId int64 `json:"linkedMerchantId,omitempty,string"` // RelatedVideoIds: Optional. The IDs of the videos appear below the primary // video ad when the ad is playing in the YouTube app on mobile devices. RelatedVideoIds []string `json:"relatedVideoIds,omitempty"` // TargetFrequency: Optional. The average number of times you want ads from // this line item to show to the same person over a certain period of time. TargetFrequency *TargetFrequency `json:"targetFrequency,omitempty"` // ThirdPartyMeasurementSettings: Optional. The third-party measurement // settings of the line item. ThirdPartyMeasurementSettings *YoutubeAndPartnersThirdPartyMeasurementSettings `json:"thirdPartyMeasurementSettings,omitempty"` // VideoAdSequenceSettings: Optional. The settings related to VideoAdSequence. VideoAdSequenceSettings *VideoAdSequenceSettings `json:"videoAdSequenceSettings,omitempty"` // ViewFrequencyCap: The view frequency cap settings of the line item. The // max_views field in this settings object must be used if assigning a limited // cap. ViewFrequencyCap *FrequencyCap `json:"viewFrequencyCap,omitempty"` // ForceSendFields is a list of field names (e.g. "BiddingStrategy") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BiddingStrategy") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeAndPartnersSettings) MarshalJSON() ([]byte, error) { type NoMethod YoutubeAndPartnersSettings return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeAndPartnersThirdPartyMeasurementSettings: Settings that control what // third-party vendors are measuring specific line item metrics. type YoutubeAndPartnersThirdPartyMeasurementSettings struct { // BrandLiftVendorConfigs: The third-party vendors measuring brand lift. The // following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_DYNATA` // * `THIRD_PARTY_VENDOR_KANTAR` BrandLiftVendorConfigs []*ThirdPartyVendorConfig `json:"brandLiftVendorConfigs,omitempty"` // BrandSafetyVendorConfigs: The third-party vendors measuring brand safety. // The following third-party vendors are applicable: * // `THIRD_PARTY_VENDOR_ZERF` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * // `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` BrandSafetyVendorConfigs []*ThirdPartyVendorConfig `json:"brandSafetyVendorConfigs,omitempty"` // ReachVendorConfigs: The third-party vendors measuring reach. The following // third-party vendors are applicable: * `THIRD_PARTY_VENDOR_NIELSEN` * // `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR` ReachVendorConfigs []*ThirdPartyVendorConfig `json:"reachVendorConfigs,omitempty"` // ViewabilityVendorConfigs: The third-party vendors measuring viewability. The // following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_MOAT` * // `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * // `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` * // `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS` ViewabilityVendorConfigs []*ThirdPartyVendorConfig `json:"viewabilityVendorConfigs,omitempty"` // ForceSendFields is a list of field names (e.g. "BrandLiftVendorConfigs") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BrandLiftVendorConfigs") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeAndPartnersThirdPartyMeasurementSettings) MarshalJSON() ([]byte, error) { type NoMethod YoutubeAndPartnersThirdPartyMeasurementSettings return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeChannelAssignedTargetingOptionDetails: Details for YouTube channel // assigned targeting option. This will be populated in the // youtube_channel_details field when targeting_type is // `TARGETING_TYPE_YOUTUBE_CHANNEL`. type YoutubeChannelAssignedTargetingOptionDetails struct { // ChannelId: The YouTube uploader channel id or the channel code of a YouTube // channel. ChannelId string `json:"channelId,omitempty"` // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod YoutubeChannelAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeVideoAssignedTargetingOptionDetails: Details for YouTube video // assigned targeting option. This will be populated in the // youtube_video_details field when targeting_type is // `TARGETING_TYPE_YOUTUBE_VIDEO`. type YoutubeVideoAssignedTargetingOptionDetails struct { // Negative: Indicates if this option is being negatively targeted. Negative bool `json:"negative,omitempty"` // VideoId: YouTube video id as it appears on the YouTube watch page. VideoId string `json:"videoId,omitempty"` // ForceSendFields is a list of field names (e.g. "Negative") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Negative") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeVideoAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) { type NoMethod YoutubeVideoAssignedTargetingOptionDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // YoutubeVideoDetails: Details of a YouTube video. type YoutubeVideoDetails struct { // Id: The YouTube video ID which can be searched on YouTube webpage. Id string `json:"id,omitempty"` // UnavailableReason: The reason why the video data is not available. // // Possible values: // "VIDEO_UNAVAILABLE_REASON_UNSPECIFIED" - Unknown or unspecified. // "VIDEO_UNAVAILABLE_REASON_PRIVATE" - The video is private. // "VIDEO_UNAVAILABLE_REASON_DELETED" - The video is deleted. UnavailableReason string `json:"unavailableReason,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Id") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *YoutubeVideoDetails) MarshalJSON() ([]byte, error) { type NoMethod YoutubeVideoDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type AdvertisersAuditCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Audit: Audits an advertiser. Returns the counts of used entities per // resource type under the advertiser provided. Used entities count towards // their respective resource limit. See // https://support.google.com/displayvideo/answer/6071450. // // - advertiserId: The ID of the advertiser to audit. func (r *AdvertisersService) Audit(advertiserId int64) *AdvertisersAuditCall { c := &AdvertisersAuditCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // ReadMask sets the optional parameter "readMask": The specific fields to // return. If no mask is specified, all fields in the response proto will be // filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount * // usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount * // negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount func (c *AdvertisersAuditCall) ReadMask(readMask string) *AdvertisersAuditCall { c.urlParams_.Set("readMask", readMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersAuditCall) Fields(s ...googleapi.Field) *AdvertisersAuditCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersAuditCall) IfNoneMatch(entityTag string) *AdvertisersAuditCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersAuditCall) Context(ctx context.Context) *AdvertisersAuditCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersAuditCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersAuditCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}:audit") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.audit" call. // Any non-2xx status code is an error. Response headers are in either // *AuditAdvertiserResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersAuditCall) Do(opts ...googleapi.CallOption) (*AuditAdvertiserResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AuditAdvertiserResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCreateCall struct { s *Service advertiser *Advertiser urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new advertiser. Returns the newly created advertiser if // successful. **This method regularly experiences high latency.** We recommend // increasing your default timeout // (/display-video/api/guides/best-practices/timeouts#client_library_timeout) // to avoid errors. func (r *AdvertisersService) Create(advertiser *Advertiser) *AdvertisersCreateCall { c := &AdvertisersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiser = advertiser return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCreateCall) Context(ctx context.Context) *AdvertisersCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.create" call. // Any non-2xx status code is an error. Response headers are in either // *Advertiser.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCreateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Advertiser{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersDeleteCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an advertiser. Deleting an advertiser will delete all of its // child resources, for example, campaigns, insertion orders and line items. A // deleted advertiser cannot be recovered. // // - advertiserId: The ID of the advertiser we need to delete. func (r *AdvertisersService) Delete(advertiserId int64) *AdvertisersDeleteCall { c := &AdvertisersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersDeleteCall) Context(ctx context.Context) *AdvertisersDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersEditAssignedTargetingOptionsCall struct { s *Service advertiserId int64 bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // EditAssignedTargetingOptions: Edits targeting options under a single // advertiser. The operation will delete the assigned targeting options // provided in // BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then // create the assigned targeting options provided in // BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests . // // - advertiserId: The ID of the advertiser. func (r *AdvertisersService) EditAssignedTargetingOptions(advertiserId int64, bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest) *AdvertisersEditAssignedTargetingOptionsCall { c := &AdvertisersEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.bulkeditadvertiserassignedtargetingoptionsrequest = bulkeditadvertiserassignedtargetingoptionsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersEditAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersEditAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersEditAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersEditAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditadvertiserassignedtargetingoptionsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}:editAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.editAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or // (if a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAdvertiserAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditAdvertiserAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersGetCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets an advertiser. // // - advertiserId: The ID of the advertiser to fetch. func (r *AdvertisersService) Get(advertiserId int64) *AdvertisersGetCall { c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.get" call. // Any non-2xx status code is an error. Response headers are in either // *Advertiser.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Advertiser{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists advertisers that are accessible to the current user. The order // is defined by the order_by parameter. A single partner_id is required. // Cross-partner listing is not supported. func (r *AdvertisersService) List() *AdvertisersListCall { c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Filter sets the optional parameter "filter": Allows filtering by advertiser // fields. Supported syntax: * Filter expressions are made up of one or more // restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. * A restriction has the form of `{field} {operator} {value}`. * // The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS // THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS // (=)` operator. Supported fields: * `advertiserId` * `displayName` * // `entityStatus` * `updateTime` (input in ISO 8601 format, or // `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner: // `entityStatus="ENTITY_STATUS_ACTIVE" * All advertisers with an update time // less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime<="2020-11-04T18:54:47Z" * All advertisers with an update time // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersListCall) Filter(filter string) *AdvertisersListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `entityStatus` * // `updateTime` The default sorting order is ascending. To specify descending // order for a field, a suffix "desc" should be added to the field name. For // example, `displayName desc`. func (c *AdvertisersListCall) OrderBy(orderBy string) *AdvertisersListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *AdvertisersListCall) PageSize(pageSize int64) *AdvertisersListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListAdvertisers` method. // If not specified, the first page of results will be returned. func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": Required. The ID of the // partner that the fetched advertisers should all belong to. The system only // supports listing advertisers for one partner at a time. func (c *AdvertisersListCall) PartnerId(partnerId int64) *AdvertisersListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListAdvertisersResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*ListAdvertisersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListAdvertisersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*ListAdvertisersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersListAssignedTargetingOptionsCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // ListAssignedTargetingOptions: Lists assigned targeting options of an // advertiser across targeting types. // // - advertiserId: The ID of the advertiser the line item belongs to. func (r *AdvertisersService) ListAssignedTargetingOptions(advertiserId int64) *AdvertisersListAssignedTargetingOptionsCall { c := &AdvertisersListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the `OR` // logical operator. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `EQUALS (=) operator`. Supported fields: // * `targetingType` Examples: * targetingType with value // TARGETING_TYPE_CHANNEL `targetingType="TARGETING_TYPE_CHANNEL" The length // of this field should be no more than 500 characters. Reference our filter // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more // information. func (c *AdvertisersListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersListAssignedTargetingOptionsCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `targetingType` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix "desc" // should be added to the field name. Example: `targetingType desc`. func (c *AdvertisersListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersListAssignedTargetingOptionsCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. The // size must be an integer between `1` and `5000`. If unspecified, the default // is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is // specified. func (c *AdvertisersListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersListAssignedTargetingOptionsCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token that lets the // client fetch the next page of results. Typically, this is the value of // next_page_token returned from the previous call to // `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the // first page of results will be returned. func (c *AdvertisersListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersListAssignedTargetingOptionsCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersListAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersListAssignedTargetingOptionsCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersListAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersListAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}:listAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.listAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or // (if a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdvertiserAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkListAdvertiserAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdvertiserAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersPatchCall struct { s *Service advertiserId int64 advertiser *Advertiser urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing advertiser. Returns the updated advertiser if // successful. // // - advertiserId: Output only. The unique ID of the advertiser. Assigned by // the system. func (r *AdvertisersService) Patch(advertiserId int64, advertiser *Advertiser) *AdvertisersPatchCall { c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.advertiser = advertiser return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersPatchCall) UpdateMask(updateMask string) *AdvertisersPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Advertiser.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Advertiser{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersAssetsUploadCall struct { s *Service advertiserId int64 createassetrequest *CreateAssetRequest urlParams_ gensupport.URLParams mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } // Upload: Uploads an asset. Returns the ID of the newly uploaded asset if // successful. The asset file size should be no more than 10 MB for images, 200 // MB for ZIP files, and 1 GB for videos. Must be used within the multipart // media upload process (/display-video/api/guides/how-tos/upload#multipart). // Examples using provided client libraries can be found in our Creating // Creatives guide // (/display-video/api/guides/creating-creatives/overview#upload_an_asset). // // - advertiserId: The ID of the advertiser this asset belongs to. func (r *AdvertisersAssetsService) Upload(advertiserId int64, createassetrequest *CreateAssetRequest) *AdvertisersAssetsUploadCall { c := &AdvertisersAssetsUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.createassetrequest = createassetrequest return c } // Media specifies the media to upload in one or more chunks. The chunk size // may be controlled by supplying a MediaOption generated by // googleapi.ChunkSize. The chunk size defaults to // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload // request will be determined by sniffing the contents of r, unless a // MediaOption generated by googleapi.ContentType is supplied. // At most one of Media and ResumableMedia may be set. func (c *AdvertisersAssetsUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *AdvertisersAssetsUploadCall { c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } // ResumableMedia specifies the media to upload in chunks and can be canceled // with ctx. // // Deprecated: use Media instead. // // At most one of Media and ResumableMedia may be set. mediaType identifies the // MIME media type of the upload, such as "image/png". If mediaType is "", it // will be auto-detected. The provided ctx will supersede any context // previously provided to the Context method. func (c *AdvertisersAssetsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *AdvertisersAssetsUploadCall { c.ctx_ = ctx c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } // ProgressUpdater provides a callback function that will be called after every // chunk. It should be a low-latency function in order to not slow down the // upload operation. This should only be called when using ResumableMedia (as // opposed to Media). func (c *AdvertisersAssetsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *AdvertisersAssetsUploadCall { c.mediaInfo_.SetProgressUpdater(pu) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersAssetsUploadCall) Fields(s ...googleapi.Field) *AdvertisersAssetsUploadCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. // This context will supersede any context previously provided to the // ResumableMedia method. func (c *AdvertisersAssetsUploadCall) Context(ctx context.Context) *AdvertisersAssetsUploadCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersAssetsUploadCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersAssetsUploadCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.createassetrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/assets") if c.mediaInfo_ != nil { urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v2/advertisers/{+advertiserId}/assets") c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) defer cleanup() urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders req.GetBody = getBody googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.assets.upload" call. // Any non-2xx status code is an error. Response headers are in either // *CreateAssetResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersAssetsUploadCall) Do(opts ...googleapi.CallOption) (*CreateAssetResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) if rx != nil { rx.Client = c.s.client rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() } res, err = rx.Upload(ctx) if err != nil { return nil, err } defer res.Body.Close() if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } } ret := &CreateAssetResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCampaignsCreateCall struct { s *Service advertiserId int64 campaign *Campaign urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new campaign. Returns the newly created campaign if // successful. // // - advertiserId: Output only. The unique ID of the advertiser the campaign // belongs to. func (r *AdvertisersCampaignsService) Create(advertiserId int64, campaign *Campaign) *AdvertisersCampaignsCreateCall { c := &AdvertisersCampaignsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.campaign = campaign return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsCreateCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsCreateCall) Context(ctx context.Context) *AdvertisersCampaignsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.create" call. // Any non-2xx status code is an error. Response headers are in either // *Campaign.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCampaignsCreateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Campaign{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCampaignsDeleteCall struct { s *Service advertiserId int64 campaignId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Permanently deletes a campaign. A deleted campaign cannot be // recovered. The campaign should be archived first, i.e. set entity_status to // `ENTITY_STATUS_ARCHIVED`, to be able to delete it. **This method regularly // experiences high latency.** We recommend increasing your default timeout // (/display-video/api/guides/best-practices/timeouts#client_library_timeout) // to avoid errors. // // - advertiserId: The ID of the advertiser this campaign belongs to. // - campaignId: The ID of the campaign we need to delete. func (r *AdvertisersCampaignsService) Delete(advertiserId int64, campaignId int64) *AdvertisersCampaignsDeleteCall { c := &AdvertisersCampaignsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.campaignId = campaignId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsDeleteCall) Context(ctx context.Context) *AdvertisersCampaignsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "campaignId": strconv.FormatInt(c.campaignId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCampaignsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCampaignsGetCall struct { s *Service advertiserId int64 campaignId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a campaign. // // - advertiserId: The ID of the advertiser this campaign belongs to. // - campaignId: The ID of the campaign to fetch. func (r *AdvertisersCampaignsService) Get(advertiserId int64, campaignId int64) *AdvertisersCampaignsGetCall { c := &AdvertisersCampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.campaignId = campaignId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersCampaignsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsGetCall) Context(ctx context.Context) *AdvertisersCampaignsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "campaignId": strconv.FormatInt(c.campaignId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.get" call. // Any non-2xx status code is an error. Response headers are in either // *Campaign.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Campaign{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCampaignsListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists campaigns in an advertiser. The order is defined by the order_by // parameter. If a filter by entity_status is not specified, campaigns with // `ENTITY_STATUS_ARCHIVED` will not be included in the results. // // - advertiserId: The ID of the advertiser to list campaigns for. func (r *AdvertisersCampaignsService) List(advertiserId int64) *AdvertisersCampaignsListCall { c := &AdvertisersCampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by campaign // fields. Supported syntax: * Filter expressions are made up of one or more // restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * The `updateTime` field must // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` // operators. * All other fields must use the `EQUALS (=)` operator. Supported // fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All // `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an // advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR // entityStatus="ENTITY_STATUS_PAUSED")` * All campaigns with an update time // less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime<="2020-11-04T18:54:47Z" * All campaigns with an update time // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersCampaignsListCall) Filter(filter string) *AdvertisersCampaignsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `entityStatus` * // `updateTime` The default sorting order is ascending. To specify descending // order for a field, a suffix "desc" should be added to the field name. // Example: `displayName desc`. func (c *AdvertisersCampaignsListCall) OrderBy(orderBy string) *AdvertisersCampaignsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *AdvertisersCampaignsListCall) PageSize(pageSize int64) *AdvertisersCampaignsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListCampaigns` method. // If not specified, the first page of results will be returned. func (c *AdvertisersCampaignsListCall) PageToken(pageToken string) *AdvertisersCampaignsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersCampaignsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsListCall) Context(ctx context.Context) *AdvertisersCampaignsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListCampaignsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersCampaignsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListCampaignsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersCampaignsListCall) Pages(ctx context.Context, f func(*ListCampaignsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersCampaignsListAssignedTargetingOptionsCall struct { s *Service advertiserId int64 campaignId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // ListAssignedTargetingOptions: Lists assigned targeting options of a campaign // across targeting types. // // - advertiserId: The ID of the advertiser the campaign belongs to. // - campaignId: The ID of the campaign to list assigned targeting options for. func (r *AdvertisersCampaignsService) ListAssignedTargetingOptions(advertiserId int64, campaignId int64) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c := &AdvertisersCampaignsListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.campaignId = campaignId return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the `OR` // logical operator. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: // * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` // resources of targeting type `TARGETING_TYPE_LANGUAGE` or // `TARGETING_TYPE_GENDER`: `targetingType="TARGETING_TYPE_LANGUAGE" OR // targetingType="TARGETING_TYPE_GENDER" * `AssignedTargetingOption` resources // with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: // `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER" The // length of this field should be no more than 500 characters. Reference our // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for // more information. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `targetingType` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix "desc" // should be added to the field name. Example: `targetingType desc`. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. The // size must be an integer between `1` and `5000`. If unspecified, the default // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is // specified. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token that lets the // client fetch the next page of results. Typically, this is the value of // next_page_token returned from the previous call to // `BulkListCampaignAssignedTargetingOptions` method. If not specified, the // first page of results will be returned. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersCampaignsListAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "campaignId": strconv.FormatInt(c.campaignId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.listAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header or // (if a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListCampaignAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkListCampaignAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListCampaignAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersCampaignsPatchCall struct { s *Service advertiserId int64 campaignId int64 campaign *Campaign urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing campaign. Returns the updated campaign if // successful. // // - advertiserId: Output only. The unique ID of the advertiser the campaign // belongs to. // - campaignId: Output only. The unique ID of the campaign. Assigned by the // system. func (r *AdvertisersCampaignsService) Patch(advertiserId int64, campaignId int64, campaign *Campaign) *AdvertisersCampaignsPatchCall { c := &AdvertisersCampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.campaignId = campaignId c.campaign = campaign return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersCampaignsPatchCall) UpdateMask(updateMask string) *AdvertisersCampaignsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsPatchCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsPatchCall) Context(ctx context.Context) *AdvertisersCampaignsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "campaignId": strconv.FormatInt(c.campaignId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Campaign.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Campaign{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall struct { s *Service advertiserId int64 campaignId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single targeting option assigned to a campaign. // // - advertiserId: The ID of the advertiser the campaign belongs to. // - assignedTargetingOptionId: An identifier unique to the targeting type in // this campaign that identifies the assigned targeting option being // requested. // - campaignId: The ID of the campaign the assigned targeting option belongs // to. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, campaignId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall { c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.campaignId = campaignId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "campaignId": strconv.FormatInt(c.campaignId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall struct { s *Service advertiserId int64 campaignId int64 targetingType string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the targeting options assigned to a campaign for a specified // targeting type. // // - advertiserId: The ID of the advertiser the campaign belongs to. // - campaignId: The ID of the campaign to list assigned targeting options for. // - targetingType: Identifies the type of assigned targeting options to list. // Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, campaignId int64, targetingType string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.campaignId = campaignId c.targetingType = targetingType return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the `OR` // logical operator. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: // * `assignedTargetingOptionId` * `inheritance` Examples: * // `AssignedTargetingOption` resources with ID 1 or 2 // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" * // `AssignedTargetingOption` resources with inheritance status of // `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance="NOT_INHERITED" OR // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedTargetingOptionId` (default) The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: // `assignedTargetingOptionId desc`. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `5000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListCampaignAssignedTargetingOptions` method. If not specified, the first // page of results will be returned. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "campaignId": strconv.FormatInt(c.campaignId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListCampaignAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListCampaignAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersChannelsCreateCall struct { s *Service advertiserId int64 channel *Channel urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new channel. Returns the newly created channel if // successful. // // - advertiserId: The ID of the advertiser that owns the created channel. func (r *AdvertisersChannelsService) Create(advertiserId int64, channel *Channel) *AdvertisersChannelsCreateCall { c := &AdvertisersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channel = channel return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the created channel. func (c *AdvertisersChannelsCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsCreateCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsCreateCall) Context(ctx context.Context) *AdvertisersChannelsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.create" call. // Any non-2xx status code is an error. Response headers are in either // *Channel.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Channel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersChannelsGetCall struct { s *Service advertiserId int64 channelId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a channel for a partner or advertiser. // // - advertiserId: The ID of the advertiser that owns the fetched channel. // - channelId: The ID of the channel to fetch. func (r *AdvertisersChannelsService) Get(advertiserId int64, channelId int64) *AdvertisersChannelsGetCall { c := &AdvertisersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channelId = channelId return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the fetched channel. func (c *AdvertisersChannelsGetCall) PartnerId(partnerId int64) *AdvertisersChannelsGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsGetCall) Fields(s ...googleapi.Field) *AdvertisersChannelsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersChannelsGetCall) IfNoneMatch(entityTag string) *AdvertisersChannelsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsGetCall) Context(ctx context.Context) *AdvertisersChannelsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels/{+channelId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.get" call. // Any non-2xx status code is an error. Response headers are in either // *Channel.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Channel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersChannelsListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists channels for a partner or advertiser. // // - advertiserId: The ID of the advertiser that owns the channels. func (r *AdvertisersChannelsService) List(advertiserId int64) *AdvertisersChannelsListCall { c := &AdvertisersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by channel // fields. Supported syntax: * Filter expressions for channel can only contain // at most one restriction. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * // `displayName` Examples: * All channels for which the display name contains // "google": `displayName : "google". The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersChannelsListCall) Filter(filter string) *AdvertisersChannelsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `channelId` The // default sorting order is ascending. To specify descending order for a field, // a suffix " desc" should be added to the field name. Example: `displayName // desc`. func (c *AdvertisersChannelsListCall) OrderBy(orderBy string) *AdvertisersChannelsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersChannelsListCall) PageSize(pageSize int64) *AdvertisersChannelsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListChannels` method. If // not specified, the first page of results will be returned. func (c *AdvertisersChannelsListCall) PageToken(pageToken string) *AdvertisersChannelsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the channels. func (c *AdvertisersChannelsListCall) PartnerId(partnerId int64) *AdvertisersChannelsListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersChannelsListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsListCall) Context(ctx context.Context) *AdvertisersChannelsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListChannelsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListChannelsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersChannelsPatchCall struct { s *Service advertiserId int64 channelId int64 channel *Channel urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a channel. Returns the updated channel if successful. // // - advertiserId: The ID of the advertiser that owns the created channel. // - channelId: Output only. The unique ID of the channel. Assigned by the // system. func (r *AdvertisersChannelsService) Patch(advertiserId int64, channelId int64, channel *Channel) *AdvertisersChannelsPatchCall { c := &AdvertisersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channelId = channelId c.channel = channel return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the created channel. func (c *AdvertisersChannelsPatchCall) PartnerId(partnerId int64) *AdvertisersChannelsPatchCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersChannelsPatchCall) UpdateMask(updateMask string) *AdvertisersChannelsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsPatchCall) Fields(s ...googleapi.Field) *AdvertisersChannelsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsPatchCall) Context(ctx context.Context) *AdvertisersChannelsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels/{channelId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Channel.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Channel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersChannelsSitesBulkEditCall struct { s *Service advertiserId int64 channelId int64 bulkeditsitesrequest *BulkEditSitesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkEdit: Bulk edits sites under a single channel. The operation will delete // the sites provided in BulkEditSitesRequest.deleted_sites and then create the // sites provided in BulkEditSitesRequest.created_sites. // // - advertiserId: The ID of the advertiser that owns the parent channel. // - channelId: The ID of the parent channel to which the sites belong. func (r *AdvertisersChannelsSitesService) BulkEdit(advertiserId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *AdvertisersChannelsSitesBulkEditCall { c := &AdvertisersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channelId = channelId c.bulkeditsitesrequest = bulkeditsitesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesBulkEditCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsSitesBulkEditCall) Context(ctx context.Context) *AdvertisersChannelsSitesBulkEditCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsSitesBulkEditCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.sites.bulkEdit" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditSitesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditSitesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersChannelsSitesCreateCall struct { s *Service advertiserId int64 channelId int64 site *Site urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a site in a channel. // // - advertiserId: The ID of the advertiser that owns the parent channel. // - channelId: The ID of the parent channel in which the site will be created. func (r *AdvertisersChannelsSitesService) Create(advertiserId int64, channelId int64, site *Site) *AdvertisersChannelsSitesCreateCall { c := &AdvertisersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channelId = channelId c.site = site return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent channel. func (c *AdvertisersChannelsSitesCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesCreateCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsSitesCreateCall) Context(ctx context.Context) *AdvertisersChannelsSitesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsSitesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.site) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.sites.create" call. // Any non-2xx status code is an error. Response headers are in either // *Site.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Site{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersChannelsSitesDeleteCall struct { s *Service advertiserId int64 channelId int64 urlOrAppId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a site from a channel. // // - advertiserId: The ID of the advertiser that owns the parent channel. // - channelId: The ID of the parent channel to which the site belongs. // - urlOrAppId: The URL or app ID of the site to delete. func (r *AdvertisersChannelsSitesService) Delete(advertiserId int64, channelId int64, urlOrAppId string) *AdvertisersChannelsSitesDeleteCall { c := &AdvertisersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channelId = channelId c.urlOrAppId = urlOrAppId return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent channel. func (c *AdvertisersChannelsSitesDeleteCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesDeleteCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsSitesDeleteCall) Context(ctx context.Context) *AdvertisersChannelsSitesDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsSitesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "channelId": strconv.FormatInt(c.channelId, 10), "urlOrAppId": c.urlOrAppId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.sites.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersChannelsSitesListCall struct { s *Service advertiserId int64 channelId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists sites in a channel. // // - advertiserId: The ID of the advertiser that owns the parent channel. // - channelId: The ID of the parent channel to which the requested sites // belong. func (r *AdvertisersChannelsSitesService) List(advertiserId int64, channelId int64) *AdvertisersChannelsSitesListCall { c := &AdvertisersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channelId = channelId return c } // Filter sets the optional parameter "filter": Allows filtering by site // fields. Supported syntax: * Filter expressions for site retrieval can only // contain at most one restriction. * A restriction has the form of `{field} // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported // fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID // contains "google": `urlOrAppId : "google" The length of this field should // be no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersChannelsSitesListCall) Filter(filter string) *AdvertisersChannelsSitesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `urlOrAppId` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix " // desc" should be added to the field name. Example: `urlOrAppId desc`. func (c *AdvertisersChannelsSitesListCall) OrderBy(orderBy string) *AdvertisersChannelsSitesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `10000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersChannelsSitesListCall) PageSize(pageSize int64) *AdvertisersChannelsSitesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListSites` method. If // not specified, the first page of results will be returned. func (c *AdvertisersChannelsSitesListCall) PageToken(pageToken string) *AdvertisersChannelsSitesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent channel. func (c *AdvertisersChannelsSitesListCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsSitesListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersChannelsSitesListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsSitesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsSitesListCall) Context(ctx context.Context) *AdvertisersChannelsSitesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsSitesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels/{+channelId}/sites") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.sites.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListSitesResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListSitesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersChannelsSitesReplaceCall struct { s *Service advertiserId int64 channelId int64 replacesitesrequest *ReplaceSitesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Replace: Replaces all of the sites under a single channel. The operation // will replace the sites under a channel with the sites provided in // ReplaceSitesRequest.new_sites. **This method regularly experiences high // latency.** We recommend increasing your default timeout // (/display-video/api/guides/best-practices/timeouts#client_library_timeout) // to avoid errors. // // - advertiserId: The ID of the advertiser that owns the parent channel. // - channelId: The ID of the parent channel whose sites will be replaced. func (r *AdvertisersChannelsSitesService) Replace(advertiserId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *AdvertisersChannelsSitesReplaceCall { c := &AdvertisersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.channelId = channelId c.replacesitesrequest = replacesitesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesReplaceCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersChannelsSitesReplaceCall) Context(ctx context.Context) *AdvertisersChannelsSitesReplaceCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersChannelsSitesReplaceCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:replace") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.channels.sites.replace" call. // Any non-2xx status code is an error. Response headers are in either // *ReplaceSitesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ReplaceSitesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCreativesCreateCall struct { s *Service advertiserId int64 creative *Creative urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new creative. Returns the newly created creative if // successful. A "Standard" user role // (//support.google.com/displayvideo/answer/2723011) or greater for the parent // advertiser or partner is required to make this request. // // - advertiserId: Output only. The unique ID of the advertiser the creative // belongs to. func (r *AdvertisersCreativesService) Create(advertiserId int64, creative *Creative) *AdvertisersCreativesCreateCall { c := &AdvertisersCreativesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.creative = creative return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCreativesCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreativesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCreativesCreateCall) Context(ctx context.Context) *AdvertisersCreativesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCreativesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCreativesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.creatives.create" call. // Any non-2xx status code is an error. Response headers are in either // *Creative.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCreativesCreateCall) Do(opts ...googleapi.CallOption) (*Creative, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Creative{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCreativesDeleteCall struct { s *Service advertiserId int64 creativeId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a creative. Returns error code `NOT_FOUND` if the creative // does not exist. The creative should be archived first, i.e. set // entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A // "Standard" user role (//support.google.com/displayvideo/answer/2723011) or // greater for the parent advertiser or partner is required to make this // request. // // - advertiserId: The ID of the advertiser this creative belongs to. // - creativeId: The ID of the creative to be deleted. func (r *AdvertisersCreativesService) Delete(advertiserId int64, creativeId int64) *AdvertisersCreativesDeleteCall { c := &AdvertisersCreativesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.creativeId = creativeId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCreativesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCreativesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCreativesDeleteCall) Context(ctx context.Context) *AdvertisersCreativesDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCreativesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCreativesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives/{+creativeId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "creativeId": strconv.FormatInt(c.creativeId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.creatives.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCreativesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCreativesGetCall struct { s *Service advertiserId int64 creativeId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a creative. // // - advertiserId: The ID of the advertiser this creative belongs to. // - creativeId: The ID of the creative to fetch. func (r *AdvertisersCreativesService) Get(advertiserId int64, creativeId int64) *AdvertisersCreativesGetCall { c := &AdvertisersCreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.creativeId = creativeId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCreativesGetCall) Fields(s ...googleapi.Field) *AdvertisersCreativesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersCreativesGetCall) IfNoneMatch(entityTag string) *AdvertisersCreativesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCreativesGetCall) Context(ctx context.Context) *AdvertisersCreativesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCreativesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCreativesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives/{+creativeId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "creativeId": strconv.FormatInt(c.creativeId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.creatives.get" call. // Any non-2xx status code is an error. Response headers are in either // *Creative.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Creative{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersCreativesListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists creatives in an advertiser. The order is defined by the order_by // parameter. If a filter by entity_status is not specified, creatives with // `ENTITY_STATUS_ARCHIVED` will not be included in the results. // // - advertiserId: The ID of the advertiser to list creatives for. func (r *AdvertisersCreativesService) List(advertiserId int64) *AdvertisersCreativesListCall { c := &AdvertisersCreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by creative // fields. Supported syntax: * Filter expressions are made up of one or more // restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * The `lineItemIds` field must // use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER // THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All // other fields must use the `EQUALS (=)` operator. * For `entityStatus`, // `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may // be at most one restriction. Supported Fields: * `approvalStatus` * // `creativeId` * `creativeType` * `dimensions` (input in the form of // `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` // (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * // `maxDuration` (input in the form of `{duration}s`. Only seconds are // supported) * `minDuration` (input in the form of `{duration}s`. Only seconds // are supported) * `updateTime` (input in ISO 8601 format, or // `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's // field value reflects the last time that a creative has been updated, which // includes updates made by the system (e.g. creative review updates). // Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE" * // All active creatives with 300x400 or 50x100 dimensions: // `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR // dimensions="50x100")` * All dynamic creatives that are approved by AdX or // AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true" // AND minDuration="5.2s" AND // (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR // exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All // video creatives that are associated with line item ID 1 or 2: // `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` * // Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * // All creatives with an update time greater than or equal to // 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersCreativesListCall) Filter(filter string) *AdvertisersCreativesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `creativeId` (default) * `createTime` * // `mediaDuration` * `dimensions` (sorts by width first, then by height) The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: `createTime // desc`. func (c *AdvertisersCreativesListCall) OrderBy(orderBy string) *AdvertisersCreativesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersCreativesListCall) PageSize(pageSize int64) *AdvertisersCreativesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListCreatives` method. // If not specified, the first page of results will be returned. func (c *AdvertisersCreativesListCall) PageToken(pageToken string) *AdvertisersCreativesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCreativesListCall) Fields(s ...googleapi.Field) *AdvertisersCreativesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersCreativesListCall) IfNoneMatch(entityTag string) *AdvertisersCreativesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCreativesListCall) Context(ctx context.Context) *AdvertisersCreativesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCreativesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCreativesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.creatives.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListCreativesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersCreativesListCall) Do(opts ...googleapi.CallOption) (*ListCreativesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListCreativesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersCreativesListCall) Pages(ctx context.Context, f func(*ListCreativesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersCreativesPatchCall struct { s *Service advertiserId int64 creativeId int64 creative *Creative urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing creative. Returns the updated creative if // successful. A "Standard" user role // (//support.google.com/displayvideo/answer/2723011) or greater for the parent // advertiser or partner is required to make this request. // // - advertiserId: Output only. The unique ID of the advertiser the creative // belongs to. // - creativeId: Output only. The unique ID of the creative. Assigned by the // system. func (r *AdvertisersCreativesService) Patch(advertiserId int64, creativeId int64, creative *Creative) *AdvertisersCreativesPatchCall { c := &AdvertisersCreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.creativeId = creativeId c.creative = creative return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersCreativesPatchCall) UpdateMask(updateMask string) *AdvertisersCreativesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersCreativesPatchCall) Fields(s ...googleapi.Field) *AdvertisersCreativesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersCreativesPatchCall) Context(ctx context.Context) *AdvertisersCreativesPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersCreativesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersCreativesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives/{+creativeId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "creativeId": strconv.FormatInt(c.creativeId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.creatives.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Creative.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersCreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Creative{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersCreateCall struct { s *Service advertiserId int64 insertionorder *InsertionOrder urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new insertion order. Returns the newly created insertion // order if successful. // // - advertiserId: Output only. The unique ID of the advertiser the insertion // order belongs to. func (r *AdvertisersInsertionOrdersService) Create(advertiserId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersCreateCall { c := &AdvertisersInsertionOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionorder = insertionorder return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.create" call. // Any non-2xx status code is an error. Response headers are in either // *InsertionOrder.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersCreateCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InsertionOrder{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersDeleteCall struct { s *Service advertiserId int64 insertionOrderId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an insertion order. Returns error code `NOT_FOUND` if the // insertion order does not exist. The insertion order should be archived // first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to // delete it. // // - advertiserId: The ID of the advertiser this insertion order belongs to. // - insertionOrderId: The ID of the insertion order to delete. func (r *AdvertisersInsertionOrdersService) Delete(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersDeleteCall { c := &AdvertisersInsertionOrdersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersGetCall struct { s *Service advertiserId int64 insertionOrderId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets an insertion order. Returns error code `NOT_FOUND` if the // insertion order does not exist. // // - advertiserId: The ID of the advertiser this insertion order belongs to. // - insertionOrderId: The ID of the insertion order to fetch. func (r *AdvertisersInsertionOrdersService) Get(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersGetCall { c := &AdvertisersInsertionOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersInsertionOrdersGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.get" call. // Any non-2xx status code is an error. Response headers are in either // *InsertionOrder.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersGetCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InsertionOrder{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists insertion orders in an advertiser. The order is defined by the // order_by parameter. If a filter by entity_status is not specified, insertion // orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results. // // - advertiserId: The ID of the advertiser to list insertion orders for. func (r *AdvertisersInsertionOrdersService) List(advertiserId int64) *AdvertisersInsertionOrdersListCall { c := &AdvertisersInsertionOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by insertion // order fields. Supported syntax: * Filter expressions are made up of one or // more restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * The `updateTime` field must // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` // operators. * All other fields must use the `EQUALS (=)` operator. Supported // fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All // insertion orders under a campaign: `campaignId="1234" * All // `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an // advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR // entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update // time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime<="2020-11-04T18:54:47Z" * All insertion orders with an update // time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersInsertionOrdersListCall) Filter(filter string) *AdvertisersInsertionOrdersListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * "displayName" (default) * "entityStatus" * // "updateTime" The default sorting order is ascending. To specify descending // order for a field, a suffix "desc" should be added to the field name. // Example: `displayName desc`. func (c *AdvertisersInsertionOrdersListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `100`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersInsertionOrdersListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListInsertionOrders` // method. If not specified, the first page of results will be returned. func (c *AdvertisersInsertionOrdersListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersInsertionOrdersListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListInsertionOrdersResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrdersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListInsertionOrdersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersInsertionOrdersListCall) Pages(ctx context.Context, f func(*ListInsertionOrdersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersInsertionOrdersListAssignedTargetingOptionsCall struct { s *Service advertiserId int64 insertionOrderId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // ListAssignedTargetingOptions: Lists assigned targeting options of an // insertion order across targeting types. // // - advertiserId: The ID of the advertiser the insertion order belongs to. // - insertionOrderId: The ID of the insertion order to list assigned targeting // options for. func (r *AdvertisersInsertionOrdersService) ListAssignedTargetingOptions(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c := &AdvertisersInsertionOrdersListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the logical // operator `OR`. * A restriction has the form of `{field} {operator} {value}`. // * All fields must use the `EQUALS (=)` operator. Supported fields: * // `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` // resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or // `TARGETING_TYPE_CHANNEL`: // `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR // targetingType="TARGETING_TYPE_CHANNEL" * `AssignedTargetingOption` // resources with inheritance status of `NOT_INHERITED` or // `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `targetingType` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix "desc" // should be added to the field name. Example: `targetingType desc`. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. The // size must be an integer between `1` and `5000`. If unspecified, the default // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is // specified. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token that lets the // client fetch the next page of results. Typically, this is the value of // next_page_token returned from the previous call to // `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, // the first page of results will be returned. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Header // // or (if a response was returned at all) in error.(*googleapi.Error).Header. // // Use googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListInsertionOrderAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkListInsertionOrderAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListInsertionOrderAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersInsertionOrdersPatchCall struct { s *Service advertiserId int64 insertionOrderId int64 insertionorder *InsertionOrder urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing insertion order. Returns the updated insertion // order if successful. // // - advertiserId: Output only. The unique ID of the advertiser the insertion // order belongs to. // - insertionOrderId: Output only. The unique ID of the insertion order. // Assigned by the system. func (r *AdvertisersInsertionOrdersService) Patch(advertiserId int64, insertionOrderId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersPatchCall { c := &AdvertisersInsertionOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId c.insertionorder = insertionorder return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersInsertionOrdersPatchCall) UpdateMask(updateMask string) *AdvertisersInsertionOrdersPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersPatchCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersPatchCall) Context(ctx context.Context) *AdvertisersInsertionOrdersPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.patch" call. // Any non-2xx status code is an error. Response headers are in either // *InsertionOrder.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersPatchCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InsertionOrder{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall struct { s *Service advertiserId int64 insertionOrderId int64 targetingType string assignedtargetingoption *AssignedTargetingOption urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Assigns a targeting option to an insertion order. Returns the // assigned targeting option if successful. Supported targeting types: * // `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` // // - advertiserId: The ID of the advertiser the insertion order belongs to. // - insertionOrderId: The ID of the insertion order the assigned targeting // option will belong to. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * // `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` // - `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, insertionOrderId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall { c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId c.targetingType = targetingType c.assignedtargetingoption = assignedtargetingoption return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall struct { s *Service advertiserId int64 insertionOrderId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an assigned targeting option from an insertion order. // Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * // `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` // // - advertiserId: The ID of the advertiser the insertion order belongs to. // - assignedTargetingOptionId: The ID of the assigned targeting option to // delete. // - insertionOrderId: The ID of the insertion order the assigned targeting // option belongs to. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * // `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` // - `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall { c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall struct { s *Service advertiserId int64 insertionOrderId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single targeting option assigned to an insertion order. // // - advertiserId: The ID of the advertiser the insertion order belongs to. // - assignedTargetingOptionId: An identifier unique to the targeting type in // this insertion order that identifies the assigned targeting option being // requested. // - insertionOrderId: The ID of the insertion order the assigned targeting // option belongs to. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall { c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall struct { s *Service advertiserId int64 insertionOrderId int64 targetingType string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the targeting options assigned to an insertion order. // // - advertiserId: The ID of the advertiser the insertion order belongs to. // - insertionOrderId: The ID of the insertion order to list assigned targeting // options for. // - targetingType: Identifies the type of assigned targeting options to list. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, insertionOrderId int64, targetingType string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.insertionOrderId = insertionOrderId c.targetingType = targetingType return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the logical // operator `OR`. * A restriction has the form of `{field} {operator} {value}`. // * All fields must use the `EQUALS (=)` operator. Supported fields: * // `assignedTargetingOptionId` * `inheritance` Examples: * // `AssignedTargetingOption` resources with ID 1 or 2: // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" * // `AssignedTargetingOption` resources with inheritance status of // `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedTargetingOptionId` (default) The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: // `assignedTargetingOptionId desc`. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `5000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the // first page of results will be returned. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Header or // (if a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrderAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListInsertionOrderAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListInsertionOrderAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersInvoicesListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists invoices posted for an advertiser in a given month. Invoices // generated by billing profiles with a "Partner" invoice level are not // retrievable through this method. // // - advertiserId: The ID of the advertiser to list invoices for. func (r *AdvertisersInvoicesService) List(advertiserId int64) *AdvertisersInvoicesListCall { c := &AdvertisersInvoicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // IssueMonth sets the optional parameter "issueMonth": The month to list the // invoices for. If not set, the request will retrieve invoices for the // previous month. Must be in the format YYYYMM. func (c *AdvertisersInvoicesListCall) IssueMonth(issueMonth string) *AdvertisersInvoicesListCall { c.urlParams_.Set("issueMonth", issueMonth) return c } // LoiSapinInvoiceType sets the optional parameter "loiSapinInvoiceType": // Select type of invoice to retrieve for Loi Sapin advertisers. Only // applicable to Loi Sapin advertisers. Will be ignored otherwise. // // Possible values: // // "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED" - Value is not specified. // "LOI_SAPIN_INVOICE_TYPE_MEDIA" - Invoices with Media cost. // "LOI_SAPIN_INVOICE_TYPE_PLATFORM" - Invoices with Platform fee. func (c *AdvertisersInvoicesListCall) LoiSapinInvoiceType(loiSapinInvoiceType string) *AdvertisersInvoicesListCall { c.urlParams_.Set("loiSapinInvoiceType", loiSapinInvoiceType) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersInvoicesListCall) PageSize(pageSize int64) *AdvertisersInvoicesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListInvoices` method. If // not specified, the first page of results will be returned. func (c *AdvertisersInvoicesListCall) PageToken(pageToken string) *AdvertisersInvoicesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInvoicesListCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersInvoicesListCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInvoicesListCall) Context(ctx context.Context) *AdvertisersInvoicesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInvoicesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInvoicesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/invoices") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.invoices.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListInvoicesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersInvoicesListCall) Do(opts ...googleapi.CallOption) (*ListInvoicesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListInvoicesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersInvoicesListCall) Pages(ctx context.Context, f func(*ListInvoicesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersInvoicesLookupInvoiceCurrencyCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // LookupInvoiceCurrency: Retrieves the invoice currency used by an advertiser // in a given month. // // - advertiserId: The ID of the advertiser to lookup currency for. func (r *AdvertisersInvoicesService) LookupInvoiceCurrency(advertiserId int64) *AdvertisersInvoicesLookupInvoiceCurrencyCall { c := &AdvertisersInvoicesLookupInvoiceCurrencyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // InvoiceMonth sets the optional parameter "invoiceMonth": Month for which the // currency is needed. If not set, the request will return existing currency // settings for the advertiser. Must be in the format YYYYMM. func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) InvoiceMonth(invoiceMonth string) *AdvertisersInvoicesLookupInvoiceCurrencyCall { c.urlParams_.Set("invoiceMonth", invoiceMonth) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesLookupInvoiceCurrencyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesLookupInvoiceCurrencyCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Context(ctx context.Context) *AdvertisersInvoicesLookupInvoiceCurrencyCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.invoices.lookupInvoiceCurrency" call. // Any non-2xx status code is an error. Response headers are in either // *LookupInvoiceCurrencyResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Do(opts ...googleapi.CallOption) (*LookupInvoiceCurrencyResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LookupInvoiceCurrencyResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall struct { s *Service advertiserId int64 bulkeditassignedtargetingoptionsrequest *BulkEditAssignedTargetingOptionsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkEditAssignedTargetingOptions: Bulk edits targeting options under // multiple line items. The operation will delete the assigned targeting // options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests // and then create the assigned targeting options provided in // BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this // endpoint cannot be made concurrently with the following requests updating // the same line item: * lineItems.bulkUpdate * lineItems.patch * // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & // Partners line items cannot be created or updated using the API. // // - advertiserId: The ID of the advertiser the line items belong to. func (r *AdvertisersLineItemsService) BulkEditAssignedTargetingOptions(advertiserId int64, bulkeditassignedtargetingoptionsrequest *BulkEditAssignedTargetingOptionsRequest) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall { c := &AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.bulkeditassignedtargetingoptionsrequest = bulkeditassignedtargetingoptionsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedtargetingoptionsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:bulkEditAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditAssignedTargetingOptionsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsBulkListAssignedTargetingOptionsCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // BulkListAssignedTargetingOptions: Lists assigned targeting options for // multiple line items across targeting types. // // - advertiserId: The ID of the advertiser the line items belongs to. func (r *AdvertisersLineItemsService) BulkListAssignedTargetingOptions(advertiserId int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c := &AdvertisersLineItemsBulkListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the logical // operator `OR` on the same field. * A restriction has the form of `{field} // {operator} {value}`. * All fields must use the `EQUALS (=)` operator. // Supported fields: * `targetingType` * `inheritance` Examples: * // `AssignedTargetingOption` resources of targeting type // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: // `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR // targetingType="TARGETING_TYPE_CHANNEL" * `AssignedTargetingOption` // resources with inheritance status of `NOT_INHERITED` or // `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c.urlParams_.Set("filter", filter) return c } // LineItemIds sets the optional parameter "lineItemIds": Required. The IDs of // the line items to list assigned targeting options for. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) LineItemIds(lineItemIds ...int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { var lineItemIds_ []string for _, v := range lineItemIds { lineItemIds_ = append(lineItemIds_, fmt.Sprint(v)) } c.urlParams_.SetMulti("lineItemIds", lineItemIds_) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `lineItemId` (default) * // `assignedTargetingOption.targetingType` The default sorting order is // ascending. To specify descending order for a field, a suffix "desc" should // be added to the field name. Example: `targetingType desc`. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. The // size must be an integer between `1` and `5000`. If unspecified, the default // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is // specified. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token that lets the // client fetch the next page of results. Typically, this is the value of // next_page_token returned from the previous call to the // `BulkListAssignedTargetingOptions` method. If not specified, the first page // of results will be returned. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:bulkListAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkListAssignedTargetingOptionsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkListAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersLineItemsBulkUpdateCall struct { s *Service advertiserId int64 bulkupdatelineitemsrequest *BulkUpdateLineItemsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkUpdate: Updates multiple line items. Requests to this endpoint cannot be // made concurrently with the following requests updating the same line item: * // BulkEditAssignedTargetingOptions * UpdateLineItem * // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & // Partners line items cannot be created or updated using the API. // // - advertiserId: The ID of the advertiser this line item belongs to. func (r *AdvertisersLineItemsService) BulkUpdate(advertiserId int64, bulkupdatelineitemsrequest *BulkUpdateLineItemsRequest) *AdvertisersLineItemsBulkUpdateCall { c := &AdvertisersLineItemsBulkUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.bulkupdatelineitemsrequest = bulkupdatelineitemsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsBulkUpdateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsBulkUpdateCall) Context(ctx context.Context) *AdvertisersLineItemsBulkUpdateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsBulkUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsBulkUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkupdatelineitemsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:bulkUpdate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.bulkUpdate" call. // Any non-2xx status code is an error. Response headers are in either // *BulkUpdateLineItemsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLineItemsBulkUpdateCall) Do(opts ...googleapi.CallOption) (*BulkUpdateLineItemsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkUpdateLineItemsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsCreateCall struct { s *Service advertiserId int64 lineitem *LineItem urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new line item. Returns the newly created line item if // successful. YouTube & Partners line items cannot be created or updated using // the API. // // - advertiserId: Output only. The unique ID of the advertiser the line item // belongs to. func (r *AdvertisersLineItemsService) Create(advertiserId int64, lineitem *LineItem) *AdvertisersLineItemsCreateCall { c := &AdvertisersLineItemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineitem = lineitem return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.create" call. // Any non-2xx status code is an error. Response headers are in either // *LineItem.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLineItemsCreateCall) Do(opts ...googleapi.CallOption) (*LineItem, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LineItem{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsDeleteCall struct { s *Service advertiserId int64 lineItemId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a line item. Returns error code `NOT_FOUND` if the line item // does not exist. The line item should be archived first, i.e. set // entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. YouTube // & Partners line items cannot be created or updated using the API. // // - advertiserId: The ID of the advertiser this line item belongs to. // - lineItemId: The ID of the line item to delete. func (r *AdvertisersLineItemsService) Delete(advertiserId int64, lineItemId int64) *AdvertisersLineItemsDeleteCall { c := &AdvertisersLineItemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLineItemsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsDuplicateCall struct { s *Service advertiserId int64 lineItemId int64 duplicatelineitemrequest *DuplicateLineItemRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Duplicate: Duplicates a line item. Returns the ID of the created line item // if successful. YouTube & Partners line items cannot be created or updated // using the API. **This method regularly experiences high latency.** We // recommend increasing your default timeout // (/display-video/api/guides/best-practices/timeouts#client_library_timeout) // to avoid errors. // // - advertiserId: The ID of the advertiser this line item belongs to. // - lineItemId: The ID of the line item to duplicate. func (r *AdvertisersLineItemsService) Duplicate(advertiserId int64, lineItemId int64, duplicatelineitemrequest *DuplicateLineItemRequest) *AdvertisersLineItemsDuplicateCall { c := &AdvertisersLineItemsDuplicateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId c.duplicatelineitemrequest = duplicatelineitemrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsDuplicateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDuplicateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsDuplicateCall) Context(ctx context.Context) *AdvertisersLineItemsDuplicateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsDuplicateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsDuplicateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.duplicatelineitemrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}:duplicate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.duplicate" call. // Any non-2xx status code is an error. Response headers are in either // *DuplicateLineItemResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLineItemsDuplicateCall) Do(opts ...googleapi.CallOption) (*DuplicateLineItemResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &DuplicateLineItemResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsGenerateDefaultCall struct { s *Service advertiserId int64 generatedefaultlineitemrequest *GenerateDefaultLineItemRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // GenerateDefault: Creates a new line item with settings (including targeting) // inherited from the insertion order and an `ENTITY_STATUS_DRAFT` // entity_status. Returns the newly created line item if successful. There are // default values based on the three fields: * The insertion order's // insertion_order_type * The insertion order's automation_type * The given // line_item_type YouTube & Partners line items cannot be created or updated // using the API. // // - advertiserId: The ID of the advertiser this line item belongs to. func (r *AdvertisersLineItemsService) GenerateDefault(advertiserId int64, generatedefaultlineitemrequest *GenerateDefaultLineItemRequest) *AdvertisersLineItemsGenerateDefaultCall { c := &AdvertisersLineItemsGenerateDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.generatedefaultlineitemrequest = generatedefaultlineitemrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsGenerateDefaultCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGenerateDefaultCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsGenerateDefaultCall) Context(ctx context.Context) *AdvertisersLineItemsGenerateDefaultCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsGenerateDefaultCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsGenerateDefaultCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatedefaultlineitemrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:generateDefault") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.generateDefault" call. // Any non-2xx status code is an error. Response headers are in either // *LineItem.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLineItemsGenerateDefaultCall) Do(opts ...googleapi.CallOption) (*LineItem, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LineItem{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsGetCall struct { s *Service advertiserId int64 lineItemId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a line item. // // - advertiserId: The ID of the advertiser this line item belongs to. // - lineItemId: The ID of the line item to fetch. func (r *AdvertisersLineItemsService) Get(advertiserId int64, lineItemId int64) *AdvertisersLineItemsGetCall { c := &AdvertisersLineItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLineItemsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsGetCall) Context(ctx context.Context) *AdvertisersLineItemsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.get" call. // Any non-2xx status code is an error. Response headers are in either // *LineItem.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLineItemsGetCall) Do(opts ...googleapi.CallOption) (*LineItem, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LineItem{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists line items in an advertiser. The order is defined by the // order_by parameter. If a filter by entity_status is not specified, line // items with `ENTITY_STATUS_ARCHIVED` will not be included in the results. // // - advertiserId: The ID of the advertiser to list line items for. func (r *AdvertisersLineItemsService) List(advertiserId int64) *AdvertisersLineItemsListCall { c := &AdvertisersLineItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by line item // fields. Supported syntax: * Filter expressions are made up of one or more // restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * The `updateTime` field must // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` // operators. * All other fields must use the `EQUALS (=)` operator. Supported // fields: * `campaignId` * `displayName` * `entityStatus` * `insertionOrderId` // * `lineItemId` * `lineItemType` * `updateTime` (input in ISO 8601 format, or // `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under an insertion order: // `insertionOrderId="1234" * All `ENTITY_STATUS_ACTIVE` or // `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under // an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR // entityStatus="ENTITY_STATUS_PAUSED") AND // lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" * All line items with an // update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime<="2020-11-04T18:54:47Z" * All line items with an update time // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersLineItemsListCall) Filter(filter string) *AdvertisersLineItemsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `entityStatus` * // `updateTime` The default sorting order is ascending. To specify descending // order for a field, a suffix "desc" should be added to the field name. // Example: `displayName desc`. func (c *AdvertisersLineItemsListCall) OrderBy(orderBy string) *AdvertisersLineItemsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersLineItemsListCall) PageSize(pageSize int64) *AdvertisersLineItemsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListLineItems` method. // If not specified, the first page of results will be returned. func (c *AdvertisersLineItemsListCall) PageToken(pageToken string) *AdvertisersLineItemsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLineItemsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsListCall) Context(ctx context.Context) *AdvertisersLineItemsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListLineItemsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersLineItemsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListLineItemsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersLineItemsListCall) Pages(ctx context.Context, f func(*ListLineItemsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersLineItemsPatchCall struct { s *Service advertiserId int64 lineItemId int64 lineitem *LineItem urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing line item. Returns the updated line item if // successful. Requests to this endpoint cannot be made concurrently with the // following requests updating the same line item: * // BulkEditAssignedTargetingOptions * BulkUpdateLineItems * // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & // Partners line items cannot be created or updated using the API. **This // method regularly experiences high latency.** We recommend increasing your // default timeout // (/display-video/api/guides/best-practices/timeouts#client_library_timeout) // to avoid errors. // // - advertiserId: Output only. The unique ID of the advertiser the line item // belongs to. // - lineItemId: Output only. The unique ID of the line item. Assigned by the // system. func (r *AdvertisersLineItemsService) Patch(advertiserId int64, lineItemId int64, lineitem *LineItem) *AdvertisersLineItemsPatchCall { c := &AdvertisersLineItemsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId c.lineitem = lineitem return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersLineItemsPatchCall) UpdateMask(updateMask string) *AdvertisersLineItemsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsPatchCall) Context(ctx context.Context) *AdvertisersLineItemsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.patch" call. // Any non-2xx status code is an error. Response headers are in either // *LineItem.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLineItemsPatchCall) Do(opts ...googleapi.CallOption) (*LineItem, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LineItem{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall struct { s *Service advertiserId int64 lineItemId int64 targetingType string assignedtargetingoption *AssignedTargetingOption urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Assigns a targeting option to a line item. Returns the assigned // targeting option if successful. Requests to this endpoint cannot be made // concurrently with the following requests updating the same line item: * // lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * // lineItems.patch * DeleteLineItemAssignedTargetingOption YouTube & Partners // line items cannot be created or updated using the API. // // - advertiserId: The ID of the advertiser the line item belongs to. // - lineItemId: The ID of the line item the assigned targeting option will // belong to. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, lineItemId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall { c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId c.targetingType = targetingType c.assignedtargetingoption = assignedtargetingoption return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall struct { s *Service advertiserId int64 lineItemId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an assigned targeting option from a line item. Requests to // this endpoint cannot be made concurrently with the following requests // updating the same line item: * lineItems.bulkEditAssignedTargetingOptions * // lineItems.bulkUpdate * lineItems.patch * // CreateLineItemAssignedTargetingOption YouTube & Partners line items cannot // be created or updated using the API. // // - advertiserId: The ID of the advertiser the line item belongs to. // - assignedTargetingOptionId: The ID of the assigned targeting option to // delete. // - lineItemId: The ID of the line item the assigned targeting option belongs // to. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`. func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall { c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall struct { s *Service advertiserId int64 lineItemId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single targeting option assigned to a line item. // // - advertiserId: The ID of the advertiser the line item belongs to. // - assignedTargetingOptionId: An identifier unique to the targeting type in // this line item that identifies the assigned targeting option being // requested. // - lineItemId: The ID of the line item the assigned targeting option belongs // to. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * // `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for // `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * // `TARGETING_TYPE_YOUTUBE_VIDEO` (only for // `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items). func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall { c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall struct { s *Service advertiserId int64 lineItemId int64 targetingType string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the targeting options assigned to a line item. // // - advertiserId: The ID of the advertiser the line item belongs to. // - lineItemId: The ID of the line item to list assigned targeting options // for. // - targetingType: Identifies the type of assigned targeting options to list. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * // `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * // `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * // `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * // `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * // `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * // `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * // `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for // `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * // `TARGETING_TYPE_YOUTUBE_VIDEO` (only for // `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items). func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, lineItemId int64, targetingType string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.lineItemId = lineItemId c.targetingType = targetingType return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the logical // operator `OR`. * A restriction has the form of `{field} {operator} {value}`. // * All fields must use the `EQUALS (=)` operator. Supported fields: * // `assignedTargetingOptionId` * `inheritance` Examples: * // `AssignedTargetingOption` resources with ID 1 or 2: // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" * // `AssignedTargetingOption` resources with inheritance status of // `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedTargetingOptionId` (default) The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: // `assignedTargetingOptionId desc`. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `5000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListLineItemAssignedTargetingOptions` method. If not specified, the first // page of results will be returned. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "lineItemId": strconv.FormatInt(c.lineItemId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListLineItemAssignedTargetingOptionsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListLineItemAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListLineItemAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersLocationListsCreateCall struct { s *Service advertiserId int64 locationlist *LocationList urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new location list. Returns the newly created location list // if successful. // // - advertiserId: The ID of the DV360 advertiser to which the location list // belongs. func (r *AdvertisersLocationListsService) Create(advertiserId int64, locationlist *LocationList) *AdvertisersLocationListsCreateCall { c := &AdvertisersLocationListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.locationlist = locationlist return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.create" call. // Any non-2xx status code is an error. Response headers are in either // *LocationList.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLocationListsCreateCall) Do(opts ...googleapi.CallOption) (*LocationList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LocationList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLocationListsGetCall struct { s *Service advertiserId int64 locationListId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a location list. // // - advertiserId: The ID of the DV360 advertiser to which the fetched location // list belongs. // - locationListId: The ID of the location list to fetch. func (r *AdvertisersLocationListsService) Get(advertiserId int64, locationListId int64) *AdvertisersLocationListsGetCall { c := &AdvertisersLocationListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.locationListId = locationListId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsGetCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLocationListsGetCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsGetCall) Context(ctx context.Context) *AdvertisersLocationListsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists/{+locationListId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "locationListId": strconv.FormatInt(c.locationListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.get" call. // Any non-2xx status code is an error. Response headers are in either // *LocationList.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLocationListsGetCall) Do(opts ...googleapi.CallOption) (*LocationList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LocationList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLocationListsListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists location lists based on a given advertiser id. // // - advertiserId: The ID of the DV360 advertiser to which the fetched location // lists belong. func (r *AdvertisersLocationListsService) List(advertiserId int64) *AdvertisersLocationListsListCall { c := &AdvertisersLocationListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by location // list fields. Supported syntax: * Filter expressions are made up of one or // more restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * All fields must use the // `EQUALS (=)` operator. Supported fields: * `locationType` Examples: * All // regional location list: `locationType="TARGETING_LOCATION_TYPE_REGIONAL" * // All proximity location list: // `locationType="TARGETING_LOCATION_TYPE_PROXIMITY" The length of this field // should be no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersLocationListsListCall) Filter(filter string) *AdvertisersLocationListsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `locationListId` (default) * `displayName` // The default sorting order is ascending. To specify descending order for a // field, a suffix "desc" should be added to the field name. Example: // `displayName desc`. func (c *AdvertisersLocationListsListCall) OrderBy(orderBy string) *AdvertisersLocationListsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. Defaults to `100` if not set. Returns error code // `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersLocationListsListCall) PageSize(pageSize int64) *AdvertisersLocationListsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListLocationLists` // method. If not specified, the first page of results will be returned. func (c *AdvertisersLocationListsListCall) PageToken(pageToken string) *AdvertisersLocationListsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLocationListsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsListCall) Context(ctx context.Context) *AdvertisersLocationListsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListLocationListsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLocationListsListCall) Do(opts ...googleapi.CallOption) (*ListLocationListsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListLocationListsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersLocationListsListCall) Pages(ctx context.Context, f func(*ListLocationListsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersLocationListsPatchCall struct { s *Service advertiserId int64 locationListId int64 locationlist *LocationList urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a location list. Returns the updated location list if // successful. // // - advertiserId: The ID of the DV360 advertiser to which the location lists // belongs. // - locationListId: Output only. The unique ID of the location list. Assigned // by the system. func (r *AdvertisersLocationListsService) Patch(advertiserId int64, locationListId int64, locationlist *LocationList) *AdvertisersLocationListsPatchCall { c := &AdvertisersLocationListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.locationListId = locationListId c.locationlist = locationlist return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersLocationListsPatchCall) UpdateMask(updateMask string) *AdvertisersLocationListsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsPatchCall) Context(ctx context.Context) *AdvertisersLocationListsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists/{locationListId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "locationListId": strconv.FormatInt(c.locationListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.patch" call. // Any non-2xx status code is an error. Response headers are in either // *LocationList.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLocationListsPatchCall) Do(opts ...googleapi.CallOption) (*LocationList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &LocationList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLocationListsAssignedLocationsBulkEditCall struct { s *Service advertiserId int64 locationListId int64 bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkEdit: Bulk edits multiple assignments between locations and a single // location list. The operation will delete the assigned locations provided in // deletedAssignedLocations and then create the assigned locations provided in // createdAssignedLocations. // // - advertiserId: The ID of the DV360 advertiser to which the location list // belongs. // - locationListId: The ID of the location list to which these assignments are // assigned. func (r *AdvertisersLocationListsAssignedLocationsService) BulkEdit(advertiserId int64, locationListId int64, bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest) *AdvertisersLocationListsAssignedLocationsBulkEditCall { c := &AdvertisersLocationListsAssignedLocationsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.locationListId = locationListId c.bulkeditassignedlocationsrequest = bulkeditassignedlocationsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsBulkEditCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsBulkEditCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedlocationsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "locationListId": strconv.FormatInt(c.locationListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditAssignedLocationsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedLocationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditAssignedLocationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLocationListsAssignedLocationsCreateCall struct { s *Service advertiserId int64 locationListId int64 assignedlocation *AssignedLocation urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates an assignment between a location and a location list. // // - advertiserId: The ID of the DV360 advertiser to which the location list // belongs. // - locationListId: The ID of the location list for which the assignment will // be created. func (r *AdvertisersLocationListsAssignedLocationsService) Create(advertiserId int64, locationListId int64, assignedlocation *AssignedLocation) *AdvertisersLocationListsAssignedLocationsCreateCall { c := &AdvertisersLocationListsAssignedLocationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.locationListId = locationListId c.assignedlocation = assignedlocation return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsAssignedLocationsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedlocation) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "locationListId": strconv.FormatInt(c.locationListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.create" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedLocation.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedLocation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedLocation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLocationListsAssignedLocationsDeleteCall struct { s *Service advertiserId int64 locationListId int64 assignedLocationId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes the assignment between a location and a location list. // // - advertiserId: The ID of the DV360 advertiser to which the location list // belongs. // - assignedLocationId: The ID of the assigned location to delete. // - locationListId: The ID of the location list to which this assignment is // assigned. func (r *AdvertisersLocationListsAssignedLocationsService) Delete(advertiserId int64, locationListId int64, assignedLocationId int64) *AdvertisersLocationListsAssignedLocationsDeleteCall { c := &AdvertisersLocationListsAssignedLocationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.locationListId = locationListId c.assignedLocationId = assignedLocationId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "locationListId": strconv.FormatInt(c.locationListId, 10), "assignedLocationId": strconv.FormatInt(c.assignedLocationId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersLocationListsAssignedLocationsListCall struct { s *Service advertiserId int64 locationListId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists locations assigned to a location list. // // - advertiserId: The ID of the DV360 advertiser to which the location list // belongs. // - locationListId: The ID of the location list to which these assignments are // assigned. func (r *AdvertisersLocationListsAssignedLocationsService) List(advertiserId int64, locationListId int64) *AdvertisersLocationListsAssignedLocationsListCall { c := &AdvertisersLocationListsAssignedLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.locationListId = locationListId return c } // Filter sets the optional parameter "filter": Allows filtering by location // list assignment fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the `OR` // logical operator. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: // * `assignedLocationId` The length of this field should be no more than 500 // characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersLocationListsAssignedLocationsListCall) Filter(filter string) *AdvertisersLocationListsAssignedLocationsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedLocationId` (default) The default // sorting order is ascending. To specify descending order for a field, a // suffix " desc" should be added to the field name. Example: // `assignedLocationId desc`. func (c *AdvertisersLocationListsAssignedLocationsListCall) OrderBy(orderBy string) *AdvertisersLocationListsAssignedLocationsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersLocationListsAssignedLocationsListCall) PageSize(pageSize int64) *AdvertisersLocationListsAssignedLocationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListAssignedLocations` // method. If not specified, the first page of results will be returned. func (c *AdvertisersLocationListsAssignedLocationsListCall) PageToken(pageToken string) *AdvertisersLocationListsAssignedLocationsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersLocationListsAssignedLocationsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersLocationListsAssignedLocationsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsAssignedLocationsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersLocationListsAssignedLocationsListCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersLocationListsAssignedLocationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersLocationListsAssignedLocationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "locationListId": strconv.FormatInt(c.locationListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListAssignedLocationsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersLocationListsAssignedLocationsListCall) Do(opts ...googleapi.CallOption) (*ListAssignedLocationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListAssignedLocationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersLocationListsAssignedLocationsListCall) Pages(ctx context.Context, f func(*ListAssignedLocationsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersManualTriggersActivateCall struct { s *Service advertiserId int64 triggerId int64 activatemanualtriggerrequest *ActivateManualTriggerRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Activate: Activates a manual trigger. Each activation of the manual trigger // must be at least 5 minutes apart, otherwise an error will be returned. // **Warning:** Line Items using manual triggers no longer serve in Display & // Video 360. This method will sunset on August 1, 2023. Read our feature // deprecation announcement // (/display-video/api/deprecations#features.manual_triggers) for more // information. // // - advertiserId: The ID of the advertiser that the manual trigger belongs. // - triggerId: The ID of the manual trigger to activate. func (r *AdvertisersManualTriggersService) Activate(advertiserId int64, triggerId int64, activatemanualtriggerrequest *ActivateManualTriggerRequest) *AdvertisersManualTriggersActivateCall { c := &AdvertisersManualTriggersActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.triggerId = triggerId c.activatemanualtriggerrequest = activatemanualtriggerrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersManualTriggersActivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersActivateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersManualTriggersActivateCall) Context(ctx context.Context) *AdvertisersManualTriggersActivateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersManualTriggersActivateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersManualTriggersActivateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.activatemanualtriggerrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "triggerId": strconv.FormatInt(c.triggerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.manualTriggers.activate" call. // Any non-2xx status code is an error. Response headers are in either // *ManualTrigger.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersManualTriggersActivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ManualTrigger{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersManualTriggersCreateCall struct { s *Service advertiserId int64 manualtrigger *ManualTrigger urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new manual trigger. Returns the newly created manual // trigger if successful. **Warning:** Line Items using manual triggers no // longer serve in Display & Video 360. This method will sunset on August 1, // 2023. Read our feature deprecation announcement // (/display-video/api/deprecations#features.manual_triggers) for more // information. // // - advertiserId: Immutable. The unique ID of the advertiser that the manual // trigger belongs to. func (r *AdvertisersManualTriggersService) Create(advertiserId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersCreateCall { c := &AdvertisersManualTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.manualtrigger = manualtrigger return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersManualTriggersCreateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersManualTriggersCreateCall) Context(ctx context.Context) *AdvertisersManualTriggersCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersManualTriggersCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersManualTriggersCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.manualTriggers.create" call. // Any non-2xx status code is an error. Response headers are in either // *ManualTrigger.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersManualTriggersCreateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ManualTrigger{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersManualTriggersDeactivateCall struct { s *Service advertiserId int64 triggerId int64 deactivatemanualtriggerrequest *DeactivateManualTriggerRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Deactivate: Deactivates a manual trigger. **Warning:** Line Items using // manual triggers no longer serve in Display & Video 360. This method will // sunset on August 1, 2023. Read our feature deprecation announcement // (/display-video/api/deprecations#features.manual_triggers) for more // information. // // - advertiserId: The ID of the advertiser that the manual trigger belongs. // - triggerId: The ID of the manual trigger to deactivate. func (r *AdvertisersManualTriggersService) Deactivate(advertiserId int64, triggerId int64, deactivatemanualtriggerrequest *DeactivateManualTriggerRequest) *AdvertisersManualTriggersDeactivateCall { c := &AdvertisersManualTriggersDeactivateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.triggerId = triggerId c.deactivatemanualtriggerrequest = deactivatemanualtriggerrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersManualTriggersDeactivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersDeactivateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersManualTriggersDeactivateCall) Context(ctx context.Context) *AdvertisersManualTriggersDeactivateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersManualTriggersDeactivateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersManualTriggersDeactivateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.deactivatemanualtriggerrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "triggerId": strconv.FormatInt(c.triggerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.manualTriggers.deactivate" call. // Any non-2xx status code is an error. Response headers are in either // *ManualTrigger.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersManualTriggersDeactivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ManualTrigger{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersManualTriggersGetCall struct { s *Service advertiserId int64 triggerId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a manual trigger. **Warning:** Line Items using manual triggers no // longer serve in Display & Video 360. This method will sunset on August 1, // 2023. Read our feature deprecation announcement // (/display-video/api/deprecations#features.manual_triggers) for more // information. // // - advertiserId: The ID of the advertiser this manual trigger belongs to. // - triggerId: The ID of the manual trigger to fetch. func (r *AdvertisersManualTriggersService) Get(advertiserId int64, triggerId int64) *AdvertisersManualTriggersGetCall { c := &AdvertisersManualTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.triggerId = triggerId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersManualTriggersGetCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersManualTriggersGetCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersManualTriggersGetCall) Context(ctx context.Context) *AdvertisersManualTriggersGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersManualTriggersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersManualTriggersGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "triggerId": strconv.FormatInt(c.triggerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.manualTriggers.get" call. // Any non-2xx status code is an error. Response headers are in either // *ManualTrigger.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersManualTriggersGetCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ManualTrigger{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersManualTriggersListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists manual triggers that are accessible to the current user for a // given advertiser ID. The order is defined by the order_by parameter. A // single advertiser_id is required. **Warning:** Line Items using manual // triggers no longer serve in Display & Video 360. This method will sunset on // August 1, 2023. Read our feature deprecation announcement // (/display-video/api/deprecations#features.manual_triggers) for more // information. // // - advertiserId: The ID of the advertiser that the fetched manual triggers // belong to. func (r *AdvertisersManualTriggersService) List(advertiserId int64) *AdvertisersManualTriggersListCall { c := &AdvertisersManualTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by manual // trigger fields. Supported syntax: * Filter expressions are made up of one or // more restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * All fields must use the // `EQUALS (=)` operator. Supported fields: * `displayName` * `state` Examples: // * All active manual triggers under an advertiser: `state="ACTIVE" The // length of this field should be no more than 500 characters. Reference our // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for // more information. func (c *AdvertisersManualTriggersListCall) Filter(filter string) *AdvertisersManualTriggersListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `state` The default // sorting order is ascending. To specify descending order for a field, a // suffix "desc" should be added to the field name. For example, `displayName // desc`. func (c *AdvertisersManualTriggersListCall) OrderBy(orderBy string) *AdvertisersManualTriggersListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *AdvertisersManualTriggersListCall) PageSize(pageSize int64) *AdvertisersManualTriggersListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListManualTriggers` // method. If not specified, the first page of results will be returned. func (c *AdvertisersManualTriggersListCall) PageToken(pageToken string) *AdvertisersManualTriggersListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersManualTriggersListCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersManualTriggersListCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersManualTriggersListCall) Context(ctx context.Context) *AdvertisersManualTriggersListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersManualTriggersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersManualTriggersListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.manualTriggers.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListManualTriggersResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersManualTriggersListCall) Do(opts ...googleapi.CallOption) (*ListManualTriggersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListManualTriggersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersManualTriggersListCall) Pages(ctx context.Context, f func(*ListManualTriggersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersManualTriggersPatchCall struct { s *Service advertiserId int64 triggerId int64 manualtrigger *ManualTrigger urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a manual trigger. Returns the updated manual trigger if // successful. **Warning:** Line Items using manual triggers no longer serve in // Display & Video 360. This method will sunset on August 1, 2023. Read our // feature deprecation announcement // (/display-video/api/deprecations#features.manual_triggers) for more // information. // // - advertiserId: Immutable. The unique ID of the advertiser that the manual // trigger belongs to. // - triggerId: Output only. The unique ID of the manual trigger. func (r *AdvertisersManualTriggersService) Patch(advertiserId int64, triggerId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersPatchCall { c := &AdvertisersManualTriggersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.triggerId = triggerId c.manualtrigger = manualtrigger return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersManualTriggersPatchCall) UpdateMask(updateMask string) *AdvertisersManualTriggersPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersManualTriggersPatchCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersManualTriggersPatchCall) Context(ctx context.Context) *AdvertisersManualTriggersPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersManualTriggersPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersManualTriggersPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "triggerId": strconv.FormatInt(c.triggerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.manualTriggers.patch" call. // Any non-2xx status code is an error. Response headers are in either // *ManualTrigger.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersManualTriggersPatchCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ManualTrigger{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsCreateCall struct { s *Service advertiserId int64 negativekeywordlist *NegativeKeywordList urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new negative keyword list. Returns the newly created // negative keyword list if successful. // // - advertiserId: The ID of the DV360 advertiser to which the negative keyword // list will belong. func (r *AdvertisersNegativeKeywordListsService) Create(advertiserId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsCreateCall { c := &AdvertisersNegativeKeywordListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativekeywordlist = negativekeywordlist return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.create" call. // Any non-2xx status code is an error. Response headers are in either // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersNegativeKeywordListsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NegativeKeywordList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsDeleteCall struct { s *Service advertiserId int64 negativeKeywordListId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a negative keyword list given an advertiser ID and a // negative keyword list ID. // // - advertiserId: The ID of the DV360 advertiser to which the negative keyword // list belongs. // - negativeKeywordListId: The ID of the negative keyword list to delete. func (r *AdvertisersNegativeKeywordListsService) Delete(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsDeleteCall { c := &AdvertisersNegativeKeywordListsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersNegativeKeywordListsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsGetCall struct { s *Service advertiserId int64 negativeKeywordListId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a negative keyword list given an advertiser ID and a negative // keyword list ID. // // - advertiserId: The ID of the DV360 advertiser to which the fetched negative // keyword list belongs. // - negativeKeywordListId: The ID of the negative keyword list to fetch. func (r *AdvertisersNegativeKeywordListsService) Get(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsGetCall { c := &AdvertisersNegativeKeywordListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsGetCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersNegativeKeywordListsGetCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsGetCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.get" call. // Any non-2xx status code is an error. Response headers are in either // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersNegativeKeywordListsGetCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NegativeKeywordList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists negative keyword lists based on a given advertiser id. // // - advertiserId: The ID of the DV360 advertiser to which the fetched negative // keyword lists belong. func (r *AdvertisersNegativeKeywordListsService) List(advertiserId int64) *AdvertisersNegativeKeywordListsListCall { c := &AdvertisersNegativeKeywordListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. Defaults to `100` if not set. Returns error code // `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersNegativeKeywordListsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListNegativeKeywordLists` method. If not specified, the first page of // results will be returned. func (c *AdvertisersNegativeKeywordListsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersNegativeKeywordListsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListNegativeKeywordListsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersNegativeKeywordListsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordListsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListNegativeKeywordListsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersNegativeKeywordListsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordListsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersNegativeKeywordListsPatchCall struct { s *Service advertiserId int64 negativeKeywordListId int64 negativekeywordlist *NegativeKeywordList urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a negative keyword list. Returns the updated negative keyword // list if successful. // // - advertiserId: The ID of the DV360 advertiser to which the negative keyword // list belongs. // - negativeKeywordListId: Output only. The unique ID of the negative keyword // list. Assigned by the system. func (r *AdvertisersNegativeKeywordListsService) Patch(advertiserId int64, negativeKeywordListId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsPatchCall { c := &AdvertisersNegativeKeywordListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId c.negativekeywordlist = negativekeywordlist return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *AdvertisersNegativeKeywordListsPatchCall) UpdateMask(updateMask string) *AdvertisersNegativeKeywordListsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsPatchCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.patch" call. // Any non-2xx status code is an error. Response headers are in either // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersNegativeKeywordListsPatchCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NegativeKeywordList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall struct { s *Service advertiserId int64 negativeKeywordListId int64 bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkEdit: Bulk edits negative keywords in a single negative keyword list. // The operation will delete the negative keywords provided in // BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create // the negative keywords provided in // BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation is // guaranteed to be atomic and will never result in a partial success or // partial failure. // // - advertiserId: The ID of the DV360 advertiser to which the parent negative // keyword list belongs. // - negativeKeywordListId: The ID of the parent negative keyword list to which // the negative keywords belong. func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) BulkEdit(advertiserId int64, negativeKeywordListId int64, bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall { c := &AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId c.bulkeditnegativekeywordsrequest = bulkeditnegativekeywordsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditnegativekeywordsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditNegativeKeywordsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditNegativeKeywordsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditNegativeKeywordsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall struct { s *Service advertiserId int64 negativeKeywordListId int64 negativekeyword *NegativeKeyword urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a negative keyword in a negative keyword list. // // - advertiserId: The ID of the DV360 advertiser to which the parent negative // keyword list belongs. // - negativeKeywordListId: The ID of the parent negative keyword list in which // the negative keyword will be created. func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Create(advertiserId int64, negativeKeywordListId int64, negativekeyword *NegativeKeyword) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall { c := &AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId c.negativekeyword = negativekeyword return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeyword) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create" call. // Any non-2xx status code is an error. Response headers are in either // *NegativeKeyword.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeyword, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NegativeKeyword{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall struct { s *Service advertiserId int64 negativeKeywordListId int64 keywordValue string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a negative keyword from a negative keyword list. // // - advertiserId: The ID of the DV360 advertiser to which the parent negative // keyword list belongs. // - keywordValue: The keyword value of the negative keyword to delete. // - negativeKeywordListId: The ID of the parent negative keyword list to which // the negative keyword belongs. func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Delete(advertiserId int64, negativeKeywordListId int64, keywordValue string) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall { c := &AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId c.keywordValue = keywordValue return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), "keywordValue": c.keywordValue, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersNegativeKeywordListsNegativeKeywordsListCall struct { s *Service advertiserId int64 negativeKeywordListId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists negative keywords in a negative keyword list. // // - advertiserId: The ID of the DV360 advertiser to which the parent negative // keyword list belongs. // - negativeKeywordListId: The ID of the parent negative keyword list to which // the requested negative keywords belong. func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) List(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c := &AdvertisersNegativeKeywordListsNegativeKeywordsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId return c } // Filter sets the optional parameter "filter": Allows filtering by negative // keyword fields. Supported syntax: * Filter expressions for negative keywords // can only contain at most one restriction. * A restriction has the form of // `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. // Supported fields: * `keywordValue` Examples: * All negative keywords for // which the keyword value contains "google": `keywordValue : "google" The // length of this field should be no more than 500 characters. Reference our // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for // more information. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Filter(filter string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `keywordValue` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix " // desc" should be added to the field name. Example: `keywordValue desc`. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) OrderBy(orderBy string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `1000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListNegativeKeywords` // method. If not specified, the first page of results will be returned. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListNegativeKeywordsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListNegativeKeywordsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall struct { s *Service advertiserId int64 negativeKeywordListId int64 replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Replace: Replaces all negative keywords in a single negative keyword list. // The operation will replace the keywords in a negative keyword list with // keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords. // // - advertiserId: The ID of the DV360 advertiser to which the parent negative // keyword list belongs. // - negativeKeywordListId: The ID of the parent negative keyword list to which // the negative keywords belong. func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Replace(advertiserId int64, negativeKeywordListId int64, replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall { c := &AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.negativeKeywordListId = negativeKeywordListId c.replacenegativekeywordsrequest = replacenegativekeywordsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacenegativekeywordsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace" call. // Any non-2xx status code is an error. Response headers are in either // *ReplaceNegativeKeywordsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceNegativeKeywordsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ReplaceNegativeKeywordsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall struct { s *Service advertiserId int64 targetingType string assignedtargetingoption *AssignedTargetingOption urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Assigns a targeting option to an advertiser. Returns the assigned // targeting option if successful. // // - advertiserId: The ID of the advertiser. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`. func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall { c := &AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.targetingType = targetingType c.assignedtargetingoption = assignedtargetingoption return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall struct { s *Service advertiserId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an assigned targeting option from an advertiser. // // - advertiserId: The ID of the advertiser. // - assignedTargetingOptionId: The ID of the assigned targeting option to // delete. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`. func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall { c := &AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersTargetingTypesAssignedTargetingOptionsGetCall struct { s *Service advertiserId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single targeting option assigned to an advertiser. // // - advertiserId: The ID of the advertiser. // - assignedTargetingOptionId: An identifier unique to the targeting type in // this advertiser that identifies the assigned targeting option being // requested. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`. func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall { c := &AdvertisersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersTargetingTypesAssignedTargetingOptionsListCall struct { s *Service advertiserId int64 targetingType string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the targeting options assigned to an advertiser. // // - advertiserId: The ID of the advertiser. // - targetingType: Identifies the type of assigned targeting options to list. // Supported targeting types: * `TARGETING_TYPE_CHANNEL` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * // `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`. func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, targetingType string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c := &AdvertisersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.targetingType = targetingType return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the `OR` // logical operator. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: // * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` with ID // 123456: `assignedTargetingOptionId="123456" The length of this field should // be no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedTargetingOptionId` (default) The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: // `assignedTargetingOptionId desc`. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `5000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListAdvertiserAssignedTargetingOptions` method. If not specified, the first // page of results will be returned. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or (if // a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListAdvertiserAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListAdvertiserAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListAdvertiserAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersYoutubeAdGroupAdsGetCall struct { s *Service advertiserId int64 youtubeAdGroupAdId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a YouTube ad group ad. // // - advertiserId: The ID of the advertiser this ad group ad belongs to. // - youtubeAdGroupAdId: The ID of the ad group ad to fetch. func (r *AdvertisersYoutubeAdGroupAdsService) Get(advertiserId int64, youtubeAdGroupAdId int64) *AdvertisersYoutubeAdGroupAdsGetCall { c := &AdvertisersYoutubeAdGroupAdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.youtubeAdGroupAdId = youtubeAdGroupAdId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersYoutubeAdGroupAdsGetCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupAdsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersYoutubeAdGroupAdsGetCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupAdsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersYoutubeAdGroupAdsGetCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupAdsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersYoutubeAdGroupAdsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersYoutubeAdGroupAdsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroupAds/{+youtubeAdGroupAdId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "youtubeAdGroupAdId": strconv.FormatInt(c.youtubeAdGroupAdId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.youtubeAdGroupAds.get" call. // Any non-2xx status code is an error. Response headers are in either // *YoutubeAdGroupAd.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *AdvertisersYoutubeAdGroupAdsGetCall) Do(opts ...googleapi.CallOption) (*YoutubeAdGroupAd, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &YoutubeAdGroupAd{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersYoutubeAdGroupAdsListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists YouTube ad group ads. // // - advertiserId: The ID of the advertiser the ad groups belongs to. func (r *AdvertisersYoutubeAdGroupAdsService) List(advertiserId int64) *AdvertisersYoutubeAdGroupAdsListCall { c := &AdvertisersYoutubeAdGroupAdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by custom // YouTube ad group ad fields. Supported syntax: * Filter expressions are made // up of one or more restrictions. * Restrictions can be combined by `AND` and // `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has // the form of `{field} {operator} {value}`. * All fields must use the `EQUALS // (=)` operator. Supported fields: * `adGroupId` * `displayName` * // `entityStatus` * `adGroupAdId` Examples: * All ad group ads under an ad // group: `adGroupId="1234" * All ad group ads under an ad group with an // entityStatus of `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`: // `(entityStatus="ENTITY_STATUS_ACTIVE" OR // entityStatus="ENTITY_STATUS_PAUSED") AND adGroupId="12345" The length of // this field should be no more than 500 characters. Reference our filter // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more // information. func (c *AdvertisersYoutubeAdGroupAdsListCall) Filter(filter string) *AdvertisersYoutubeAdGroupAdsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `entityStatus` The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: `displayName // desc`. func (c *AdvertisersYoutubeAdGroupAdsListCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupAdsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `100`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersYoutubeAdGroupAdsListCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupAdsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListYoutubeAdGroupAds` // method. If not specified, the first page of results will be returned. func (c *AdvertisersYoutubeAdGroupAdsListCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupAdsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersYoutubeAdGroupAdsListCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupAdsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersYoutubeAdGroupAdsListCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupAdsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersYoutubeAdGroupAdsListCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupAdsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersYoutubeAdGroupAdsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersYoutubeAdGroupAdsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroupAds") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.youtubeAdGroupAds.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListYoutubeAdGroupAdsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersYoutubeAdGroupAdsListCall) Do(opts ...googleapi.CallOption) (*ListYoutubeAdGroupAdsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListYoutubeAdGroupAdsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersYoutubeAdGroupAdsListCall) Pages(ctx context.Context, f func(*ListYoutubeAdGroupAdsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // BulkListAdGroupAssignedTargetingOptions: Lists assigned targeting options // for multiple YouTube ad groups across targeting types. Inherited assigned // targeting options are not included. // // - advertiserId: The ID of the advertiser the line items belongs to. func (r *AdvertisersYoutubeAdGroupsService) BulkListAdGroupAssignedTargetingOptions(advertiserId int64) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c := &AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the logical // operator `OR`. * A restriction has the form of `{field} {operator} {value}`. // * All fields must use the `EQUALS (=)` operator. Supported fields: * // `targetingType` Examples: * `AssignedTargetingOption` resources of targeting // type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`: // `targetingType="TARGETING_TYPE_YOUTUBE_VIDEO" OR // targetingType="TARGETING_TYPE_YOUTUBE_CHANNEL" The length of this field // should be no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `adGroupId` (default) * // `assignedTargetingOption.targetingType` The default sorting order is // ascending. To specify descending order for a field, a suffix "desc" should // be added to the field name. Example: `targetingType desc`. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. The // size must be an integer between `1` and `5000`. If unspecified, the default // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is // specified. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token that lets the // client fetch the next page of results. Typically, this is the value of // next_page_token returned from the previous call to the // `BulkListAdGroupAssignedTargetingOptions` method. If not specified, the // first page of results will be returned. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c.urlParams_.Set("pageToken", pageToken) return c } // YoutubeAdGroupIds sets the optional parameter "youtubeAdGroupIds": Required. // The IDs of the youtube ad groups to list assigned targeting options for. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) YoutubeAdGroupIds(youtubeAdGroupIds ...int64) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { var youtubeAdGroupIds_ []string for _, v := range youtubeAdGroupIds { youtubeAdGroupIds_ = append(youtubeAdGroupIds_, fmt.Sprint(v)) } c.urlParams_.SetMulti("youtubeAdGroupIds", youtubeAdGroupIds_) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups:bulkListAdGroupAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.youtubeAdGroups.bulkListAdGroupAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkListAdGroupAssignedTargetingOptionsResponse.ServerResponse.Header or // (if a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdGroupAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkListAdGroupAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdGroupAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersYoutubeAdGroupsGetCall struct { s *Service advertiserId int64 youtubeAdGroupId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a YouTube ad group. // // - advertiserId: The ID of the advertiser this ad group belongs to. // - youtubeAdGroupId: The ID of the ad group to fetch. func (r *AdvertisersYoutubeAdGroupsService) Get(advertiserId int64, youtubeAdGroupId int64) *AdvertisersYoutubeAdGroupsGetCall { c := &AdvertisersYoutubeAdGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.youtubeAdGroupId = youtubeAdGroupId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersYoutubeAdGroupsGetCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersYoutubeAdGroupsGetCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersYoutubeAdGroupsGetCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersYoutubeAdGroupsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersYoutubeAdGroupsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "youtubeAdGroupId": strconv.FormatInt(c.youtubeAdGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.youtubeAdGroups.get" call. // Any non-2xx status code is an error. Response headers are in either // *YoutubeAdGroup.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AdvertisersYoutubeAdGroupsGetCall) Do(opts ...googleapi.CallOption) (*YoutubeAdGroup, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &YoutubeAdGroup{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersYoutubeAdGroupsListCall struct { s *Service advertiserId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists YouTube ad groups. // // - advertiserId: The ID of the advertiser the ad groups belongs to. func (r *AdvertisersYoutubeAdGroupsService) List(advertiserId int64) *AdvertisersYoutubeAdGroupsListCall { c := &AdvertisersYoutubeAdGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId return c } // Filter sets the optional parameter "filter": Allows filtering by custom // YouTube ad group fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by `AND` and // `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has // the form of `{field} {operator} {value}`. * All fields must use the `EQUALS // (=)` operator. Supported properties: * `adGroupId` * `displayName` * // `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups // under an line item: `lineItemId="1234" * All `ENTITY_STATUS_ACTIVE` or // `ENTITY_STATUS_PAUSED` `YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM` ad // groups under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR // entityStatus="ENTITY_STATUS_PAUSED") AND // adGroupFormat="YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM" The length // of this field should be no more than 500 characters. Reference our filter // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more // information. func (c *AdvertisersYoutubeAdGroupsListCall) Filter(filter string) *AdvertisersYoutubeAdGroupsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `entityStatus` The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: `displayName // desc`. func (c *AdvertisersYoutubeAdGroupsListCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersYoutubeAdGroupsListCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListYoutubeAdGroups` // method. If not specified, the first page of results will be returned. func (c *AdvertisersYoutubeAdGroupsListCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersYoutubeAdGroupsListCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersYoutubeAdGroupsListCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersYoutubeAdGroupsListCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersYoutubeAdGroupsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersYoutubeAdGroupsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.youtubeAdGroups.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListYoutubeAdGroupsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersYoutubeAdGroupsListCall) Do(opts ...googleapi.CallOption) (*ListYoutubeAdGroupsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListYoutubeAdGroupsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersYoutubeAdGroupsListCall) Pages(ctx context.Context, f func(*ListYoutubeAdGroupsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall struct { s *Service advertiserId int64 youtubeAdGroupId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single targeting option assigned to a YouTube ad group. // Inherited assigned targeting options are not included. // // - advertiserId: The ID of the advertiser the ad group belongs to. // - assignedTargetingOptionId: An identifier unique to the targeting type in // this line item that identifies the assigned targeting option being // requested. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * // `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`. // - youtubeAdGroupId: The ID of the ad group the assigned targeting option // belongs to. func (r *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, youtubeAdGroupId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall { c := &AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.youtubeAdGroupId = youtubeAdGroupId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "youtubeAdGroupId": strconv.FormatInt(c.youtubeAdGroupId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall struct { s *Service advertiserId int64 youtubeAdGroupId int64 targetingType string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the targeting options assigned to a YouTube ad group. Inherited // assigned targeting options are not included. // // - advertiserId: The ID of the advertiser the ad group belongs to. // - targetingType: Identifies the type of assigned targeting options to list. // Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * // `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * // `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * // `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`. // - youtubeAdGroupId: The ID of the ad group to list assigned targeting // options for. func (r *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, youtubeAdGroupId int64, targetingType string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c := &AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.advertiserId = advertiserId c.youtubeAdGroupId = youtubeAdGroupId c.targetingType = targetingType return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the logical // operator `OR`. * A restriction has the form of `{field} {operator} {value}`. // * All fields must use the `EQUALS (=)` operator. Supported fields: * // `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resources // with ID 1 or 2: `assignedTargetingOptionId="1" OR // assignedTargetingOptionId="2" The length of this field should be no more // than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedTargetingOptionId` (default) The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: // `assignedTargetingOptionId desc`. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `5000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListYoutubeAdGroupAssignedTargetingOptions` method. If not specified, the // first page of results will be returned. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "advertiserId": strconv.FormatInt(c.advertiserId, 10), "youtubeAdGroupId": strconv.FormatInt(c.youtubeAdGroupId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListYoutubeAdGroupAssignedTargetingOptionsResponse.ServerResponse.Header or // (if a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListYoutubeAdGroupAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListYoutubeAdGroupAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListYoutubeAdGroupAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type CombinedAudiencesGetCall struct { s *Service combinedAudienceId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a combined audience. // // - combinedAudienceId: The ID of the combined audience to fetch. func (r *CombinedAudiencesService) Get(combinedAudienceId int64) *CombinedAudiencesGetCall { c := &CombinedAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.combinedAudienceId = combinedAudienceId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the fetched combined audience. func (c *CombinedAudiencesGetCall) AdvertiserId(advertiserId int64) *CombinedAudiencesGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the fetched combined audience. func (c *CombinedAudiencesGetCall) PartnerId(partnerId int64) *CombinedAudiencesGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CombinedAudiencesGetCall) Fields(s ...googleapi.Field) *CombinedAudiencesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CombinedAudiencesGetCall) IfNoneMatch(entityTag string) *CombinedAudiencesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CombinedAudiencesGetCall) Context(ctx context.Context) *CombinedAudiencesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CombinedAudiencesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CombinedAudiencesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/combinedAudiences/{+combinedAudienceId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "combinedAudienceId": strconv.FormatInt(c.combinedAudienceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.combinedAudiences.get" call. // Any non-2xx status code is an error. Response headers are in either // *CombinedAudience.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *CombinedAudiencesGetCall) Do(opts ...googleapi.CallOption) (*CombinedAudience, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CombinedAudience{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CombinedAudiencesListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists combined audiences. The order is defined by the order_by // parameter. func (r *CombinedAudiencesService) List() *CombinedAudiencesListCall { c := &CombinedAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the fetched combined audiences. func (c *CombinedAudiencesListCall) AdvertiserId(advertiserId int64) *CombinedAudiencesListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by combined // audience fields. Supported syntax: * Filter expressions for combined // audiences can only contain at most one restriction. * A restriction has the // form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` // operator. Supported fields: * `displayName` Examples: * All combined // audiences for which the display name contains "Google": `displayName : // "Google". The length of this field should be no more than 500 characters. // Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *CombinedAudiencesListCall) Filter(filter string) *CombinedAudiencesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `combinedAudienceId` (default) * // `displayName` The default sorting order is ascending. To specify descending // order for a field, a suffix "desc" should be added to the field name. // Example: `displayName desc`. func (c *CombinedAudiencesListCall) OrderBy(orderBy string) *CombinedAudiencesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *CombinedAudiencesListCall) PageSize(pageSize int64) *CombinedAudiencesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListCombinedAudiences` // method. If not specified, the first page of results will be returned. func (c *CombinedAudiencesListCall) PageToken(pageToken string) *CombinedAudiencesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the fetched combined audiences. func (c *CombinedAudiencesListCall) PartnerId(partnerId int64) *CombinedAudiencesListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CombinedAudiencesListCall) Fields(s ...googleapi.Field) *CombinedAudiencesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CombinedAudiencesListCall) IfNoneMatch(entityTag string) *CombinedAudiencesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CombinedAudiencesListCall) Context(ctx context.Context) *CombinedAudiencesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CombinedAudiencesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CombinedAudiencesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/combinedAudiences") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.combinedAudiences.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListCombinedAudiencesResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *CombinedAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListCombinedAudiencesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListCombinedAudiencesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *CombinedAudiencesListCall) Pages(ctx context.Context, f func(*ListCombinedAudiencesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type CustomBiddingAlgorithmsCreateCall struct { s *Service custombiddingalgorithm *CustomBiddingAlgorithm urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new custom bidding algorithm. Returns the newly created // custom bidding algorithm if successful. func (r *CustomBiddingAlgorithmsService) Create(custombiddingalgorithm *CustomBiddingAlgorithm) *CustomBiddingAlgorithmsCreateCall { c := &CustomBiddingAlgorithmsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.custombiddingalgorithm = custombiddingalgorithm return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsCreateCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsCreateCall) Context(ctx context.Context) *CustomBiddingAlgorithmsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingalgorithm) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.create" call. // Any non-2xx status code is an error. Response headers are in either // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *CustomBiddingAlgorithmsCreateCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CustomBiddingAlgorithm{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomBiddingAlgorithmsGetCall struct { s *Service customBiddingAlgorithmId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a custom bidding algorithm. // // - customBiddingAlgorithmId: The ID of the custom bidding algorithm to fetch. func (r *CustomBiddingAlgorithmsService) Get(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsGetCall { c := &CustomBiddingAlgorithmsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customBiddingAlgorithmId = customBiddingAlgorithmId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360 // partner that has access to the custom bidding algorithm. func (c *CustomBiddingAlgorithmsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the DV360 // partner that has access to the custom bidding algorithm. func (c *CustomBiddingAlgorithmsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomBiddingAlgorithmsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.get" call. // Any non-2xx status code is an error. Response headers are in either // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *CustomBiddingAlgorithmsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CustomBiddingAlgorithm{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomBiddingAlgorithmsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists custom bidding algorithms that are accessible to the current // user and can be used in bidding stratgies. The order is defined by the // order_by parameter. func (r *CustomBiddingAlgorithmsService) List() *CustomBiddingAlgorithmsListCall { c := &CustomBiddingAlgorithmsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360 // advertiser that has access to the custom bidding algorithm. func (c *CustomBiddingAlgorithmsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by custom // bidding algorithm fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by `AND`. A // sequence of restrictions implicitly uses `AND`. * A restriction has the form // of `{field} {operator} {value}`. * The `customBiddingAlgorithmType` field // must use the `EQUALS (=)` operator. * The `displayName` field must use the // `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` * // `displayName` Examples: * All custom bidding algorithms for which the // display name contains "politics": `displayName:"politics". * All custom // bidding algorithms for which the type is "SCRIPT_BASED": // `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be // no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *CustomBiddingAlgorithmsListCall) Filter(filter string) *CustomBiddingAlgorithmsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix "desc" // should be added to the field name. Example: `displayName desc`. func (c *CustomBiddingAlgorithmsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *CustomBiddingAlgorithmsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListCustomBiddingAlgorithms` method. If not specified, the first page of // results will be returned. func (c *CustomBiddingAlgorithmsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the DV360 // partner that has access to the custom bidding algorithm. func (c *CustomBiddingAlgorithmsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomBiddingAlgorithmsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListCustomBiddingAlgorithmsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *CustomBiddingAlgorithmsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingAlgorithmsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListCustomBiddingAlgorithmsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *CustomBiddingAlgorithmsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingAlgorithmsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type CustomBiddingAlgorithmsPatchCall struct { s *Service customBiddingAlgorithmId int64 custombiddingalgorithm *CustomBiddingAlgorithm urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing custom bidding algorithm. Returns the updated // custom bidding algorithm if successful. // // - customBiddingAlgorithmId: Output only. The unique ID of the custom bidding // algorithm. Assigned by the system. func (r *CustomBiddingAlgorithmsService) Patch(customBiddingAlgorithmId int64, custombiddingalgorithm *CustomBiddingAlgorithm) *CustomBiddingAlgorithmsPatchCall { c := &CustomBiddingAlgorithmsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customBiddingAlgorithmId = customBiddingAlgorithmId c.custombiddingalgorithm = custombiddingalgorithm return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *CustomBiddingAlgorithmsPatchCall) UpdateMask(updateMask string) *CustomBiddingAlgorithmsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsPatchCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsPatchCall) Context(ctx context.Context) *CustomBiddingAlgorithmsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingalgorithm) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.patch" call. // Any non-2xx status code is an error. Response headers are in either // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *CustomBiddingAlgorithmsPatchCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CustomBiddingAlgorithm{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomBiddingAlgorithmsUploadScriptCall struct { s *Service customBiddingAlgorithmId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // UploadScript: Creates a custom bidding script reference object for a script // file. The resulting reference object provides a resource path to which the // script file should be uploaded. This reference object should be included in // when creating a new custom bidding script object. // // - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the // script. func (r *CustomBiddingAlgorithmsService) UploadScript(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsUploadScriptCall { c := &CustomBiddingAlgorithmsUploadScriptCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customBiddingAlgorithmId = customBiddingAlgorithmId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent custom bidding algorithm. func (c *CustomBiddingAlgorithmsUploadScriptCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsUploadScriptCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent custom bidding algorithm. Only this partner will have // write access to this custom bidding script. func (c *CustomBiddingAlgorithmsUploadScriptCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsUploadScriptCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsUploadScriptCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsUploadScriptCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomBiddingAlgorithmsUploadScriptCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsUploadScriptCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsUploadScriptCall) Context(ctx context.Context) *CustomBiddingAlgorithmsUploadScriptCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsUploadScriptCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsUploadScriptCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.uploadScript" call. // Any non-2xx status code is an error. Response headers are in either // *CustomBiddingScriptRef.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *CustomBiddingAlgorithmsUploadScriptCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScriptRef, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CustomBiddingScriptRef{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomBiddingAlgorithmsScriptsCreateCall struct { s *Service customBiddingAlgorithmId int64 custombiddingscript *CustomBiddingScript urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new custom bidding script. Returns the newly created // script if successful. // // - customBiddingAlgorithmId: The ID of the custom bidding algorithm that owns // the script. func (r *CustomBiddingAlgorithmsScriptsService) Create(customBiddingAlgorithmId int64, custombiddingscript *CustomBiddingScript) *CustomBiddingAlgorithmsScriptsCreateCall { c := &CustomBiddingAlgorithmsScriptsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customBiddingAlgorithmId = customBiddingAlgorithmId c.custombiddingscript = custombiddingscript return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent custom bidding algorithm. func (c *CustomBiddingAlgorithmsScriptsCreateCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent custom bidding algorithm. Only this partner will have // write access to this custom bidding script. func (c *CustomBiddingAlgorithmsScriptsCreateCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsCreateCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsScriptsCreateCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsScriptsCreateCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsScriptsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsScriptsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingscript) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.scripts.create" call. // Any non-2xx status code is an error. Response headers are in either // *CustomBiddingScript.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *CustomBiddingAlgorithmsScriptsCreateCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScript, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CustomBiddingScript{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomBiddingAlgorithmsScriptsGetCall struct { s *Service customBiddingAlgorithmId int64 customBiddingScriptId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a custom bidding script. // // - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the // script. // - customBiddingScriptId: The ID of the custom bidding script to fetch. func (r *CustomBiddingAlgorithmsScriptsService) Get(customBiddingAlgorithmId int64, customBiddingScriptId int64) *CustomBiddingAlgorithmsScriptsGetCall { c := &CustomBiddingAlgorithmsScriptsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customBiddingAlgorithmId = customBiddingAlgorithmId c.customBiddingScriptId = customBiddingScriptId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent custom bidding algorithm. func (c *CustomBiddingAlgorithmsScriptsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent custom bidding algorithm. Only this partner will have // write access to this custom bidding script. func (c *CustomBiddingAlgorithmsScriptsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsScriptsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomBiddingAlgorithmsScriptsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsScriptsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsScriptsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsScriptsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsScriptsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10), "customBiddingScriptId": strconv.FormatInt(c.customBiddingScriptId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.scripts.get" call. // Any non-2xx status code is an error. Response headers are in either // *CustomBiddingScript.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *CustomBiddingAlgorithmsScriptsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScript, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CustomBiddingScript{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomBiddingAlgorithmsScriptsListCall struct { s *Service customBiddingAlgorithmId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists custom bidding scripts that belong to the given algorithm. The // order is defined by the order_by parameter. // // - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the // script. func (r *CustomBiddingAlgorithmsScriptsService) List(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsScriptsListCall { c := &CustomBiddingAlgorithmsScriptsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customBiddingAlgorithmId = customBiddingAlgorithmId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent custom bidding algorithm. func (c *CustomBiddingAlgorithmsScriptsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `createTime desc` (default) The default // sorting order is descending. To specify ascending order for a field, the // suffix "desc" should be removed. Example: `createTime`. func (c *CustomBiddingAlgorithmsScriptsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsScriptsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *CustomBiddingAlgorithmsScriptsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsScriptsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListCustomBiddingScripts` method. If not specified, the first page of // results will be returned. func (c *CustomBiddingAlgorithmsScriptsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsScriptsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent custom bidding algorithm. Only this partner will have // write access to this custom bidding script. func (c *CustomBiddingAlgorithmsScriptsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomBiddingAlgorithmsScriptsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomBiddingAlgorithmsScriptsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsScriptsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomBiddingAlgorithmsScriptsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomBiddingAlgorithmsScriptsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomBiddingAlgorithmsScriptsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customBiddingAlgorithms.scripts.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListCustomBiddingScriptsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *CustomBiddingAlgorithmsScriptsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingScriptsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListCustomBiddingScriptsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *CustomBiddingAlgorithmsScriptsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingScriptsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type CustomListsGetCall struct { s *Service customListId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a custom list. // // - customListId: The ID of the custom list to fetch. func (r *CustomListsService) Get(customListId int64) *CustomListsGetCall { c := &CustomListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customListId = customListId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360 // advertiser that has access to the fetched custom lists. func (c *CustomListsGetCall) AdvertiserId(advertiserId int64) *CustomListsGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomListsGetCall) Fields(s ...googleapi.Field) *CustomListsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomListsGetCall) IfNoneMatch(entityTag string) *CustomListsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomListsGetCall) Context(ctx context.Context) *CustomListsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomListsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomListsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customLists/{+customListId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customListId": strconv.FormatInt(c.customListId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customLists.get" call. // Any non-2xx status code is an error. Response headers are in either // *CustomList.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *CustomListsGetCall) Do(opts ...googleapi.CallOption) (*CustomList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CustomList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomListsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists custom lists. The order is defined by the order_by parameter. func (r *CustomListsService) List() *CustomListsListCall { c := &CustomListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360 // advertiser that has access to the fetched custom lists. func (c *CustomListsListCall) AdvertiserId(advertiserId int64) *CustomListsListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by custom list // fields. Supported syntax: * Filter expressions for custom lists can only // contain at most one restriction. * A restriction has the form of `{field} // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported // fields: * `displayName` Examples: * All custom lists for which the display // name contains "Google": `displayName:"Google". The length of this field // should be no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *CustomListsListCall) Filter(filter string) *CustomListsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `customListId` (default) * `displayName` The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: `displayName // desc`. func (c *CustomListsListCall) OrderBy(orderBy string) *CustomListsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *CustomListsListCall) PageSize(pageSize int64) *CustomListsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListCustomLists` method. // If not specified, the first page of results will be returned. func (c *CustomListsListCall) PageToken(pageToken string) *CustomListsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomListsListCall) Fields(s ...googleapi.Field) *CustomListsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomListsListCall) IfNoneMatch(entityTag string) *CustomListsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomListsListCall) Context(ctx context.Context) *CustomListsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomListsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomListsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customLists") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.customLists.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListCustomListsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *CustomListsListCall) Do(opts ...googleapi.CallOption) (*ListCustomListsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListCustomListsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *CustomListsListCall) Pages(ctx context.Context, f func(*ListCustomListsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type FirstAndThirdPartyAudiencesCreateCall struct { s *Service firstandthirdpartyaudience *FirstAndThirdPartyAudience urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a FirstAndThirdPartyAudience. Only supported for the // following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * // `CUSTOMER_MATCH_DEVICE_ID` func (r *FirstAndThirdPartyAudiencesService) Create(firstandthirdpartyaudience *FirstAndThirdPartyAudience) *FirstAndThirdPartyAudiencesCreateCall { c := &FirstAndThirdPartyAudiencesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.firstandthirdpartyaudience = firstandthirdpartyaudience return c } // AdvertiserId sets the optional parameter "advertiserId": Required. The ID of // the advertiser under whom the FirstAndThirdPartyAudience will be created. func (c *FirstAndThirdPartyAudiencesCreateCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FirstAndThirdPartyAudiencesCreateCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *FirstAndThirdPartyAudiencesCreateCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FirstAndThirdPartyAudiencesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FirstAndThirdPartyAudiencesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.firstandthirdpartyaudience) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.firstAndThirdPartyAudiences.create" call. // Any non-2xx status code is an error. Response headers are in either // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *FirstAndThirdPartyAudiencesCreateCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &FirstAndThirdPartyAudience{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall struct { s *Service firstAndThirdPartyAudienceId int64 editcustomermatchmembersrequest *EditCustomerMatchMembersRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // EditCustomerMatchMembers: Updates the member list of a Customer Match // audience. Only supported for the following audience_type: * // `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` // // - firstAndThirdPartyAudienceId: The ID of the Customer Match // FirstAndThirdPartyAudience whose members will be edited. func (r *FirstAndThirdPartyAudiencesService) EditCustomerMatchMembers(firstAndThirdPartyAudienceId int64, editcustomermatchmembersrequest *EditCustomerMatchMembersRequest) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall { c := &FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId c.editcustomermatchmembersrequest = editcustomermatchmembersrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.editcustomermatchmembersrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}:editCustomerMatchMembers") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.firstAndThirdPartyAudiences.editCustomerMatchMembers" call. // Any non-2xx status code is an error. Response headers are in either // *EditCustomerMatchMembersResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Do(opts ...googleapi.CallOption) (*EditCustomerMatchMembersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &EditCustomerMatchMembersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type FirstAndThirdPartyAudiencesGetCall struct { s *Service firstAndThirdPartyAudienceId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a first and third party audience. // // - firstAndThirdPartyAudienceId: The ID of the first and third party audience // to fetch. func (r *FirstAndThirdPartyAudiencesService) Get(firstAndThirdPartyAudienceId int64) *FirstAndThirdPartyAudiencesGetCall { c := &FirstAndThirdPartyAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the fetched first and third party audience. func (c *FirstAndThirdPartyAudiencesGetCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the fetched first and third party audience. func (c *FirstAndThirdPartyAudiencesGetCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FirstAndThirdPartyAudiencesGetCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *FirstAndThirdPartyAudiencesGetCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *FirstAndThirdPartyAudiencesGetCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FirstAndThirdPartyAudiencesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FirstAndThirdPartyAudiencesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.firstAndThirdPartyAudiences.get" call. // Any non-2xx status code is an error. Response headers are in either // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *FirstAndThirdPartyAudiencesGetCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &FirstAndThirdPartyAudience{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type FirstAndThirdPartyAudiencesListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists first and third party audiences. The order is defined by the // order_by parameter. func (r *FirstAndThirdPartyAudiencesService) List() *FirstAndThirdPartyAudiencesListCall { c := &FirstAndThirdPartyAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the fetched first and third party audiences. func (c *FirstAndThirdPartyAudiencesListCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by first and // third party audience fields. Supported syntax: * Filter expressions for // first and third party audiences can only contain at most one restriction. * // A restriction has the form of `{field} {operator} {value}`. * All fields // must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: // * All first and third party audiences for which the display name contains // "Google": `displayName:"Google". The length of this field should be no more // than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *FirstAndThirdPartyAudiencesListCall) Filter(filter string) *FirstAndThirdPartyAudiencesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `firstAndThirdPartyAudienceId` (default) * // `displayName` The default sorting order is ascending. To specify descending // order for a field, a suffix "desc" should be added to the field name. // Example: `displayName desc`. func (c *FirstAndThirdPartyAudiencesListCall) OrderBy(orderBy string) *FirstAndThirdPartyAudiencesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *FirstAndThirdPartyAudiencesListCall) PageSize(pageSize int64) *FirstAndThirdPartyAudiencesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListFirstAndThirdPartyAudiences` method. If not specified, the first page // of results will be returned. func (c *FirstAndThirdPartyAudiencesListCall) PageToken(pageToken string) *FirstAndThirdPartyAudiencesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the fetched first and third party audiences. func (c *FirstAndThirdPartyAudiencesListCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FirstAndThirdPartyAudiencesListCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *FirstAndThirdPartyAudiencesListCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *FirstAndThirdPartyAudiencesListCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FirstAndThirdPartyAudiencesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FirstAndThirdPartyAudiencesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.firstAndThirdPartyAudiences.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListFirstAndThirdPartyAudiencesResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *FirstAndThirdPartyAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListFirstAndThirdPartyAudiencesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListFirstAndThirdPartyAudiencesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *FirstAndThirdPartyAudiencesListCall) Pages(ctx context.Context, f func(*ListFirstAndThirdPartyAudiencesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type FirstAndThirdPartyAudiencesPatchCall struct { s *Service firstAndThirdPartyAudienceId int64 firstandthirdpartyaudience *FirstAndThirdPartyAudience urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing FirstAndThirdPartyAudience. Only supported for // the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * // `CUSTOMER_MATCH_DEVICE_ID` // // - firstAndThirdPartyAudienceId: Output only. The unique ID of the first and // third party audience. Assigned by the system. func (r *FirstAndThirdPartyAudiencesService) Patch(firstAndThirdPartyAudienceId int64, firstandthirdpartyaudience *FirstAndThirdPartyAudience) *FirstAndThirdPartyAudiencesPatchCall { c := &FirstAndThirdPartyAudiencesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId c.firstandthirdpartyaudience = firstandthirdpartyaudience return c } // AdvertiserId sets the optional parameter "advertiserId": Required. The ID of // the owner advertiser of the updated FirstAndThirdPartyAudience. func (c *FirstAndThirdPartyAudiencesPatchCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesPatchCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. Updates are only supported for the following // fields: * `displayName` * `description` * `membershipDurationDays` func (c *FirstAndThirdPartyAudiencesPatchCall) UpdateMask(updateMask string) *FirstAndThirdPartyAudiencesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FirstAndThirdPartyAudiencesPatchCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *FirstAndThirdPartyAudiencesPatchCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FirstAndThirdPartyAudiencesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FirstAndThirdPartyAudiencesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.firstandthirdpartyaudience) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.firstAndThirdPartyAudiences.patch" call. // Any non-2xx status code is an error. Response headers are in either // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *FirstAndThirdPartyAudiencesPatchCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &FirstAndThirdPartyAudience{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type FloodlightGroupsGetCall struct { s *Service floodlightGroupId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a Floodlight group. // // - floodlightGroupId: The ID of the Floodlight group to fetch. func (r *FloodlightGroupsService) Get(floodlightGroupId int64) *FloodlightGroupsGetCall { c := &FloodlightGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.floodlightGroupId = floodlightGroupId return c } // PartnerId sets the optional parameter "partnerId": Required. The partner // context by which the Floodlight group is being accessed. func (c *FloodlightGroupsGetCall) PartnerId(partnerId int64) *FloodlightGroupsGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FloodlightGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *FloodlightGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *FloodlightGroupsGetCall) Context(ctx context.Context) *FloodlightGroupsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FloodlightGroupsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FloodlightGroupsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{+floodlightGroupId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.floodlightGroups.get" call. // Any non-2xx status code is an error. Response headers are in either // *FloodlightGroup.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *FloodlightGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &FloodlightGroup{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type FloodlightGroupsPatchCall struct { s *Service floodlightGroupId int64 floodlightgroup *FloodlightGroup urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing Floodlight group. Returns the updated Floodlight // group if successful. // // - floodlightGroupId: Output only. The unique ID of the Floodlight group. // Assigned by the system. func (r *FloodlightGroupsService) Patch(floodlightGroupId int64, floodlightgroup *FloodlightGroup) *FloodlightGroupsPatchCall { c := &FloodlightGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.floodlightGroupId = floodlightGroupId c.floodlightgroup = floodlightgroup return c } // PartnerId sets the optional parameter "partnerId": Required. The partner // context by which the Floodlight group is being accessed. func (c *FloodlightGroupsPatchCall) PartnerId(partnerId int64) *FloodlightGroupsPatchCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *FloodlightGroupsPatchCall) UpdateMask(updateMask string) *FloodlightGroupsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FloodlightGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightGroupsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *FloodlightGroupsPatchCall) Context(ctx context.Context) *FloodlightGroupsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FloodlightGroupsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FloodlightGroupsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightgroup) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{floodlightGroupId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.floodlightGroups.patch" call. // Any non-2xx status code is an error. Response headers are in either // *FloodlightGroup.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *FloodlightGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &FloodlightGroup{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type FloodlightGroupsFloodlightActivitiesGetCall struct { s *Service floodlightGroupId int64 floodlightActivityId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a Floodlight activity. // // - floodlightActivityId: The ID of the Floodlight activity to fetch. // - floodlightGroupId: The ID of the parent Floodlight group to which the // requested Floodlight activity belongs. func (r *FloodlightGroupsFloodlightActivitiesService) Get(floodlightGroupId int64, floodlightActivityId int64) *FloodlightGroupsFloodlightActivitiesGetCall { c := &FloodlightGroupsFloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.floodlightGroupId = floodlightGroupId c.floodlightActivityId = floodlightActivityId return c } // PartnerId sets the optional parameter "partnerId": Required. The ID of the // partner through which the Floodlight activity is being accessed. func (c *FloodlightGroupsFloodlightActivitiesGetCall) PartnerId(partnerId int64) *FloodlightGroupsFloodlightActivitiesGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FloodlightGroupsFloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsFloodlightActivitiesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *FloodlightGroupsFloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsFloodlightActivitiesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *FloodlightGroupsFloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightGroupsFloodlightActivitiesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FloodlightGroupsFloodlightActivitiesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FloodlightGroupsFloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{+floodlightGroupId}/floodlightActivities/{+floodlightActivityId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10), "floodlightActivityId": strconv.FormatInt(c.floodlightActivityId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.floodlightGroups.floodlightActivities.get" call. // Any non-2xx status code is an error. Response headers are in either // *FloodlightActivity.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *FloodlightGroupsFloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &FloodlightActivity{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type FloodlightGroupsFloodlightActivitiesListCall struct { s *Service floodlightGroupId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists Floodlight activities in a Floodlight group. // // - floodlightGroupId: The ID of the parent Floodlight group to which the // requested Floodlight activities belong. func (r *FloodlightGroupsFloodlightActivitiesService) List(floodlightGroupId int64) *FloodlightGroupsFloodlightActivitiesListCall { c := &FloodlightGroupsFloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.floodlightGroupId = floodlightGroupId return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * // `floodlightActivityId` The default sorting order is ascending. To specify // descending order for a field, a suffix "desc" should be added to the field // name. Example: `displayName desc`. func (c *FloodlightGroupsFloodlightActivitiesListCall) OrderBy(orderBy string) *FloodlightGroupsFloodlightActivitiesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `100`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *FloodlightGroupsFloodlightActivitiesListCall) PageSize(pageSize int64) *FloodlightGroupsFloodlightActivitiesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListFloodlightActivities` method. If not specified, the first page of // results will be returned. func (c *FloodlightGroupsFloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightGroupsFloodlightActivitiesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": Required. The ID of the // partner through which the Floodlight activities are being accessed. func (c *FloodlightGroupsFloodlightActivitiesListCall) PartnerId(partnerId int64) *FloodlightGroupsFloodlightActivitiesListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FloodlightGroupsFloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightGroupsFloodlightActivitiesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *FloodlightGroupsFloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightGroupsFloodlightActivitiesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *FloodlightGroupsFloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightGroupsFloodlightActivitiesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FloodlightGroupsFloodlightActivitiesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FloodlightGroupsFloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{+floodlightGroupId}/floodlightActivities") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.floodlightGroups.floodlightActivities.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListFloodlightActivitiesResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *FloodlightGroupsFloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*ListFloodlightActivitiesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListFloodlightActivitiesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *FloodlightGroupsFloodlightActivitiesListCall) Pages(ctx context.Context, f func(*ListFloodlightActivitiesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type GoogleAudiencesGetCall struct { s *Service googleAudienceId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a Google audience. // // - googleAudienceId: The ID of the Google audience to fetch. func (r *GoogleAudiencesService) Get(googleAudienceId int64) *GoogleAudiencesGetCall { c := &GoogleAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.googleAudienceId = googleAudienceId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the fetched Google audience. func (c *GoogleAudiencesGetCall) AdvertiserId(advertiserId int64) *GoogleAudiencesGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the fetched Google audience. func (c *GoogleAudiencesGetCall) PartnerId(partnerId int64) *GoogleAudiencesGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *GoogleAudiencesGetCall) Fields(s ...googleapi.Field) *GoogleAudiencesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *GoogleAudiencesGetCall) IfNoneMatch(entityTag string) *GoogleAudiencesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *GoogleAudiencesGetCall) Context(ctx context.Context) *GoogleAudiencesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *GoogleAudiencesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *GoogleAudiencesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/googleAudiences/{+googleAudienceId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "googleAudienceId": strconv.FormatInt(c.googleAudienceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.googleAudiences.get" call. // Any non-2xx status code is an error. Response headers are in either // *GoogleAudience.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *GoogleAudiencesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAudience, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GoogleAudience{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type GoogleAudiencesListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists Google audiences. The order is defined by the order_by // parameter. func (r *GoogleAudiencesService) List() *GoogleAudiencesListCall { c := &GoogleAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the fetched Google audiences. func (c *GoogleAudiencesListCall) AdvertiserId(advertiserId int64) *GoogleAudiencesListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by Google // audience fields. Supported syntax: * Filter expressions for Google audiences // can only contain at most one restriction. * A restriction has the form of // `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. // Supported fields: * `displayName` Examples: * All Google audiences for which // the display name contains "Google": `displayName:"Google". The length of // this field should be no more than 500 characters. Reference our filter // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more // information. func (c *GoogleAudiencesListCall) Filter(filter string) *GoogleAudiencesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `googleAudienceId` (default) * `displayName` // The default sorting order is ascending. To specify descending order for a // field, a suffix "desc" should be added to the field name. Example: // `displayName desc`. func (c *GoogleAudiencesListCall) OrderBy(orderBy string) *GoogleAudiencesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *GoogleAudiencesListCall) PageSize(pageSize int64) *GoogleAudiencesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListGoogleAudiences` // method. If not specified, the first page of results will be returned. func (c *GoogleAudiencesListCall) PageToken(pageToken string) *GoogleAudiencesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the fetched Google audiences. func (c *GoogleAudiencesListCall) PartnerId(partnerId int64) *GoogleAudiencesListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *GoogleAudiencesListCall) Fields(s ...googleapi.Field) *GoogleAudiencesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *GoogleAudiencesListCall) IfNoneMatch(entityTag string) *GoogleAudiencesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *GoogleAudiencesListCall) Context(ctx context.Context) *GoogleAudiencesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *GoogleAudiencesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *GoogleAudiencesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/googleAudiences") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.googleAudiences.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListGoogleAudiencesResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *GoogleAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListGoogleAudiencesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListGoogleAudiencesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *GoogleAudiencesListCall) Pages(ctx context.Context, f func(*ListGoogleAudiencesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type GuaranteedOrdersCreateCall struct { s *Service guaranteedorder *GuaranteedOrder urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new guaranteed order. Returns the newly created guaranteed // order if successful. func (r *GuaranteedOrdersService) Create(guaranteedorder *GuaranteedOrder) *GuaranteedOrdersCreateCall { c := &GuaranteedOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.guaranteedorder = guaranteedorder return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that the request is being made within. func (c *GuaranteedOrdersCreateCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that the request is being made within. func (c *GuaranteedOrdersCreateCall) PartnerId(partnerId int64) *GuaranteedOrdersCreateCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *GuaranteedOrdersCreateCall) Fields(s ...googleapi.Field) *GuaranteedOrdersCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *GuaranteedOrdersCreateCall) Context(ctx context.Context) *GuaranteedOrdersCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *GuaranteedOrdersCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *GuaranteedOrdersCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.guaranteedorder) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.guaranteedOrders.create" call. // Any non-2xx status code is an error. Response headers are in either // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *GuaranteedOrdersCreateCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GuaranteedOrder{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall struct { s *Service guaranteedOrderId string editguaranteedorderreadaccessorsrequest *EditGuaranteedOrderReadAccessorsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // EditGuaranteedOrderReadAccessors: Edits read advertisers of a guaranteed // order. // // - guaranteedOrderId: The ID of the guaranteed order to edit. The ID is of // the format `{exchange}-{legacy_guaranteed_order_id}`. func (r *GuaranteedOrdersService) EditGuaranteedOrderReadAccessors(guaranteedOrderId string, editguaranteedorderreadaccessorsrequest *EditGuaranteedOrderReadAccessorsRequest) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall { c := &GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.guaranteedOrderId = guaranteedOrderId c.editguaranteedorderreadaccessorsrequest = editguaranteedorderreadaccessorsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Fields(s ...googleapi.Field) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Context(ctx context.Context) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.editguaranteedorderreadaccessorsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders/{+guaranteedOrderId}:editGuaranteedOrderReadAccessors") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "guaranteedOrderId": c.guaranteedOrderId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.guaranteedOrders.editGuaranteedOrderReadAccessors" call. // Any non-2xx status code is an error. Response headers are in either // *EditGuaranteedOrderReadAccessorsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Do(opts ...googleapi.CallOption) (*EditGuaranteedOrderReadAccessorsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &EditGuaranteedOrderReadAccessorsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type GuaranteedOrdersGetCall struct { s *Service guaranteedOrderId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a guaranteed order. // // - guaranteedOrderId: The ID of the guaranteed order to fetch. The ID is of // the format `{exchange}-{legacy_guaranteed_order_id}`. func (r *GuaranteedOrdersService) Get(guaranteedOrderId string) *GuaranteedOrdersGetCall { c := &GuaranteedOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.guaranteedOrderId = guaranteedOrderId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the guaranteed order. func (c *GuaranteedOrdersGetCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the guaranteed order. func (c *GuaranteedOrdersGetCall) PartnerId(partnerId int64) *GuaranteedOrdersGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *GuaranteedOrdersGetCall) Fields(s ...googleapi.Field) *GuaranteedOrdersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *GuaranteedOrdersGetCall) IfNoneMatch(entityTag string) *GuaranteedOrdersGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *GuaranteedOrdersGetCall) Context(ctx context.Context) *GuaranteedOrdersGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *GuaranteedOrdersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *GuaranteedOrdersGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders/{+guaranteedOrderId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "guaranteedOrderId": c.guaranteedOrderId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.guaranteedOrders.get" call. // Any non-2xx status code is an error. Response headers are in either // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *GuaranteedOrdersGetCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GuaranteedOrder{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type GuaranteedOrdersListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists guaranteed orders that are accessible to the current user. The // order is defined by the order_by parameter. If a filter by entity_status is // not specified, guaranteed orders with entity status `ENTITY_STATUS_ARCHIVED` // will not be included in the results. func (r *GuaranteedOrdersService) List() *GuaranteedOrdersListCall { c := &GuaranteedOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the guaranteed order. func (c *GuaranteedOrdersListCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by guaranteed // order fields. * Filter expressions are made up of one or more restrictions. // * Restrictions can be combined by `AND` or `OR` logical operators. A // sequence of restrictions implicitly uses `AND`. * A restriction has the form // of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` // operator. Supported fields: * `guaranteed_order_id` * `exchange` * // `display_name` * `status.entityStatus` Examples: * All active guaranteed // orders: `status.entityStatus="ENTITY_STATUS_ACTIVE" * Guaranteed orders // belonging to Google Ad Manager or Rubicon exchanges: // `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON" The // length of this field should be no more than 500 characters. Reference our // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for // more information. func (c *GuaranteedOrdersListCall) Filter(filter string) *GuaranteedOrdersListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix "desc" // should be added to the field name. For example, `displayName desc`. func (c *GuaranteedOrdersListCall) OrderBy(orderBy string) *GuaranteedOrdersListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *GuaranteedOrdersListCall) PageSize(pageSize int64) *GuaranteedOrdersListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListGuaranteedOrders` // method. If not specified, the first page of results will be returned. func (c *GuaranteedOrdersListCall) PageToken(pageToken string) *GuaranteedOrdersListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the guaranteed order. func (c *GuaranteedOrdersListCall) PartnerId(partnerId int64) *GuaranteedOrdersListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *GuaranteedOrdersListCall) Fields(s ...googleapi.Field) *GuaranteedOrdersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *GuaranteedOrdersListCall) IfNoneMatch(entityTag string) *GuaranteedOrdersListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *GuaranteedOrdersListCall) Context(ctx context.Context) *GuaranteedOrdersListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *GuaranteedOrdersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *GuaranteedOrdersListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.guaranteedOrders.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListGuaranteedOrdersResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *GuaranteedOrdersListCall) Do(opts ...googleapi.CallOption) (*ListGuaranteedOrdersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListGuaranteedOrdersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *GuaranteedOrdersListCall) Pages(ctx context.Context, f func(*ListGuaranteedOrdersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type GuaranteedOrdersPatchCall struct { s *Service guaranteedOrderId string guaranteedorder *GuaranteedOrder urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing guaranteed order. Returns the updated guaranteed // order if successful. // // - guaranteedOrderId: Output only. The unique identifier of the guaranteed // order. The guaranteed order IDs have the format // `{exchange}-{legacy_guaranteed_order_id}`. func (r *GuaranteedOrdersService) Patch(guaranteedOrderId string, guaranteedorder *GuaranteedOrder) *GuaranteedOrdersPatchCall { c := &GuaranteedOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.guaranteedOrderId = guaranteedOrderId c.guaranteedorder = guaranteedorder return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that the request is being made within. func (c *GuaranteedOrdersPatchCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersPatchCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that the request is being made within. func (c *GuaranteedOrdersPatchCall) PartnerId(partnerId int64) *GuaranteedOrdersPatchCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *GuaranteedOrdersPatchCall) UpdateMask(updateMask string) *GuaranteedOrdersPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *GuaranteedOrdersPatchCall) Fields(s ...googleapi.Field) *GuaranteedOrdersPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *GuaranteedOrdersPatchCall) Context(ctx context.Context) *GuaranteedOrdersPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *GuaranteedOrdersPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *GuaranteedOrdersPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.guaranteedorder) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders/{+guaranteedOrderId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "guaranteedOrderId": c.guaranteedOrderId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.guaranteedOrders.patch" call. // Any non-2xx status code is an error. Response headers are in either // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *GuaranteedOrdersPatchCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GuaranteedOrder{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsCreateCall struct { s *Service inventorysourcegroup *InventorySourceGroup urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new inventory source group. Returns the newly created // inventory source group if successful. func (r *InventorySourceGroupsService) Create(inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsCreateCall { c := &InventorySourceGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorysourcegroup = inventorysourcegroup return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the inventory source group. The parent partner will not // have access to this group. func (c *InventorySourceGroupsCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the inventory source group. Only this partner will have write // access to this group. Only advertisers to which this group is explicitly // shared will have read access to this group. func (c *InventorySourceGroupsCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsCreateCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsCreateCall) Context(ctx context.Context) *InventorySourceGroupsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.create" call. // Any non-2xx status code is an error. Response headers are in either // *InventorySourceGroup.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *InventorySourceGroupsCreateCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InventorySourceGroup{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsDeleteCall struct { s *Service inventorySourceGroupId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an inventory source group. // // - inventorySourceGroupId: The ID of the inventory source group to delete. func (r *InventorySourceGroupsService) Delete(inventorySourceGroupId int64) *InventorySourceGroupsDeleteCall { c := &InventorySourceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceGroupId = inventorySourceGroupId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the inventory source group. The parent partner does not // have access to this group. func (c *InventorySourceGroupsDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsDeleteCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the inventory source group. Only this partner has write access to // this group. func (c *InventorySourceGroupsDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsDeleteCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsDeleteCall) Context(ctx context.Context) *InventorySourceGroupsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *InventorySourceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsGetCall struct { s *Service inventorySourceGroupId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets an inventory source group. // // - inventorySourceGroupId: The ID of the inventory source group to fetch. func (r *InventorySourceGroupsService) Get(inventorySourceGroupId int64) *InventorySourceGroupsGetCall { c := &InventorySourceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceGroupId = inventorySourceGroupId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the inventory source group. If an inventory // source group is partner-owned, only advertisers to which the group is // explicitly shared can access the group. func (c *InventorySourceGroupsGetCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the inventory source group. A partner cannot access an // advertiser-owned inventory source group. func (c *InventorySourceGroupsGetCall) PartnerId(partnerId int64) *InventorySourceGroupsGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsGetCall) Fields(s ...googleapi.Field) *InventorySourceGroupsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *InventorySourceGroupsGetCall) IfNoneMatch(entityTag string) *InventorySourceGroupsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsGetCall) Context(ctx context.Context) *InventorySourceGroupsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.get" call. // Any non-2xx status code is an error. Response headers are in either // *InventorySourceGroup.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *InventorySourceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InventorySourceGroup{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists inventory source groups that are accessible to the current user. // The order is defined by the order_by parameter. func (r *InventorySourceGroupsService) List() *InventorySourceGroupsListCall { c := &InventorySourceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the inventory source group. If an inventory // source group is partner-owned, only advertisers to which the group is // explicitly shared can access the group. func (c *InventorySourceGroupsListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by inventory // source group fields. Supported syntax: * Filter expressions are made up of // one or more restrictions. * Restrictions can be combined by the logical // operator `OR`. * A restriction has the form of `{field} {operator} {value}`. // * All fields must use the `EQUALS (=)` operator. Supported fields: * // `inventorySourceGroupId` The length of this field should be no more than 500 // characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *InventorySourceGroupsListCall) Filter(filter string) *InventorySourceGroupsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * // `inventorySourceGroupId` The default sorting order is ascending. To specify // descending order for a field, a suffix "desc" should be added to the field // name. For example, `displayName desc`. func (c *InventorySourceGroupsListCall) OrderBy(orderBy string) *InventorySourceGroupsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *InventorySourceGroupsListCall) PageSize(pageSize int64) *InventorySourceGroupsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListInventorySources` // method. If not specified, the first page of results will be returned. func (c *InventorySourceGroupsListCall) PageToken(pageToken string) *InventorySourceGroupsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the inventory source group. A partner cannot access // advertiser-owned inventory source groups. func (c *InventorySourceGroupsListCall) PartnerId(partnerId int64) *InventorySourceGroupsListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *InventorySourceGroupsListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsListCall) Context(ctx context.Context) *InventorySourceGroupsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListInventorySourceGroupsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *InventorySourceGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourceGroupsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListInventorySourceGroupsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *InventorySourceGroupsListCall) Pages(ctx context.Context, f func(*ListInventorySourceGroupsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type InventorySourceGroupsPatchCall struct { s *Service inventorySourceGroupId int64 inventorysourcegroup *InventorySourceGroup urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an inventory source group. Returns the updated inventory // source group if successful. // // - inventorySourceGroupId: Output only. The unique ID of the inventory source // group. Assigned by the system. func (r *InventorySourceGroupsService) Patch(inventorySourceGroupId int64, inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsPatchCall { c := &InventorySourceGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceGroupId = inventorySourceGroupId c.inventorysourcegroup = inventorysourcegroup return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the inventory source group. The parent partner does not // have access to this group. func (c *InventorySourceGroupsPatchCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsPatchCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the inventory source group. Only this partner has write access to // this group. func (c *InventorySourceGroupsPatchCall) PartnerId(partnerId int64) *InventorySourceGroupsPatchCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *InventorySourceGroupsPatchCall) UpdateMask(updateMask string) *InventorySourceGroupsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsPatchCall) Fields(s ...googleapi.Field) *InventorySourceGroupsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsPatchCall) Context(ctx context.Context) *InventorySourceGroupsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{inventorySourceGroupId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.patch" call. // Any non-2xx status code is an error. Response headers are in either // *InventorySourceGroup.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *InventorySourceGroupsPatchCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InventorySourceGroup{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsAssignedInventorySourcesBulkEditCall struct { s *Service inventorySourceGroupId int64 bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkEdit: Bulk edits multiple assignments between inventory sources and a // single inventory source group. The operation will delete the assigned // inventory sources provided in // BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources // and then create the assigned inventory sources provided in // BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources. // // - inventorySourceGroupId: The ID of the inventory source group to which the // assignments are assigned. func (r *InventorySourceGroupsAssignedInventorySourcesService) BulkEdit(inventorySourceGroupId int64, bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall { c := &InventorySourceGroupsAssignedInventorySourcesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceGroupId = inventorySourceGroupId c.bulkeditassignedinventorysourcesrequest = bulkeditassignedinventorysourcesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedinventorysourcesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditAssignedInventorySourcesResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedInventorySourcesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditAssignedInventorySourcesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsAssignedInventorySourcesCreateCall struct { s *Service inventorySourceGroupId int64 assignedinventorysource *AssignedInventorySource urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates an assignment between an inventory source and an inventory // source group. // // - inventorySourceGroupId: The ID of the inventory source group to which the // assignment will be assigned. func (r *InventorySourceGroupsAssignedInventorySourcesService) Create(inventorySourceGroupId int64, assignedinventorysource *AssignedInventorySource) *InventorySourceGroupsAssignedInventorySourcesCreateCall { c := &InventorySourceGroupsAssignedInventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceGroupId = inventorySourceGroupId c.assignedinventorysource = assignedinventorysource return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent inventory source group. The parent partner // will not have access to this assigned inventory source. func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent inventory source group. Only this partner will have // write access to this assigned inventory source. func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedinventorysource) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.create" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedInventorySource.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*AssignedInventorySource, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedInventorySource{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsAssignedInventorySourcesDeleteCall struct { s *Service inventorySourceGroupId int64 assignedInventorySourceId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes the assignment between an inventory source and an inventory // source group. // // - assignedInventorySourceId: The ID of the assigned inventory source to // delete. // - inventorySourceGroupId: The ID of the inventory source group to which this // assignment is assigned. func (r *InventorySourceGroupsAssignedInventorySourcesService) Delete(inventorySourceGroupId int64, assignedInventorySourceId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall { c := &InventorySourceGroupsAssignedInventorySourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceGroupId = inventorySourceGroupId c.assignedInventorySourceId = assignedInventorySourceId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent inventory source group. The parent partner // does not have access to this assigned inventory source. func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that owns the parent inventory source group. Only this partner has write // access to this assigned inventory source. func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10), "assignedInventorySourceId": strconv.FormatInt(c.assignedInventorySourceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourceGroupsAssignedInventorySourcesListCall struct { s *Service inventorySourceGroupId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists inventory sources assigned to an inventory source group. // // - inventorySourceGroupId: The ID of the inventory source group to which // these assignments are assigned. func (r *InventorySourceGroupsAssignedInventorySourcesService) List(inventorySourceGroupId int64) *InventorySourceGroupsAssignedInventorySourcesListCall { c := &InventorySourceGroupsAssignedInventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceGroupId = inventorySourceGroupId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the assignment. If the parent inventory source // group is partner-owned, only advertisers to which the parent group is // explicitly shared can access the assigned inventory source. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // inventory source fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the `OR` // logical operator. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: // * `assignedInventorySourceId` The length of this field should be no more // than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Filter(filter string) *InventorySourceGroupsAssignedInventorySourcesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedInventorySourceId` (default) The // default sorting order is ascending. To specify descending order for a field, // a suffix " desc" should be added to the field name. Example: // `assignedInventorySourceId desc`. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) OrderBy(orderBy string) *InventorySourceGroupsAssignedInventorySourcesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `100`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageSize(pageSize int64) *InventorySourceGroupsAssignedInventorySourcesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListAssignedInventorySources` method. If not specified, the first page of // results will be returned. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageToken(pageToken string) *InventorySourceGroupsAssignedInventorySourcesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the assignment. If the parent inventory source group is // advertiser-owned, the assignment cannot be accessed via a partner. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsAssignedInventorySourcesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourceGroupsAssignedInventorySourcesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListAssignedInventorySourcesResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListAssignedInventorySourcesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListAssignedInventorySourcesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Pages(ctx context.Context, f func(*ListAssignedInventorySourcesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type InventorySourcesCreateCall struct { s *Service inventorysource *InventorySource urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new inventory source. Returns the newly created inventory // source if successful. func (r *InventorySourcesService) Create(inventorysource *InventorySource) *InventorySourcesCreateCall { c := &InventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorysource = inventorysource return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that the request is being made within. func (c *InventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourcesCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that the request is being made within. func (c *InventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourcesCreateCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourcesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourcesCreateCall) Context(ctx context.Context) *InventorySourcesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourcesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysource) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySources.create" call. // Any non-2xx status code is an error. Response headers are in either // *InventorySource.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *InventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InventorySource{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourcesEditInventorySourceReadWriteAccessorsCall struct { s *Service inventorySourceId int64 editinventorysourcereadwriteaccessorsrequest *EditInventorySourceReadWriteAccessorsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // EditInventorySourceReadWriteAccessors: Edits read/write accessors of an // inventory source. Returns the updated read_write_accessors for the inventory // source. // // - inventorySourceId: The ID of inventory source to update. func (r *InventorySourcesService) EditInventorySourceReadWriteAccessors(inventorySourceId int64, editinventorysourcereadwriteaccessorsrequest *EditInventorySourceReadWriteAccessorsRequest) *InventorySourcesEditInventorySourceReadWriteAccessorsCall { c := &InventorySourcesEditInventorySourceReadWriteAccessorsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceId = inventorySourceId c.editinventorysourcereadwriteaccessorsrequest = editinventorysourcereadwriteaccessorsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Fields(s ...googleapi.Field) *InventorySourcesEditInventorySourceReadWriteAccessorsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Context(ctx context.Context) *InventorySourcesEditInventorySourceReadWriteAccessorsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.editinventorysourcereadwriteaccessorsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources/{+inventorySourceId}:editInventorySourceReadWriteAccessors") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySources.editInventorySourceReadWriteAccessors" call. // Any non-2xx status code is an error. Response headers are in either // *InventorySourceAccessors.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Do(opts ...googleapi.CallOption) (*InventorySourceAccessors, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InventorySourceAccessors{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourcesGetCall struct { s *Service inventorySourceId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets an inventory source. // // - inventorySourceId: The ID of the inventory source to fetch. func (r *InventorySourcesService) Get(inventorySourceId int64) *InventorySourcesGetCall { c := &InventorySourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceId = inventorySourceId return c } // PartnerId sets the optional parameter "partnerId": Required. The ID of the // DV360 partner to which the fetched inventory source is permissioned. func (c *InventorySourcesGetCall) PartnerId(partnerId int64) *InventorySourcesGetCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourcesGetCall) Fields(s ...googleapi.Field) *InventorySourcesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *InventorySourcesGetCall) IfNoneMatch(entityTag string) *InventorySourcesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourcesGetCall) Context(ctx context.Context) *InventorySourcesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourcesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourcesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources/{+inventorySourceId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySources.get" call. // Any non-2xx status code is an error. Response headers are in either // *InventorySource.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *InventorySourcesGetCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InventorySource{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type InventorySourcesListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists inventory sources that are accessible to the current user. The // order is defined by the order_by parameter. If a filter by entity_status is // not specified, inventory sources with entity status `ENTITY_STATUS_ARCHIVED` // will not be included in the results. func (r *InventorySourcesService) List() *InventorySourcesListCall { c := &InventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that has access to the inventory source. func (c *InventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourcesListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by inventory // source fields. Supported syntax: * Filter expressions are made up of one or // more restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * All fields must use the // `EQUALS (=)` operator. Supported fields: * `status.entityStatus` * // `commitment` * `deliveryMethod` * `rateDetails.rateType` * `exchange` // Examples: * All active inventory sources: // `status.entityStatus="ENTITY_STATUS_ACTIVE" * Inventory sources belonging // to Google Ad Manager or Rubicon exchanges: // `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON" The // length of this field should be no more than 500 characters. Reference our // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for // more information. func (c *InventorySourcesListCall) Filter(filter string) *InventorySourcesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix "desc" // should be added to the field name. For example, `displayName desc`. func (c *InventorySourcesListCall) OrderBy(orderBy string) *InventorySourcesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *InventorySourcesListCall) PageSize(pageSize int64) *InventorySourcesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListInventorySources` // method. If not specified, the first page of results will be returned. func (c *InventorySourcesListCall) PageToken(pageToken string) *InventorySourcesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that has access to the inventory source. func (c *InventorySourcesListCall) PartnerId(partnerId int64) *InventorySourcesListCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourcesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *InventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourcesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourcesListCall) Context(ctx context.Context) *InventorySourcesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourcesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourcesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySources.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListInventorySourcesResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *InventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourcesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListInventorySourcesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *InventorySourcesListCall) Pages(ctx context.Context, f func(*ListInventorySourcesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type InventorySourcesPatchCall struct { s *Service inventorySourceId int64 inventorysource *InventorySource urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing inventory source. Returns the updated inventory // source if successful. // // - inventorySourceId: Output only. The unique ID of the inventory source. // Assigned by the system. func (r *InventorySourcesService) Patch(inventorySourceId int64, inventorysource *InventorySource) *InventorySourcesPatchCall { c := &InventorySourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.inventorySourceId = inventorySourceId c.inventorysource = inventorysource return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that the request is being made within. func (c *InventorySourcesPatchCall) AdvertiserId(advertiserId int64) *InventorySourcesPatchCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // PartnerId sets the optional parameter "partnerId": The ID of the partner // that the request is being made within. func (c *InventorySourcesPatchCall) PartnerId(partnerId int64) *InventorySourcesPatchCall { c.urlParams_.Set("partnerId", fmt.Sprint(partnerId)) return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *InventorySourcesPatchCall) UpdateMask(updateMask string) *InventorySourcesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *InventorySourcesPatchCall) Fields(s ...googleapi.Field) *InventorySourcesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *InventorySourcesPatchCall) Context(ctx context.Context) *InventorySourcesPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *InventorySourcesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *InventorySourcesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysource) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources/{+inventorySourceId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.inventorySources.patch" call. // Any non-2xx status code is an error. Response headers are in either // *InventorySource.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *InventorySourcesPatchCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &InventorySource{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type MediaDownloadCall struct { s *Service resourceName string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Download: Downloads media. Download is supported on the URI // `/download/{resource_name=**}?alt=media.` **Note**: Download requests will // not be successful without including `alt=media` query string. // // - resourceName: Name of the media that is being downloaded. See // ReadRequest.resource_name. func (r *MediaService) Download(resourceName string) *MediaDownloadCall { c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resourceName = resourceName return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *MediaDownloadCall) Fields(s ...googleapi.Field) *MediaDownloadCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *MediaDownloadCall) IfNoneMatch(entityTag string) *MediaDownloadCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do and Download methods. func (c *MediaDownloadCall) Context(ctx context.Context) *MediaDownloadCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *MediaDownloadCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "download/{+resourceName}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "resourceName": c.resourceName, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Download fetches the API endpoint's "media" value, instead of the normal // API response value. If the returned error is nil, the Response is guaranteed to // have a 2xx status code. Callers must close the Response.Body as usual. func (c *MediaDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("media") if err != nil { return nil, err } if err := googleapi.CheckResponse(res); err != nil { res.Body.Close() return nil, gensupport.WrapError(err) } return res, nil } // Do executes the "displayvideo.media.download" call. // Any non-2xx status code is an error. Response headers are in either // *GoogleBytestreamMedia.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *MediaDownloadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GoogleBytestreamMedia{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type MediaUploadCall struct { s *Service resourceName string googlebytestreammedia *GoogleBytestreamMedia urlParams_ gensupport.URLParams mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } // Upload: Uploads media. Upload is supported on the URI // `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload // requests will not be successful without including `upload_type=media` query // string. // // - resourceName: Name of the media that is being downloaded. See // ReadRequest.resource_name. func (r *MediaService) Upload(resourceName string, googlebytestreammedia *GoogleBytestreamMedia) *MediaUploadCall { c := &MediaUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resourceName = resourceName c.googlebytestreammedia = googlebytestreammedia return c } // Media specifies the media to upload in one or more chunks. The chunk size // may be controlled by supplying a MediaOption generated by // googleapi.ChunkSize. The chunk size defaults to // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload // request will be determined by sniffing the contents of r, unless a // MediaOption generated by googleapi.ContentType is supplied. // At most one of Media and ResumableMedia may be set. func (c *MediaUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *MediaUploadCall { c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } // ResumableMedia specifies the media to upload in chunks and can be canceled // with ctx. // // Deprecated: use Media instead. // // At most one of Media and ResumableMedia may be set. mediaType identifies the // MIME media type of the upload, such as "image/png". If mediaType is "", it // will be auto-detected. The provided ctx will supersede any context // previously provided to the Context method. func (c *MediaUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MediaUploadCall { c.ctx_ = ctx c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } // ProgressUpdater provides a callback function that will be called after every // chunk. It should be a low-latency function in order to not slow down the // upload operation. This should only be called when using ResumableMedia (as // opposed to Media). func (c *MediaUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MediaUploadCall { c.mediaInfo_.SetProgressUpdater(pu) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *MediaUploadCall) Fields(s ...googleapi.Field) *MediaUploadCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. // This context will supersede any context previously provided to the // ResumableMedia method. func (c *MediaUploadCall) Context(ctx context.Context) *MediaUploadCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *MediaUploadCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *MediaUploadCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlebytestreammedia) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "media/{+resourceName}") if c.mediaInfo_ != nil { urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/media/{+resourceName}") c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) defer cleanup() urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders req.GetBody = getBody googleapi.Expand(req.URL, map[string]string{ "resourceName": c.resourceName, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.media.upload" call. // Any non-2xx status code is an error. Response headers are in either // *GoogleBytestreamMedia.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *MediaUploadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) if rx != nil { rx.Client = c.s.client rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() } res, err = rx.Upload(ctx) if err != nil { return nil, err } defer res.Body.Close() if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } } ret := &GoogleBytestreamMedia{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersEditAssignedTargetingOptionsCall struct { s *Service partnerId int64 bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // EditAssignedTargetingOptions: Edits targeting options under a single // partner. The operation will delete the assigned targeting options provided // in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then // create the assigned targeting options provided in // BulkEditPartnerAssignedTargetingOptionsRequest.createRequests . // // - partnerId: The ID of the partner. func (r *PartnersService) EditAssignedTargetingOptions(partnerId int64, bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest) *PartnersEditAssignedTargetingOptionsCall { c := &PartnersEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.bulkeditpartnerassignedtargetingoptionsrequest = bulkeditpartnerassignedtargetingoptionsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *PartnersEditAssignedTargetingOptionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersEditAssignedTargetingOptionsCall) Context(ctx context.Context) *PartnersEditAssignedTargetingOptionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersEditAssignedTargetingOptionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditpartnerassignedtargetingoptionsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}:editAssignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.editAssignedTargetingOptions" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or // (if a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *PartnersEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditPartnerAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditPartnerAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersGetCall struct { s *Service partnerId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a partner. // // - partnerId: The ID of the partner to fetch. func (r *PartnersService) Get(partnerId int64) *PartnersGetCall { c := &PartnersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersGetCall) Fields(s ...googleapi.Field) *PartnersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *PartnersGetCall) IfNoneMatch(entityTag string) *PartnersGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PartnersGetCall) Context(ctx context.Context) *PartnersGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.get" call. // Any non-2xx status code is an error. Response headers are in either // *Partner.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *PartnersGetCall) Do(opts ...googleapi.CallOption) (*Partner, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Partner{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists partners that are accessible to the current user. The order is // defined by the order_by parameter. func (r *PartnersService) List() *PartnersListCall { c := &PartnersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Filter sets the optional parameter "filter": Allows filtering by partner // fields. Supported syntax: * Filter expressions are made up of one or more // restrictions. * Restrictions can be combined by `AND` or `OR` logical // operators. A sequence of restrictions implicitly uses `AND`. * A restriction // has the form of `{field} {operator} {value}`. * All fields must use the // `EQUALS (=)` operator. Supported fields: * `entityStatus` Examples: * All // active partners: `entityStatus="ENTITY_STATUS_ACTIVE" The length of this // field should be no more than 500 characters. Reference our filter `LIST` // requests (/display-video/api/guides/how-tos/filters) guide for more // information. func (c *PartnersListCall) Filter(filter string) *PartnersListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` The default sorting order is // ascending. To specify descending order for a field, a suffix "desc" should // be added to the field name. For example, `displayName desc`. func (c *PartnersListCall) OrderBy(orderBy string) *PartnersListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *PartnersListCall) PageSize(pageSize int64) *PartnersListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListPartners` method. If // not specified, the first page of results will be returned. func (c *PartnersListCall) PageToken(pageToken string) *PartnersListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersListCall) Fields(s ...googleapi.Field) *PartnersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *PartnersListCall) IfNoneMatch(entityTag string) *PartnersListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PartnersListCall) Context(ctx context.Context) *PartnersListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListPartnersResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *PartnersListCall) Do(opts ...googleapi.CallOption) (*ListPartnersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListPartnersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *PartnersListCall) Pages(ctx context.Context, f func(*ListPartnersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type PartnersChannelsCreateCall struct { s *Service partnerId int64 channel *Channel urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new channel. Returns the newly created channel if // successful. // // - partnerId: The ID of the partner that owns the created channel. func (r *PartnersChannelsService) Create(partnerId int64, channel *Channel) *PartnersChannelsCreateCall { c := &PartnersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channel = channel return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the created channel. func (c *PartnersChannelsCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsCreateCall) Context(ctx context.Context) *PartnersChannelsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.create" call. // Any non-2xx status code is an error. Response headers are in either // *Channel.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *PartnersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Channel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersChannelsGetCall struct { s *Service partnerId int64 channelId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a channel for a partner or advertiser. // // - channelId: The ID of the channel to fetch. // - partnerId: The ID of the partner that owns the fetched channel. func (r *PartnersChannelsService) Get(partnerId int64, channelId int64) *PartnersChannelsGetCall { c := &PartnersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channelId = channelId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the fetched channel. func (c *PartnersChannelsGetCall) AdvertiserId(advertiserId int64) *PartnersChannelsGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsGetCall) Fields(s ...googleapi.Field) *PartnersChannelsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *PartnersChannelsGetCall) IfNoneMatch(entityTag string) *PartnersChannelsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsGetCall) Context(ctx context.Context) *PartnersChannelsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels/{+channelId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.get" call. // Any non-2xx status code is an error. Response headers are in either // *Channel.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *PartnersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Channel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersChannelsListCall struct { s *Service partnerId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists channels for a partner or advertiser. // // - partnerId: The ID of the partner that owns the channels. func (r *PartnersChannelsService) List(partnerId int64) *PartnersChannelsListCall { c := &PartnersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the channels. func (c *PartnersChannelsListCall) AdvertiserId(advertiserId int64) *PartnersChannelsListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by channel // fields. Supported syntax: * Filter expressions for channel can only contain // at most one restriction. * A restriction has the form of `{field} {operator} // {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * // `displayName` Examples: * All channels for which the display name contains // "google": `displayName : "google". The length of this field should be no // more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *PartnersChannelsListCall) Filter(filter string) *PartnersChannelsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) * `channelId` The // default sorting order is ascending. To specify descending order for a field, // a suffix " desc" should be added to the field name. Example: `displayName // desc`. func (c *PartnersChannelsListCall) OrderBy(orderBy string) *PartnersChannelsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *PartnersChannelsListCall) PageSize(pageSize int64) *PartnersChannelsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListChannels` method. If // not specified, the first page of results will be returned. func (c *PartnersChannelsListCall) PageToken(pageToken string) *PartnersChannelsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsListCall) Fields(s ...googleapi.Field) *PartnersChannelsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *PartnersChannelsListCall) IfNoneMatch(entityTag string) *PartnersChannelsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsListCall) Context(ctx context.Context) *PartnersChannelsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListChannelsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *PartnersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListChannelsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *PartnersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type PartnersChannelsPatchCall struct { s *Service partnerId int64 channelId int64 channel *Channel urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a channel. Returns the updated channel if successful. // // - channelId: Output only. The unique ID of the channel. Assigned by the // system. // - partnerId: The ID of the partner that owns the created channel. func (r *PartnersChannelsService) Patch(partnerId int64, channelId int64, channel *Channel) *PartnersChannelsPatchCall { c := &PartnersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channelId = channelId c.channel = channel return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the created channel. func (c *PartnersChannelsPatchCall) AdvertiserId(advertiserId int64) *PartnersChannelsPatchCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *PartnersChannelsPatchCall) UpdateMask(updateMask string) *PartnersChannelsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsPatchCall) Fields(s ...googleapi.Field) *PartnersChannelsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsPatchCall) Context(ctx context.Context) *PartnersChannelsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels/{channelId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Channel.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *PartnersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Channel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersChannelsSitesBulkEditCall struct { s *Service partnerId int64 channelId int64 bulkeditsitesrequest *BulkEditSitesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkEdit: Bulk edits sites under a single channel. The operation will delete // the sites provided in BulkEditSitesRequest.deleted_sites and then create the // sites provided in BulkEditSitesRequest.created_sites. // // - channelId: The ID of the parent channel to which the sites belong. // - partnerId: The ID of the partner that owns the parent channel. func (r *PartnersChannelsSitesService) BulkEdit(partnerId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *PartnersChannelsSitesBulkEditCall { c := &PartnersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channelId = channelId c.bulkeditsitesrequest = bulkeditsitesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesBulkEditCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsSitesBulkEditCall) Context(ctx context.Context) *PartnersChannelsSitesBulkEditCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsSitesBulkEditCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.sites.bulkEdit" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditSitesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *PartnersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditSitesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersChannelsSitesCreateCall struct { s *Service partnerId int64 channelId int64 site *Site urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a site in a channel. // // - channelId: The ID of the parent channel in which the site will be created. // - partnerId: The ID of the partner that owns the parent channel. func (r *PartnersChannelsSitesService) Create(partnerId int64, channelId int64, site *Site) *PartnersChannelsSitesCreateCall { c := &PartnersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channelId = channelId c.site = site return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent channel. func (c *PartnersChannelsSitesCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesCreateCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsSitesCreateCall) Context(ctx context.Context) *PartnersChannelsSitesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsSitesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.site) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.sites.create" call. // Any non-2xx status code is an error. Response headers are in either // *Site.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *PartnersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Site{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersChannelsSitesDeleteCall struct { s *Service partnerId int64 channelId int64 urlOrAppId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a site from a channel. // // - channelId: The ID of the parent channel to which the site belongs. // - partnerId: The ID of the partner that owns the parent channel. // - urlOrAppId: The URL or app ID of the site to delete. func (r *PartnersChannelsSitesService) Delete(partnerId int64, channelId int64, urlOrAppId string) *PartnersChannelsSitesDeleteCall { c := &PartnersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channelId = channelId c.urlOrAppId = urlOrAppId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent channel. func (c *PartnersChannelsSitesDeleteCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesDeleteCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsSitesDeleteCall) Context(ctx context.Context) *PartnersChannelsSitesDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsSitesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "channelId": strconv.FormatInt(c.channelId, 10), "urlOrAppId": c.urlOrAppId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.sites.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *PartnersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersChannelsSitesListCall struct { s *Service partnerId int64 channelId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists sites in a channel. // // - channelId: The ID of the parent channel to which the requested sites // belong. // - partnerId: The ID of the partner that owns the parent channel. func (r *PartnersChannelsSitesService) List(partnerId int64, channelId int64) *PartnersChannelsSitesListCall { c := &PartnersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channelId = channelId return c } // AdvertiserId sets the optional parameter "advertiserId": The ID of the // advertiser that owns the parent channel. func (c *PartnersChannelsSitesListCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by site // fields. Supported syntax: * Filter expressions for site retrieval can only // contain at most one restriction. * A restriction has the form of `{field} // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported // fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID // contains "google": `urlOrAppId : "google" The length of this field should // be no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *PartnersChannelsSitesListCall) Filter(filter string) *PartnersChannelsSitesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `urlOrAppId` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix " // desc" should be added to the field name. Example: `urlOrAppId desc`. func (c *PartnersChannelsSitesListCall) OrderBy(orderBy string) *PartnersChannelsSitesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `10000`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *PartnersChannelsSitesListCall) PageSize(pageSize int64) *PartnersChannelsSitesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListSites` method. If // not specified, the first page of results will be returned. func (c *PartnersChannelsSitesListCall) PageToken(pageToken string) *PartnersChannelsSitesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsSitesListCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *PartnersChannelsSitesListCall) IfNoneMatch(entityTag string) *PartnersChannelsSitesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsSitesListCall) Context(ctx context.Context) *PartnersChannelsSitesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsSitesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels/{+channelId}/sites") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.sites.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListSitesResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *PartnersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListSitesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *PartnersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type PartnersChannelsSitesReplaceCall struct { s *Service partnerId int64 channelId int64 replacesitesrequest *ReplaceSitesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Replace: Replaces all of the sites under a single channel. The operation // will replace the sites under a channel with the sites provided in // ReplaceSitesRequest.new_sites. **This method regularly experiences high // latency.** We recommend increasing your default timeout // (/display-video/api/guides/best-practices/timeouts#client_library_timeout) // to avoid errors. // // - channelId: The ID of the parent channel whose sites will be replaced. // - partnerId: The ID of the partner that owns the parent channel. func (r *PartnersChannelsSitesService) Replace(partnerId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *PartnersChannelsSitesReplaceCall { c := &PartnersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.channelId = channelId c.replacesitesrequest = replacesitesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesReplaceCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersChannelsSitesReplaceCall) Context(ctx context.Context) *PartnersChannelsSitesReplaceCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersChannelsSitesReplaceCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites:replace") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "channelId": strconv.FormatInt(c.channelId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.channels.sites.replace" call. // Any non-2xx status code is an error. Response headers are in either // *ReplaceSitesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *PartnersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ReplaceSitesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersTargetingTypesAssignedTargetingOptionsCreateCall struct { s *Service partnerId int64 targetingType string assignedtargetingoption *AssignedTargetingOption urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Assigns a targeting option to a partner. Returns the assigned // targeting option if successful. // // - partnerId: The ID of the partner. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_CHANNEL`. func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Create(partnerId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall { c := &PartnersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.targetingType = targetingType c.assignedtargetingoption = assignedtargetingoption return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.create" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersTargetingTypesAssignedTargetingOptionsDeleteCall struct { s *Service partnerId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an assigned targeting option from a partner. // // - assignedTargetingOptionId: The ID of the assigned targeting option to // delete. // - partnerId: The ID of the partner. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_CHANNEL`. func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Delete(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall { c := &PartnersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersTargetingTypesAssignedTargetingOptionsGetCall struct { s *Service partnerId int64 targetingType string assignedTargetingOptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single targeting option assigned to a partner. // // - assignedTargetingOptionId: An identifier unique to the targeting type in // this partner that identifies the assigned targeting option being // requested. // - partnerId: The ID of the partner. // - targetingType: Identifies the type of this assigned targeting option. // Supported targeting types: * `TARGETING_TYPE_CHANNEL`. func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Get(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall { c := &PartnersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.targetingType = targetingType c.assignedTargetingOptionId = assignedTargetingOptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "targetingType": c.targetingType, "assignedTargetingOptionId": c.assignedTargetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *AssignedTargetingOption.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AssignedTargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type PartnersTargetingTypesAssignedTargetingOptionsListCall struct { s *Service partnerId int64 targetingType string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the targeting options assigned to a partner. // // - partnerId: The ID of the partner. // - targetingType: Identifies the type of assigned targeting options to list. // Supported targeting types: * `TARGETING_TYPE_CHANNEL`. func (r *PartnersTargetingTypesAssignedTargetingOptionsService) List(partnerId int64, targetingType string) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c := &PartnersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.partnerId = partnerId c.targetingType = targetingType return c } // Filter sets the optional parameter "filter": Allows filtering by assigned // targeting option fields. Supported syntax: * Filter expressions are made up // of one or more restrictions. * Restrictions can be combined by the logical // operator `OR`. * A restriction has the form of `{field} {operator} {value}`. // * All fields must use the `EQUALS (=)` operator. Supported fields: * // `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resource // with ID 123456: `assignedTargetingOptionId="123456" The length of this // field should be no more than 500 characters. Reference our filter `LIST` // requests (/display-video/api/guides/how-tos/filters) guide for more // information. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `assignedTargetingOptionId` (default) The // default sorting order is ascending. To specify descending order for a field, // a suffix "desc" should be added to the field name. Example: // `assignedTargetingOptionId desc`. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to // `ListPartnerAssignedTargetingOptions` method. If not specified, the first // page of results will be returned. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "partnerId": strconv.FormatInt(c.partnerId, 10), "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListPartnerAssignedTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListPartnerAssignedTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListPartnerAssignedTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type SdfdownloadtasksCreateCall struct { s *Service createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates an SDF Download Task. Returns an Operation. An SDF Download // Task is a long-running, asynchronous operation. The metadata type of this // operation is SdfDownloadTaskMetadata. If the request is successful, the // response type of the operation is SdfDownloadTask. The response will not // include the download files, which must be retrieved with media.download. The // state of operation can be retrieved with sdfdownloadtask.operations.get. Any // errors can be found in the error.message. Note that error.details is // expected to be empty. func (r *SdfdownloadtasksService) Create(createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest) *SdfdownloadtasksCreateCall { c := &SdfdownloadtasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.createsdfdownloadtaskrequest = createsdfdownloadtaskrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SdfdownloadtasksCreateCall) Fields(s ...googleapi.Field) *SdfdownloadtasksCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SdfdownloadtasksCreateCall) Context(ctx context.Context) *SdfdownloadtasksCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SdfdownloadtasksCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SdfdownloadtasksCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.createsdfdownloadtaskrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/sdfdownloadtasks") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.sdfdownloadtasks.create" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SdfdownloadtasksCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SdfdownloadtasksOperationsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets the latest state of an asynchronous SDF download task operation. // Clients should poll this method at intervals of 30 seconds. // // - name: The name of the operation resource. func (r *SdfdownloadtasksOperationsService) Get(name string) *SdfdownloadtasksOperationsGetCall { c := &SdfdownloadtasksOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SdfdownloadtasksOperationsGetCall) Fields(s ...googleapi.Field) *SdfdownloadtasksOperationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *SdfdownloadtasksOperationsGetCall) IfNoneMatch(entityTag string) *SdfdownloadtasksOperationsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *SdfdownloadtasksOperationsGetCall) Context(ctx context.Context) *SdfdownloadtasksOperationsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SdfdownloadtasksOperationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SdfdownloadtasksOperationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.sdfdownloadtasks.operations.get" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SdfdownloadtasksOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type TargetingTypesTargetingOptionsGetCall struct { s *Service targetingType string targetingOptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single targeting option. // // - targetingOptionId: The ID of the of targeting option to retrieve. // - targetingType: The type of targeting option to retrieve. Accepted values // are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * // `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` // - `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` // - `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * // `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` // - `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` // - `TARGETING_TYPE_OMID`. func (r *TargetingTypesTargetingOptionsService) Get(targetingType string, targetingOptionId string) *TargetingTypesTargetingOptionsGetCall { c := &TargetingTypesTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.targetingType = targetingType c.targetingOptionId = targetingOptionId return c } // AdvertiserId sets the optional parameter "advertiserId": Required. The // Advertiser this request is being made in the context of. func (c *TargetingTypesTargetingOptionsGetCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsGetCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *TargetingTypesTargetingOptionsGetCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *TargetingTypesTargetingOptionsGetCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *TargetingTypesTargetingOptionsGetCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *TargetingTypesTargetingOptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TargetingTypesTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "targetingType": c.targetingType, "targetingOptionId": c.targetingOptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.targetingTypes.targetingOptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *TargetingOption.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *TargetingTypesTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*TargetingOption, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &TargetingOption{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type TargetingTypesTargetingOptionsListCall struct { s *Service targetingType string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists targeting options of a given type. // // - targetingType: The type of targeting option to be listed. Accepted values // are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * // `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * // `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` // - `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` // - `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * // `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * // `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * // `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * // `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` // - `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` // - `TARGETING_TYPE_OMID`. func (r *TargetingTypesTargetingOptionsService) List(targetingType string) *TargetingTypesTargetingOptionsListCall { c := &TargetingTypesTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.targetingType = targetingType return c } // AdvertiserId sets the optional parameter "advertiserId": Required. The // Advertiser this request is being made in the context of. func (c *TargetingTypesTargetingOptionsListCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsListCall { c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId)) return c } // Filter sets the optional parameter "filter": Allows filtering by targeting // option fields. Supported syntax: * Filter expressions are made up of one or // more restrictions. * Restrictions can be combined by `OR` logical operators. // * A restriction has the form of `{field} {operator} {value}`. * All fields // must use the `EQUALS (=)` operator. Supported fields: * // `carrierAndIspDetails.type` * `geoRegionDetails.geoRegionType` * // `targetingOptionId` Examples: * All `GEO REGION` targeting options that // belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: // `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR // geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE" * All `CARRIER AND // ISP` targeting options that belong to sub type // `CARRIER_AND_ISP_TYPE_CARRIER`: // `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER" The length of // this field should be no more than 500 characters. Reference our filter // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more // information. func (c *TargetingTypesTargetingOptionsListCall) Filter(filter string) *TargetingTypesTargetingOptionsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `targetingOptionId` (default) The default // sorting order is ascending. To specify descending order for a field, a // suffix "desc" should be added to the field name. Example: `targetingOptionId // desc`. func (c *TargetingTypesTargetingOptionsListCall) OrderBy(orderBy string) *TargetingTypesTargetingOptionsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. Returns // error code `INVALID_ARGUMENT` if an invalid value is specified. func (c *TargetingTypesTargetingOptionsListCall) PageSize(pageSize int64) *TargetingTypesTargetingOptionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListTargetingOptions` // method. If not specified, the first page of results will be returned. func (c *TargetingTypesTargetingOptionsListCall) PageToken(pageToken string) *TargetingTypesTargetingOptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *TargetingTypesTargetingOptionsListCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *TargetingTypesTargetingOptionsListCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *TargetingTypesTargetingOptionsListCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *TargetingTypesTargetingOptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TargetingTypesTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/targetingTypes/{+targetingType}/targetingOptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.targetingTypes.targetingOptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListTargetingOptionsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *TargetingTypesTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *TargetingTypesTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListTargetingOptionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type TargetingTypesTargetingOptionsSearchCall struct { s *Service targetingType string searchtargetingoptionsrequest *SearchTargetingOptionsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Search: Searches for targeting options of a given type based on the given // search terms. // // - targetingType: The type of targeting options to retrieve. Accepted values // are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * // `TARGETING_TYPE_BUSINESS_CHAIN`. func (r *TargetingTypesTargetingOptionsService) Search(targetingType string, searchtargetingoptionsrequest *SearchTargetingOptionsRequest) *TargetingTypesTargetingOptionsSearchCall { c := &TargetingTypesTargetingOptionsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.targetingType = targetingType c.searchtargetingoptionsrequest = searchtargetingoptionsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *TargetingTypesTargetingOptionsSearchCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsSearchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *TargetingTypesTargetingOptionsSearchCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsSearchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *TargetingTypesTargetingOptionsSearchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TargetingTypesTargetingOptionsSearchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchtargetingoptionsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/targetingTypes/{+targetingType}/targetingOptions:search") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "targetingType": c.targetingType, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.targetingTypes.targetingOptions.search" call. // Any non-2xx status code is an error. Response headers are in either // *SearchTargetingOptionsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *TargetingTypesTargetingOptionsSearchCall) Do(opts ...googleapi.CallOption) (*SearchTargetingOptionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &SearchTargetingOptionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *TargetingTypesTargetingOptionsSearchCall) Pages(ctx context.Context, f func(*SearchTargetingOptionsResponse) error) error { c.ctx_ = ctx defer func(pt string) { c.searchtargetingoptionsrequest.PageToken = pt }(c.searchtargetingoptionsrequest.PageToken) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.searchtargetingoptionsrequest.PageToken = x.NextPageToken } } type UsersBulkEditAssignedUserRolesCall struct { s *Service userId int64 bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BulkEditAssignedUserRoles: Bulk edits user roles for a user. The operation // will delete the assigned user roles provided in // BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign // the user roles provided in // BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has // unique authentication requirements. Read the prerequisites in our Managing // Users guide (/display-video/api/guides/users/overview#prerequisites) before // using this method. The "Try this method" feature does not work for this // method. // // - userId: The ID of the user to which the assigned user roles belong. func (r *UsersService) BulkEditAssignedUserRoles(userId int64, bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest) *UsersBulkEditAssignedUserRolesCall { c := &UsersBulkEditAssignedUserRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.userId = userId c.bulkeditassigneduserrolesrequest = bulkeditassigneduserrolesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *UsersBulkEditAssignedUserRolesCall) Fields(s ...googleapi.Field) *UsersBulkEditAssignedUserRolesCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *UsersBulkEditAssignedUserRolesCall) Context(ctx context.Context) *UsersBulkEditAssignedUserRolesCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *UsersBulkEditAssignedUserRolesCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *UsersBulkEditAssignedUserRolesCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassigneduserrolesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}:bulkEditAssignedUserRoles") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "userId": strconv.FormatInt(c.userId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.users.bulkEditAssignedUserRoles" call. // Any non-2xx status code is an error. Response headers are in either // *BulkEditAssignedUserRolesResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *UsersBulkEditAssignedUserRolesCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedUserRolesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &BulkEditAssignedUserRolesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type UsersCreateCall struct { s *Service user *User urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new user. Returns the newly created user if successful. // This method has unique authentication requirements. Read the prerequisites // in our Managing Users guide // (/display-video/api/guides/users/overview#prerequisites) before using this // method. The "Try this method" feature does not work for this method. func (r *UsersService) Create(user *User) *UsersCreateCall { c := &UsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.user = user return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *UsersCreateCall) Fields(s ...googleapi.Field) *UsersCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *UsersCreateCall) Context(ctx context.Context) *UsersCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *UsersCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.user) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.users.create" call. // Any non-2xx status code is an error. Response headers are in either // *User.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *UsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &User{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type UsersDeleteCall struct { s *Service userId int64 urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a user. This method has unique authentication requirements. // Read the prerequisites in our Managing Users guide // (/display-video/api/guides/users/overview#prerequisites) before using this // method. The "Try this method" feature does not work for this method. // // - userId: The ID of the user to delete. func (r *UsersService) Delete(userId int64) *UsersDeleteCall { c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.userId = userId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *UsersDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "userId": strconv.FormatInt(c.userId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.users.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type UsersGetCall struct { s *Service userId int64 urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a user. This method has unique authentication requirements. Read // the prerequisites in our Managing Users guide // (/display-video/api/guides/users/overview#prerequisites) before using this // method. The "Try this method" feature does not work for this method. // // - userId: The ID of the user to fetch. func (r *UsersService) Get(userId int64) *UsersGetCall { c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.userId = userId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *UsersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "userId": strconv.FormatInt(c.userId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.users.get" call. // Any non-2xx status code is an error. Response headers are in either // *User.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &User{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type UsersListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists users that are accessible to the current user. If two users have // user roles on the same partner or advertiser, they can access each other. // This method has unique authentication requirements. Read the prerequisites // in our Managing Users guide // (/display-video/api/guides/users/overview#prerequisites) before using this // method. The "Try this method" feature does not work for this method. func (r *UsersService) List() *UsersListCall { c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Filter sets the optional parameter "filter": Allows filtering by user // fields. Supported syntax: * Filter expressions are made up of one or more // restrictions. * Restrictions can be combined by the logical operator `AND`. // * A restriction has the form of `{field} {operator} {value}`. * The // `displayName` and `email` fields must use the `HAS (:)` operator. * The // `lastLoginTime` field must use either the `LESS THAN OR EQUAL TO (<=)` or // `GREATER THAN OR EQUAL TO (>=)` operator. * All other fields must use the // `EQUALS (=)` operator. Supported fields: * `assignedUserRole.advertiserId` * // `assignedUserRole.entityType`: This is synthetic field of `AssignedUserRole` // used for filtering. Identifies the type of entity to which the user role is // assigned. Valid values are `Partner` and `Advertiser`. * // `assignedUserRole.parentPartnerId`: This is a synthetic field of // `AssignedUserRole` used for filtering. Identifies the parent partner of the // entity to which the user role is assigned. * `assignedUserRole.partnerId` * // `assignedUserRole.userRole` * `displayName` * `email` * `lastLoginTime` // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * The user // with `displayName` containing "foo": `displayName:"foo" * The user with // `email` containing "bar": `email:"bar" * All users with standard user // roles: `assignedUserRole.userRole="STANDARD" * All users with user roles // for partner 123: `assignedUserRole.partnerId="123" * All users with user // roles for advertiser 123: `assignedUserRole.advertiserId="123" * All users // with partner level user roles: `entityType="PARTNER" * All users with user // roles for partner 123 and advertisers under partner 123: // `parentPartnerId="123" * All users that last logged in on or after // 2023-01-01T00:00:00Z (format of ISO 8601): // `lastLoginTime>="2023-01-01T00:00:00Z" The length of this field should be // no more than 500 characters. Reference our filter `LIST` requests // (/display-video/api/guides/how-tos/filters) guide for more information. func (c *UsersListCall) Filter(filter string) *UsersListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Field by which to sort the // list. Acceptable values are: * `displayName` (default) The default sorting // order is ascending. To specify descending order for a field, a suffix "desc" // should be added to the field name. For example, `displayName desc`. func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Requested page size. Must // be between `1` and `200`. If unspecified will default to `100`. func (c *UsersListCall) PageSize(pageSize int64) *UsersListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A token identifying a // page of results the server should return. Typically, this is the value of // next_page_token returned from the previous call to `ListUsers` method. If // not specified, the first page of results will be returned. func (c *UsersListCall) PageToken(pageToken string) *UsersListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *UsersListCall) Context(ctx context.Context) *UsersListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *UsersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *UsersListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.users.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListUsersResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListUsersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *UsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type UsersPatchCall struct { s *Service userId int64 user *User urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an existing user. Returns the updated user if successful. // This method has unique authentication requirements. Read the prerequisites // in our Managing Users guide // (/display-video/api/guides/users/overview#prerequisites) before using this // method. The "Try this method" feature does not work for this method. // // - userId: Output only. The unique ID of the user. Assigned by the system. func (r *UsersService) Patch(userId int64, user *User) *UsersPatchCall { c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.userId = userId c.user = user return c } // UpdateMask sets the optional parameter "updateMask": Required. The mask to // control which fields to update. func (c *UsersPatchCall) UpdateMask(updateMask string) *UsersPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *UsersPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.user) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "userId": strconv.FormatInt(c.userId, 10), }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "displayvideo.users.patch" call. // Any non-2xx status code is an error. Response headers are in either // *User.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &User{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil }