...

Source file src/google.golang.org/api/adexchangebuyer/v1.2/adexchangebuyer-gen.go

Documentation: google.golang.org/api/adexchangebuyer/v1.2

     1  // Copyright 2021 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package adexchangebuyer provides access to the Ad Exchange Buyer API.
     8  //
     9  // For product documentation, see: https://developers.google.com/ad-exchange/buyer-rest
    10  //
    11  // # Creating a client
    12  //
    13  // Usage example:
    14  //
    15  //	import "google.golang.org/api/adexchangebuyer/v1.2"
    16  //	...
    17  //	ctx := context.Background()
    18  //	adexchangebuyerService, err := adexchangebuyer.NewService(ctx)
    19  //
    20  // In this example, Google Application Default Credentials are used for authentication.
    21  //
    22  // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    23  //
    24  // # Other authentication options
    25  //
    26  // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
    27  //
    28  //	adexchangebuyerService, err := adexchangebuyer.NewService(ctx, option.WithAPIKey("AIza..."))
    29  //
    30  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
    31  //
    32  //	config := &oauth2.Config{...}
    33  //	// ...
    34  //	token, err := config.Exchange(ctx, ...)
    35  //	adexchangebuyerService, err := adexchangebuyer.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    36  //
    37  // See https://godoc.org/google.golang.org/api/option/ for details on options.
    38  package adexchangebuyer // import "google.golang.org/api/adexchangebuyer/v1.2"
    39  
    40  import (
    41  	"bytes"
    42  	"context"
    43  	"encoding/json"
    44  	"errors"
    45  	"fmt"
    46  	"io"
    47  	"net/http"
    48  	"net/url"
    49  	"strconv"
    50  	"strings"
    51  
    52  	googleapi "google.golang.org/api/googleapi"
    53  	gensupport "google.golang.org/api/internal/gensupport"
    54  	option "google.golang.org/api/option"
    55  	internaloption "google.golang.org/api/option/internaloption"
    56  	htransport "google.golang.org/api/transport/http"
    57  )
    58  
    59  // Always reference these packages, just in case the auto-generated code
    60  // below doesn't.
    61  var _ = bytes.NewBuffer
    62  var _ = strconv.Itoa
    63  var _ = fmt.Sprintf
    64  var _ = json.NewDecoder
    65  var _ = io.Copy
    66  var _ = url.Parse
    67  var _ = gensupport.MarshalJSON
    68  var _ = googleapi.Version
    69  var _ = errors.New
    70  var _ = strings.Replace
    71  var _ = context.Canceled
    72  var _ = internaloption.WithDefaultEndpoint
    73  
    74  const apiId = "adexchangebuyer:v1.2"
    75  const apiName = "adexchangebuyer"
    76  const apiVersion = "v1.2"
    77  const basePath = "https://www.googleapis.com/adexchangebuyer/v1.2/"
    78  
    79  // OAuth2 scopes used by this API.
    80  const (
    81  	// Manage your Ad Exchange buyer account configuration
    82  	AdexchangeBuyerScope = "https://www.googleapis.com/auth/adexchange.buyer"
    83  )
    84  
    85  // NewService creates a new Service.
    86  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
    87  	scopesOption := option.WithScopes(
    88  		"https://www.googleapis.com/auth/adexchange.buyer",
    89  	)
    90  	// NOTE: prepend, so we don't override user-specified scopes.
    91  	opts = append([]option.ClientOption{scopesOption}, opts...)
    92  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
    93  	client, endpoint, err := htransport.NewClient(ctx, opts...)
    94  	if err != nil {
    95  		return nil, err
    96  	}
    97  	s, err := New(client)
    98  	if err != nil {
    99  		return nil, err
   100  	}
   101  	if endpoint != "" {
   102  		s.BasePath = endpoint
   103  	}
   104  	return s, nil
   105  }
   106  
   107  // New creates a new Service. It uses the provided http.Client for requests.
   108  //
   109  // Deprecated: please use NewService instead.
   110  // To provide a custom HTTP client, use option.WithHTTPClient.
   111  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   112  func New(client *http.Client) (*Service, error) {
   113  	if client == nil {
   114  		return nil, errors.New("client is nil")
   115  	}
   116  	s := &Service{client: client, BasePath: basePath}
   117  	s.Accounts = NewAccountsService(s)
   118  	s.Creatives = NewCreativesService(s)
   119  	return s, nil
   120  }
   121  
   122  type Service struct {
   123  	client    *http.Client
   124  	BasePath  string // API endpoint base URL
   125  	UserAgent string // optional additional User-Agent fragment
   126  
   127  	Accounts *AccountsService
   128  
   129  	Creatives *CreativesService
   130  }
   131  
   132  func (s *Service) userAgent() string {
   133  	if s.UserAgent == "" {
   134  		return googleapi.UserAgent
   135  	}
   136  	return googleapi.UserAgent + " " + s.UserAgent
   137  }
   138  
   139  func NewAccountsService(s *Service) *AccountsService {
   140  	rs := &AccountsService{s: s}
   141  	return rs
   142  }
   143  
   144  type AccountsService struct {
   145  	s *Service
   146  }
   147  
   148  func NewCreativesService(s *Service) *CreativesService {
   149  	rs := &CreativesService{s: s}
   150  	return rs
   151  }
   152  
   153  type CreativesService struct {
   154  	s *Service
   155  }
   156  
   157  // Account: Configuration data for an Ad Exchange buyer account.
   158  type Account struct {
   159  	// BidderLocation: Your bidder locations that have distinct URLs.
   160  	BidderLocation []*AccountBidderLocation `json:"bidderLocation,omitempty"`
   161  
   162  	// CookieMatchingNid: The nid parameter value used in cookie match
   163  	// requests. Please contact your technical account manager if you need
   164  	// to change this.
   165  	CookieMatchingNid string `json:"cookieMatchingNid,omitempty"`
   166  
   167  	// CookieMatchingUrl: The base URL used in cookie match requests.
   168  	CookieMatchingUrl string `json:"cookieMatchingUrl,omitempty"`
   169  
   170  	// Id: Account id.
   171  	Id int64 `json:"id,omitempty"`
   172  
   173  	// Kind: Resource type.
   174  	Kind string `json:"kind,omitempty"`
   175  
   176  	// MaximumActiveCreatives: The maximum number of active creatives that
   177  	// an account can have, where a creative is active if it was inserted or
   178  	// bid with in the last 30 days. Please contact your technical account
   179  	// manager if you need to change this.
   180  	MaximumActiveCreatives int64 `json:"maximumActiveCreatives,omitempty"`
   181  
   182  	// MaximumTotalQps: The sum of all bidderLocation.maximumQps values
   183  	// cannot exceed this. Please contact your technical account manager if
   184  	// you need to change this.
   185  	MaximumTotalQps int64 `json:"maximumTotalQps,omitempty"`
   186  
   187  	// NumberActiveCreatives: The number of creatives that this account
   188  	// inserted or bid with in the last 30 days.
   189  	NumberActiveCreatives int64 `json:"numberActiveCreatives,omitempty"`
   190  
   191  	// ServerResponse contains the HTTP response code and headers from the
   192  	// server.
   193  	googleapi.ServerResponse `json:"-"`
   194  
   195  	// ForceSendFields is a list of field names (e.g. "BidderLocation") to
   196  	// unconditionally include in API requests. By default, fields with
   197  	// empty or default values are omitted from API requests. However, any
   198  	// non-pointer, non-interface field appearing in ForceSendFields will be
   199  	// sent to the server regardless of whether the field is empty or not.
   200  	// This may be used to include empty fields in Patch requests.
   201  	ForceSendFields []string `json:"-"`
   202  
   203  	// NullFields is a list of field names (e.g. "BidderLocation") to
   204  	// include in API requests with the JSON null value. By default, fields
   205  	// with empty values are omitted from API requests. However, any field
   206  	// with an empty value appearing in NullFields will be sent to the
   207  	// server as null. It is an error if a field in this list has a
   208  	// non-empty value. This may be used to include null fields in Patch
   209  	// requests.
   210  	NullFields []string `json:"-"`
   211  }
   212  
   213  func (s *Account) MarshalJSON() ([]byte, error) {
   214  	type NoMethod Account
   215  	raw := NoMethod(*s)
   216  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   217  }
   218  
   219  type AccountBidderLocation struct {
   220  	// MaximumQps: The maximum queries per second the Ad Exchange will send.
   221  	MaximumQps int64 `json:"maximumQps,omitempty"`
   222  
   223  	// Region: The geographical region the Ad Exchange should send requests
   224  	// from. Only used by some quota systems, but always setting the value
   225  	// is recommended. Allowed values:
   226  	// - ASIA
   227  	// - EUROPE
   228  	// - US_EAST
   229  	// - US_WEST
   230  	Region string `json:"region,omitempty"`
   231  
   232  	// Url: The URL to which the Ad Exchange will send bid requests.
   233  	Url string `json:"url,omitempty"`
   234  
   235  	// ForceSendFields is a list of field names (e.g. "MaximumQps") to
   236  	// unconditionally include in API requests. By default, fields with
   237  	// empty or default values are omitted from API requests. However, any
   238  	// non-pointer, non-interface field appearing in ForceSendFields will be
   239  	// sent to the server regardless of whether the field is empty or not.
   240  	// This may be used to include empty fields in Patch requests.
   241  	ForceSendFields []string `json:"-"`
   242  
   243  	// NullFields is a list of field names (e.g. "MaximumQps") to include in
   244  	// API requests with the JSON null value. By default, fields with empty
   245  	// values are omitted from API requests. However, any field with an
   246  	// empty value appearing in NullFields will be sent to the server as
   247  	// null. It is an error if a field in this list has a non-empty value.
   248  	// This may be used to include null fields in Patch requests.
   249  	NullFields []string `json:"-"`
   250  }
   251  
   252  func (s *AccountBidderLocation) MarshalJSON() ([]byte, error) {
   253  	type NoMethod AccountBidderLocation
   254  	raw := NoMethod(*s)
   255  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   256  }
   257  
   258  // AccountsList: An account feed lists Ad Exchange buyer accounts that
   259  // the user has access to. Each entry in the feed corresponds to a
   260  // single buyer account.
   261  type AccountsList struct {
   262  	// Items: A list of accounts.
   263  	Items []*Account `json:"items,omitempty"`
   264  
   265  	// Kind: Resource type.
   266  	Kind string `json:"kind,omitempty"`
   267  
   268  	// ServerResponse contains the HTTP response code and headers from the
   269  	// server.
   270  	googleapi.ServerResponse `json:"-"`
   271  
   272  	// ForceSendFields is a list of field names (e.g. "Items") to
   273  	// unconditionally include in API requests. By default, fields with
   274  	// empty or default values are omitted from API requests. However, any
   275  	// non-pointer, non-interface field appearing in ForceSendFields will be
   276  	// sent to the server regardless of whether the field is empty or not.
   277  	// This may be used to include empty fields in Patch requests.
   278  	ForceSendFields []string `json:"-"`
   279  
   280  	// NullFields is a list of field names (e.g. "Items") to include in API
   281  	// requests with the JSON null value. By default, fields with empty
   282  	// values are omitted from API requests. However, any field with an
   283  	// empty value appearing in NullFields will be sent to the server as
   284  	// null. It is an error if a field in this list has a non-empty value.
   285  	// This may be used to include null fields in Patch requests.
   286  	NullFields []string `json:"-"`
   287  }
   288  
   289  func (s *AccountsList) MarshalJSON() ([]byte, error) {
   290  	type NoMethod AccountsList
   291  	raw := NoMethod(*s)
   292  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   293  }
   294  
   295  // Creative: A creative and its classification data.
   296  type Creative struct {
   297  	// HTMLSnippet: The HTML snippet that displays the ad when inserted in
   298  	// the web page. If set, videoURL should not be set.
   299  	HTMLSnippet string `json:"HTMLSnippet,omitempty"`
   300  
   301  	// AccountId: Account id.
   302  	AccountId int64 `json:"accountId,omitempty"`
   303  
   304  	// AdvertiserId: Detected advertiser id, if any. Read-only. This field
   305  	// should not be set in requests.
   306  	AdvertiserId googleapi.Int64s `json:"advertiserId,omitempty"`
   307  
   308  	// AdvertiserName: The name of the company being advertised in the
   309  	// creative.
   310  	AdvertiserName string `json:"advertiserName,omitempty"`
   311  
   312  	// AgencyId: The agency id for this creative.
   313  	AgencyId int64 `json:"agencyId,omitempty,string"`
   314  
   315  	// ApiUploadTimestamp: The last upload timestamp of this creative if it
   316  	// was uploaded via API. Read-only. The value of this field is
   317  	// generated, and will be ignored for uploads. (formatted RFC 3339
   318  	// timestamp).
   319  	ApiUploadTimestamp string `json:"apiUploadTimestamp,omitempty"`
   320  
   321  	// Attribute: All attributes for the ads that may be shown from this
   322  	// snippet.
   323  	Attribute []int64 `json:"attribute,omitempty"`
   324  
   325  	// BuyerCreativeId: A buyer-specific id identifying the creative in this
   326  	// ad.
   327  	BuyerCreativeId string `json:"buyerCreativeId,omitempty"`
   328  
   329  	// ClickThroughUrl: The set of destination urls for the snippet.
   330  	ClickThroughUrl []string `json:"clickThroughUrl,omitempty"`
   331  
   332  	// Corrections: Shows any corrections that were applied to this
   333  	// creative. Read-only. This field should not be set in requests.
   334  	Corrections []*CreativeCorrections `json:"corrections,omitempty"`
   335  
   336  	// DisapprovalReasons: The reasons for disapproval, if any. Note that
   337  	// not all disapproval reasons may be categorized, so it is possible for
   338  	// the creative to have a status of DISAPPROVED with an empty list for
   339  	// disapproval_reasons. In this case, please reach out to your TAM to
   340  	// help debug the issue. Read-only. This field should not be set in
   341  	// requests.
   342  	DisapprovalReasons []*CreativeDisapprovalReasons `json:"disapprovalReasons,omitempty"`
   343  
   344  	// FilteringReasons: The filtering reasons for the creative. Read-only.
   345  	// This field should not be set in requests.
   346  	FilteringReasons *CreativeFilteringReasons `json:"filteringReasons,omitempty"`
   347  
   348  	// Height: Ad height.
   349  	Height int64 `json:"height,omitempty"`
   350  
   351  	// ImpressionTrackingUrl: The set of urls to be called to record an
   352  	// impression.
   353  	ImpressionTrackingUrl []string `json:"impressionTrackingUrl,omitempty"`
   354  
   355  	// Kind: Resource type.
   356  	Kind string `json:"kind,omitempty"`
   357  
   358  	// ProductCategories: Detected product categories, if any. Read-only.
   359  	// This field should not be set in requests.
   360  	ProductCategories []int64 `json:"productCategories,omitempty"`
   361  
   362  	// RestrictedCategories: All restricted categories for the ads that may
   363  	// be shown from this snippet.
   364  	RestrictedCategories []int64 `json:"restrictedCategories,omitempty"`
   365  
   366  	// SensitiveCategories: Detected sensitive categories, if any.
   367  	// Read-only. This field should not be set in requests.
   368  	SensitiveCategories []int64 `json:"sensitiveCategories,omitempty"`
   369  
   370  	// Status: Creative serving status. Read-only. This field should not be
   371  	// set in requests.
   372  	Status string `json:"status,omitempty"`
   373  
   374  	// VendorType: All vendor types for the ads that may be shown from this
   375  	// snippet.
   376  	VendorType []int64 `json:"vendorType,omitempty"`
   377  
   378  	// Version: The version for this creative. Read-only. This field should
   379  	// not be set in requests.
   380  	Version int64 `json:"version,omitempty"`
   381  
   382  	// VideoURL: The url to fetch a video ad. If set, HTMLSnippet should not
   383  	// be set.
   384  	VideoURL string `json:"videoURL,omitempty"`
   385  
   386  	// Width: Ad width.
   387  	Width int64 `json:"width,omitempty"`
   388  
   389  	// ServerResponse contains the HTTP response code and headers from the
   390  	// server.
   391  	googleapi.ServerResponse `json:"-"`
   392  
   393  	// ForceSendFields is a list of field names (e.g. "HTMLSnippet") to
   394  	// unconditionally include in API requests. By default, fields with
   395  	// empty or default values are omitted from API requests. However, any
   396  	// non-pointer, non-interface field appearing in ForceSendFields will be
   397  	// sent to the server regardless of whether the field is empty or not.
   398  	// This may be used to include empty fields in Patch requests.
   399  	ForceSendFields []string `json:"-"`
   400  
   401  	// NullFields is a list of field names (e.g. "HTMLSnippet") to include
   402  	// in API requests with the JSON null value. By default, fields with
   403  	// empty values are omitted from API requests. However, any field with
   404  	// an empty value appearing in NullFields will be sent to the server as
   405  	// null. It is an error if a field in this list has a non-empty value.
   406  	// This may be used to include null fields in Patch requests.
   407  	NullFields []string `json:"-"`
   408  }
   409  
   410  func (s *Creative) MarshalJSON() ([]byte, error) {
   411  	type NoMethod Creative
   412  	raw := NoMethod(*s)
   413  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   414  }
   415  
   416  type CreativeCorrections struct {
   417  	// Details: Additional details about the correction.
   418  	Details []string `json:"details,omitempty"`
   419  
   420  	// Reason: The type of correction that was applied to the creative.
   421  	Reason string `json:"reason,omitempty"`
   422  
   423  	// ForceSendFields is a list of field names (e.g. "Details") to
   424  	// unconditionally include in API requests. By default, fields with
   425  	// empty or default values are omitted from API requests. However, any
   426  	// non-pointer, non-interface field appearing in ForceSendFields will be
   427  	// sent to the server regardless of whether the field is empty or not.
   428  	// This may be used to include empty fields in Patch requests.
   429  	ForceSendFields []string `json:"-"`
   430  
   431  	// NullFields is a list of field names (e.g. "Details") to include in
   432  	// API requests with the JSON null value. By default, fields with empty
   433  	// values are omitted from API requests. However, any field with an
   434  	// empty value appearing in NullFields will be sent to the server as
   435  	// null. It is an error if a field in this list has a non-empty value.
   436  	// This may be used to include null fields in Patch requests.
   437  	NullFields []string `json:"-"`
   438  }
   439  
   440  func (s *CreativeCorrections) MarshalJSON() ([]byte, error) {
   441  	type NoMethod CreativeCorrections
   442  	raw := NoMethod(*s)
   443  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   444  }
   445  
   446  type CreativeDisapprovalReasons struct {
   447  	// Details: Additional details about the reason for disapproval.
   448  	Details []string `json:"details,omitempty"`
   449  
   450  	// Reason: The categorized reason for disapproval.
   451  	Reason string `json:"reason,omitempty"`
   452  
   453  	// ForceSendFields is a list of field names (e.g. "Details") to
   454  	// unconditionally include in API requests. By default, fields with
   455  	// empty or default values are omitted from API requests. However, any
   456  	// non-pointer, non-interface field appearing in ForceSendFields will be
   457  	// sent to the server regardless of whether the field is empty or not.
   458  	// This may be used to include empty fields in Patch requests.
   459  	ForceSendFields []string `json:"-"`
   460  
   461  	// NullFields is a list of field names (e.g. "Details") to include in
   462  	// API requests with the JSON null value. By default, fields with empty
   463  	// values are omitted from API requests. However, any field with an
   464  	// empty value appearing in NullFields will be sent to the server as
   465  	// null. It is an error if a field in this list has a non-empty value.
   466  	// This may be used to include null fields in Patch requests.
   467  	NullFields []string `json:"-"`
   468  }
   469  
   470  func (s *CreativeDisapprovalReasons) MarshalJSON() ([]byte, error) {
   471  	type NoMethod CreativeDisapprovalReasons
   472  	raw := NoMethod(*s)
   473  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   474  }
   475  
   476  // CreativeFilteringReasons: The filtering reasons for the creative.
   477  // Read-only. This field should not be set in requests.
   478  type CreativeFilteringReasons struct {
   479  	// Date: The date in ISO 8601 format for the data. The data is collected
   480  	// from 00:00:00 to 23:59:59 in PST.
   481  	Date string `json:"date,omitempty"`
   482  
   483  	// Reasons: The filtering reasons.
   484  	Reasons []*CreativeFilteringReasonsReasons `json:"reasons,omitempty"`
   485  
   486  	// ForceSendFields is a list of field names (e.g. "Date") to
   487  	// unconditionally include in API requests. By default, fields with
   488  	// empty or default values are omitted from API requests. However, any
   489  	// non-pointer, non-interface field appearing in ForceSendFields will be
   490  	// sent to the server regardless of whether the field is empty or not.
   491  	// This may be used to include empty fields in Patch requests.
   492  	ForceSendFields []string `json:"-"`
   493  
   494  	// NullFields is a list of field names (e.g. "Date") to include in API
   495  	// requests with the JSON null value. By default, fields with empty
   496  	// values are omitted from API requests. However, any field with an
   497  	// empty value appearing in NullFields will be sent to the server as
   498  	// null. It is an error if a field in this list has a non-empty value.
   499  	// This may be used to include null fields in Patch requests.
   500  	NullFields []string `json:"-"`
   501  }
   502  
   503  func (s *CreativeFilteringReasons) MarshalJSON() ([]byte, error) {
   504  	type NoMethod CreativeFilteringReasons
   505  	raw := NoMethod(*s)
   506  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   507  }
   508  
   509  type CreativeFilteringReasonsReasons struct {
   510  	// FilteringCount: The number of times the creative was filtered for the
   511  	// status. The count is aggregated across all publishers on the
   512  	// exchange.
   513  	FilteringCount int64 `json:"filteringCount,omitempty,string"`
   514  
   515  	// FilteringStatus: The filtering status code. Please refer to the
   516  	// creative-status-codes.txt file for different statuses.
   517  	FilteringStatus int64 `json:"filteringStatus,omitempty"`
   518  
   519  	// ForceSendFields is a list of field names (e.g. "FilteringCount") to
   520  	// unconditionally include in API requests. By default, fields with
   521  	// empty or default values are omitted from API requests. However, any
   522  	// non-pointer, non-interface field appearing in ForceSendFields will be
   523  	// sent to the server regardless of whether the field is empty or not.
   524  	// This may be used to include empty fields in Patch requests.
   525  	ForceSendFields []string `json:"-"`
   526  
   527  	// NullFields is a list of field names (e.g. "FilteringCount") to
   528  	// include in API requests with the JSON null value. By default, fields
   529  	// with empty values are omitted from API requests. However, any field
   530  	// with an empty value appearing in NullFields will be sent to the
   531  	// server as null. It is an error if a field in this list has a
   532  	// non-empty value. This may be used to include null fields in Patch
   533  	// requests.
   534  	NullFields []string `json:"-"`
   535  }
   536  
   537  func (s *CreativeFilteringReasonsReasons) MarshalJSON() ([]byte, error) {
   538  	type NoMethod CreativeFilteringReasonsReasons
   539  	raw := NoMethod(*s)
   540  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   541  }
   542  
   543  // CreativesList: The creatives feed lists the active creatives for the
   544  // Ad Exchange buyer accounts that the user has access to. Each entry in
   545  // the feed corresponds to a single creative.
   546  type CreativesList struct {
   547  	// Items: A list of creatives.
   548  	Items []*Creative `json:"items,omitempty"`
   549  
   550  	// Kind: Resource type.
   551  	Kind string `json:"kind,omitempty"`
   552  
   553  	// NextPageToken: Continuation token used to page through creatives. To
   554  	// retrieve the next page of results, set the next request's "pageToken"
   555  	// value to this.
   556  	NextPageToken string `json:"nextPageToken,omitempty"`
   557  
   558  	// ServerResponse contains the HTTP response code and headers from the
   559  	// server.
   560  	googleapi.ServerResponse `json:"-"`
   561  
   562  	// ForceSendFields is a list of field names (e.g. "Items") to
   563  	// unconditionally include in API requests. By default, fields with
   564  	// empty or default values are omitted from API requests. However, any
   565  	// non-pointer, non-interface field appearing in ForceSendFields will be
   566  	// sent to the server regardless of whether the field is empty or not.
   567  	// This may be used to include empty fields in Patch requests.
   568  	ForceSendFields []string `json:"-"`
   569  
   570  	// NullFields is a list of field names (e.g. "Items") to include in API
   571  	// requests with the JSON null value. By default, fields with empty
   572  	// values are omitted from API requests. However, any field with an
   573  	// empty value appearing in NullFields will be sent to the server as
   574  	// null. It is an error if a field in this list has a non-empty value.
   575  	// This may be used to include null fields in Patch requests.
   576  	NullFields []string `json:"-"`
   577  }
   578  
   579  func (s *CreativesList) MarshalJSON() ([]byte, error) {
   580  	type NoMethod CreativesList
   581  	raw := NoMethod(*s)
   582  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   583  }
   584  
   585  // method id "adexchangebuyer.accounts.get":
   586  
   587  type AccountsGetCall struct {
   588  	s            *Service
   589  	id           int64
   590  	urlParams_   gensupport.URLParams
   591  	ifNoneMatch_ string
   592  	ctx_         context.Context
   593  	header_      http.Header
   594  }
   595  
   596  // Get: Gets one account by ID.
   597  //
   598  // - id: The account id.
   599  func (r *AccountsService) Get(id int64) *AccountsGetCall {
   600  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
   601  	c.id = id
   602  	return c
   603  }
   604  
   605  // Fields allows partial responses to be retrieved. See
   606  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
   607  // for more information.
   608  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
   609  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
   610  	return c
   611  }
   612  
   613  // IfNoneMatch sets the optional parameter which makes the operation
   614  // fail if the object's ETag matches the given value. This is useful for
   615  // getting updates only after the object has changed since the last
   616  // request. Use googleapi.IsNotModified to check whether the response
   617  // error from Do is the result of In-None-Match.
   618  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
   619  	c.ifNoneMatch_ = entityTag
   620  	return c
   621  }
   622  
   623  // Context sets the context to be used in this call's Do method. Any
   624  // pending HTTP request will be aborted if the provided context is
   625  // canceled.
   626  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
   627  	c.ctx_ = ctx
   628  	return c
   629  }
   630  
   631  // Header returns an http.Header that can be modified by the caller to
   632  // add HTTP headers to the request.
   633  func (c *AccountsGetCall) Header() http.Header {
   634  	if c.header_ == nil {
   635  		c.header_ = make(http.Header)
   636  	}
   637  	return c.header_
   638  }
   639  
   640  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
   641  	reqHeaders := make(http.Header)
   642  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210819")
   643  	for k, v := range c.header_ {
   644  		reqHeaders[k] = v
   645  	}
   646  	reqHeaders.Set("User-Agent", c.s.userAgent())
   647  	if c.ifNoneMatch_ != "" {
   648  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
   649  	}
   650  	var body io.Reader = nil
   651  	c.urlParams_.Set("alt", alt)
   652  	c.urlParams_.Set("prettyPrint", "false")
   653  	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
   654  	urls += "?" + c.urlParams_.Encode()
   655  	req, err := http.NewRequest("GET", urls, body)
   656  	if err != nil {
   657  		return nil, err
   658  	}
   659  	req.Header = reqHeaders
   660  	googleapi.Expand(req.URL, map[string]string{
   661  		"id": strconv.FormatInt(c.id, 10),
   662  	})
   663  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
   664  }
   665  
   666  // Do executes the "adexchangebuyer.accounts.get" call.
   667  // Exactly one of *Account or error will be non-nil. Any non-2xx status
   668  // code is an error. Response headers are in either
   669  // *Account.ServerResponse.Header or (if a response was returned at all)
   670  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
   671  // check whether the returned error was because http.StatusNotModified
   672  // was returned.
   673  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
   674  	gensupport.SetOptions(c.urlParams_, opts...)
   675  	res, err := c.doRequest("json")
   676  	if res != nil && res.StatusCode == http.StatusNotModified {
   677  		if res.Body != nil {
   678  			res.Body.Close()
   679  		}
   680  		return nil, &googleapi.Error{
   681  			Code:   res.StatusCode,
   682  			Header: res.Header,
   683  		}
   684  	}
   685  	if err != nil {
   686  		return nil, err
   687  	}
   688  	defer googleapi.CloseBody(res)
   689  	if err := googleapi.CheckResponse(res); err != nil {
   690  		return nil, err
   691  	}
   692  	ret := &Account{
   693  		ServerResponse: googleapi.ServerResponse{
   694  			Header:         res.Header,
   695  			HTTPStatusCode: res.StatusCode,
   696  		},
   697  	}
   698  	target := &ret
   699  	if err := gensupport.DecodeResponse(target, res); err != nil {
   700  		return nil, err
   701  	}
   702  	return ret, nil
   703  	// {
   704  	//   "description": "Gets one account by ID.",
   705  	//   "httpMethod": "GET",
   706  	//   "id": "adexchangebuyer.accounts.get",
   707  	//   "parameterOrder": [
   708  	//     "id"
   709  	//   ],
   710  	//   "parameters": {
   711  	//     "id": {
   712  	//       "description": "The account id",
   713  	//       "format": "int32",
   714  	//       "location": "path",
   715  	//       "required": true,
   716  	//       "type": "integer"
   717  	//     }
   718  	//   },
   719  	//   "path": "accounts/{id}",
   720  	//   "response": {
   721  	//     "$ref": "Account"
   722  	//   },
   723  	//   "scopes": [
   724  	//     "https://www.googleapis.com/auth/adexchange.buyer"
   725  	//   ]
   726  	// }
   727  
   728  }
   729  
   730  // method id "adexchangebuyer.accounts.list":
   731  
   732  type AccountsListCall struct {
   733  	s            *Service
   734  	urlParams_   gensupport.URLParams
   735  	ifNoneMatch_ string
   736  	ctx_         context.Context
   737  	header_      http.Header
   738  }
   739  
   740  // List: Retrieves the authenticated user's list of accounts.
   741  func (r *AccountsService) List() *AccountsListCall {
   742  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
   743  	return c
   744  }
   745  
   746  // Fields allows partial responses to be retrieved. See
   747  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
   748  // for more information.
   749  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
   750  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
   751  	return c
   752  }
   753  
   754  // IfNoneMatch sets the optional parameter which makes the operation
   755  // fail if the object's ETag matches the given value. This is useful for
   756  // getting updates only after the object has changed since the last
   757  // request. Use googleapi.IsNotModified to check whether the response
   758  // error from Do is the result of In-None-Match.
   759  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
   760  	c.ifNoneMatch_ = entityTag
   761  	return c
   762  }
   763  
   764  // Context sets the context to be used in this call's Do method. Any
   765  // pending HTTP request will be aborted if the provided context is
   766  // canceled.
   767  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
   768  	c.ctx_ = ctx
   769  	return c
   770  }
   771  
   772  // Header returns an http.Header that can be modified by the caller to
   773  // add HTTP headers to the request.
   774  func (c *AccountsListCall) Header() http.Header {
   775  	if c.header_ == nil {
   776  		c.header_ = make(http.Header)
   777  	}
   778  	return c.header_
   779  }
   780  
   781  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
   782  	reqHeaders := make(http.Header)
   783  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210819")
   784  	for k, v := range c.header_ {
   785  		reqHeaders[k] = v
   786  	}
   787  	reqHeaders.Set("User-Agent", c.s.userAgent())
   788  	if c.ifNoneMatch_ != "" {
   789  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
   790  	}
   791  	var body io.Reader = nil
   792  	c.urlParams_.Set("alt", alt)
   793  	c.urlParams_.Set("prettyPrint", "false")
   794  	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
   795  	urls += "?" + c.urlParams_.Encode()
   796  	req, err := http.NewRequest("GET", urls, body)
   797  	if err != nil {
   798  		return nil, err
   799  	}
   800  	req.Header = reqHeaders
   801  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
   802  }
   803  
   804  // Do executes the "adexchangebuyer.accounts.list" call.
   805  // Exactly one of *AccountsList or error will be non-nil. Any non-2xx
   806  // status code is an error. Response headers are in either
   807  // *AccountsList.ServerResponse.Header or (if a response was returned at
   808  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
   809  // to check whether the returned error was because
   810  // http.StatusNotModified was returned.
   811  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsList, error) {
   812  	gensupport.SetOptions(c.urlParams_, opts...)
   813  	res, err := c.doRequest("json")
   814  	if res != nil && res.StatusCode == http.StatusNotModified {
   815  		if res.Body != nil {
   816  			res.Body.Close()
   817  		}
   818  		return nil, &googleapi.Error{
   819  			Code:   res.StatusCode,
   820  			Header: res.Header,
   821  		}
   822  	}
   823  	if err != nil {
   824  		return nil, err
   825  	}
   826  	defer googleapi.CloseBody(res)
   827  	if err := googleapi.CheckResponse(res); err != nil {
   828  		return nil, err
   829  	}
   830  	ret := &AccountsList{
   831  		ServerResponse: googleapi.ServerResponse{
   832  			Header:         res.Header,
   833  			HTTPStatusCode: res.StatusCode,
   834  		},
   835  	}
   836  	target := &ret
   837  	if err := gensupport.DecodeResponse(target, res); err != nil {
   838  		return nil, err
   839  	}
   840  	return ret, nil
   841  	// {
   842  	//   "description": "Retrieves the authenticated user's list of accounts.",
   843  	//   "httpMethod": "GET",
   844  	//   "id": "adexchangebuyer.accounts.list",
   845  	//   "path": "accounts",
   846  	//   "response": {
   847  	//     "$ref": "AccountsList"
   848  	//   },
   849  	//   "scopes": [
   850  	//     "https://www.googleapis.com/auth/adexchange.buyer"
   851  	//   ]
   852  	// }
   853  
   854  }
   855  
   856  // method id "adexchangebuyer.accounts.patch":
   857  
   858  type AccountsPatchCall struct {
   859  	s          *Service
   860  	id         int64
   861  	account    *Account
   862  	urlParams_ gensupport.URLParams
   863  	ctx_       context.Context
   864  	header_    http.Header
   865  }
   866  
   867  // Patch: Updates an existing account. This method supports patch
   868  // semantics.
   869  //
   870  // - id: The account id.
   871  func (r *AccountsService) Patch(id int64, account *Account) *AccountsPatchCall {
   872  	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
   873  	c.id = id
   874  	c.account = account
   875  	return c
   876  }
   877  
   878  // Fields allows partial responses to be retrieved. See
   879  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
   880  // for more information.
   881  func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
   882  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
   883  	return c
   884  }
   885  
   886  // Context sets the context to be used in this call's Do method. Any
   887  // pending HTTP request will be aborted if the provided context is
   888  // canceled.
   889  func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
   890  	c.ctx_ = ctx
   891  	return c
   892  }
   893  
   894  // Header returns an http.Header that can be modified by the caller to
   895  // add HTTP headers to the request.
   896  func (c *AccountsPatchCall) Header() http.Header {
   897  	if c.header_ == nil {
   898  		c.header_ = make(http.Header)
   899  	}
   900  	return c.header_
   901  }
   902  
   903  func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
   904  	reqHeaders := make(http.Header)
   905  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210819")
   906  	for k, v := range c.header_ {
   907  		reqHeaders[k] = v
   908  	}
   909  	reqHeaders.Set("User-Agent", c.s.userAgent())
   910  	var body io.Reader = nil
   911  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
   912  	if err != nil {
   913  		return nil, err
   914  	}
   915  	reqHeaders.Set("Content-Type", "application/json")
   916  	c.urlParams_.Set("alt", alt)
   917  	c.urlParams_.Set("prettyPrint", "false")
   918  	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
   919  	urls += "?" + c.urlParams_.Encode()
   920  	req, err := http.NewRequest("PATCH", urls, body)
   921  	if err != nil {
   922  		return nil, err
   923  	}
   924  	req.Header = reqHeaders
   925  	googleapi.Expand(req.URL, map[string]string{
   926  		"id": strconv.FormatInt(c.id, 10),
   927  	})
   928  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
   929  }
   930  
   931  // Do executes the "adexchangebuyer.accounts.patch" call.
   932  // Exactly one of *Account or error will be non-nil. Any non-2xx status
   933  // code is an error. Response headers are in either
   934  // *Account.ServerResponse.Header or (if a response was returned at all)
   935  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
   936  // check whether the returned error was because http.StatusNotModified
   937  // was returned.
   938  func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
   939  	gensupport.SetOptions(c.urlParams_, opts...)
   940  	res, err := c.doRequest("json")
   941  	if res != nil && res.StatusCode == http.StatusNotModified {
   942  		if res.Body != nil {
   943  			res.Body.Close()
   944  		}
   945  		return nil, &googleapi.Error{
   946  			Code:   res.StatusCode,
   947  			Header: res.Header,
   948  		}
   949  	}
   950  	if err != nil {
   951  		return nil, err
   952  	}
   953  	defer googleapi.CloseBody(res)
   954  	if err := googleapi.CheckResponse(res); err != nil {
   955  		return nil, err
   956  	}
   957  	ret := &Account{
   958  		ServerResponse: googleapi.ServerResponse{
   959  			Header:         res.Header,
   960  			HTTPStatusCode: res.StatusCode,
   961  		},
   962  	}
   963  	target := &ret
   964  	if err := gensupport.DecodeResponse(target, res); err != nil {
   965  		return nil, err
   966  	}
   967  	return ret, nil
   968  	// {
   969  	//   "description": "Updates an existing account. This method supports patch semantics.",
   970  	//   "httpMethod": "PATCH",
   971  	//   "id": "adexchangebuyer.accounts.patch",
   972  	//   "parameterOrder": [
   973  	//     "id"
   974  	//   ],
   975  	//   "parameters": {
   976  	//     "id": {
   977  	//       "description": "The account id",
   978  	//       "format": "int32",
   979  	//       "location": "path",
   980  	//       "required": true,
   981  	//       "type": "integer"
   982  	//     }
   983  	//   },
   984  	//   "path": "accounts/{id}",
   985  	//   "request": {
   986  	//     "$ref": "Account"
   987  	//   },
   988  	//   "response": {
   989  	//     "$ref": "Account"
   990  	//   },
   991  	//   "scopes": [
   992  	//     "https://www.googleapis.com/auth/adexchange.buyer"
   993  	//   ]
   994  	// }
   995  
   996  }
   997  
   998  // method id "adexchangebuyer.accounts.update":
   999  
  1000  type AccountsUpdateCall struct {
  1001  	s          *Service
  1002  	id         int64
  1003  	account    *Account
  1004  	urlParams_ gensupport.URLParams
  1005  	ctx_       context.Context
  1006  	header_    http.Header
  1007  }
  1008  
  1009  // Update: Updates an existing account.
  1010  //
  1011  // - id: The account id.
  1012  func (r *AccountsService) Update(id int64, account *Account) *AccountsUpdateCall {
  1013  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1014  	c.id = id
  1015  	c.account = account
  1016  	return c
  1017  }
  1018  
  1019  // Fields allows partial responses to be retrieved. See
  1020  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  1021  // for more information.
  1022  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
  1023  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1024  	return c
  1025  }
  1026  
  1027  // Context sets the context to be used in this call's Do method. Any
  1028  // pending HTTP request will be aborted if the provided context is
  1029  // canceled.
  1030  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
  1031  	c.ctx_ = ctx
  1032  	return c
  1033  }
  1034  
  1035  // Header returns an http.Header that can be modified by the caller to
  1036  // add HTTP headers to the request.
  1037  func (c *AccountsUpdateCall) Header() http.Header {
  1038  	if c.header_ == nil {
  1039  		c.header_ = make(http.Header)
  1040  	}
  1041  	return c.header_
  1042  }
  1043  
  1044  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
  1045  	reqHeaders := make(http.Header)
  1046  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210819")
  1047  	for k, v := range c.header_ {
  1048  		reqHeaders[k] = v
  1049  	}
  1050  	reqHeaders.Set("User-Agent", c.s.userAgent())
  1051  	var body io.Reader = nil
  1052  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
  1053  	if err != nil {
  1054  		return nil, err
  1055  	}
  1056  	reqHeaders.Set("Content-Type", "application/json")
  1057  	c.urlParams_.Set("alt", alt)
  1058  	c.urlParams_.Set("prettyPrint", "false")
  1059  	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}")
  1060  	urls += "?" + c.urlParams_.Encode()
  1061  	req, err := http.NewRequest("PUT", urls, body)
  1062  	if err != nil {
  1063  		return nil, err
  1064  	}
  1065  	req.Header = reqHeaders
  1066  	googleapi.Expand(req.URL, map[string]string{
  1067  		"id": strconv.FormatInt(c.id, 10),
  1068  	})
  1069  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1070  }
  1071  
  1072  // Do executes the "adexchangebuyer.accounts.update" call.
  1073  // Exactly one of *Account or error will be non-nil. Any non-2xx status
  1074  // code is an error. Response headers are in either
  1075  // *Account.ServerResponse.Header or (if a response was returned at all)
  1076  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  1077  // check whether the returned error was because http.StatusNotModified
  1078  // was returned.
  1079  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
  1080  	gensupport.SetOptions(c.urlParams_, opts...)
  1081  	res, err := c.doRequest("json")
  1082  	if res != nil && res.StatusCode == http.StatusNotModified {
  1083  		if res.Body != nil {
  1084  			res.Body.Close()
  1085  		}
  1086  		return nil, &googleapi.Error{
  1087  			Code:   res.StatusCode,
  1088  			Header: res.Header,
  1089  		}
  1090  	}
  1091  	if err != nil {
  1092  		return nil, err
  1093  	}
  1094  	defer googleapi.CloseBody(res)
  1095  	if err := googleapi.CheckResponse(res); err != nil {
  1096  		return nil, err
  1097  	}
  1098  	ret := &Account{
  1099  		ServerResponse: googleapi.ServerResponse{
  1100  			Header:         res.Header,
  1101  			HTTPStatusCode: res.StatusCode,
  1102  		},
  1103  	}
  1104  	target := &ret
  1105  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1106  		return nil, err
  1107  	}
  1108  	return ret, nil
  1109  	// {
  1110  	//   "description": "Updates an existing account.",
  1111  	//   "httpMethod": "PUT",
  1112  	//   "id": "adexchangebuyer.accounts.update",
  1113  	//   "parameterOrder": [
  1114  	//     "id"
  1115  	//   ],
  1116  	//   "parameters": {
  1117  	//     "id": {
  1118  	//       "description": "The account id",
  1119  	//       "format": "int32",
  1120  	//       "location": "path",
  1121  	//       "required": true,
  1122  	//       "type": "integer"
  1123  	//     }
  1124  	//   },
  1125  	//   "path": "accounts/{id}",
  1126  	//   "request": {
  1127  	//     "$ref": "Account"
  1128  	//   },
  1129  	//   "response": {
  1130  	//     "$ref": "Account"
  1131  	//   },
  1132  	//   "scopes": [
  1133  	//     "https://www.googleapis.com/auth/adexchange.buyer"
  1134  	//   ]
  1135  	// }
  1136  
  1137  }
  1138  
  1139  // method id "adexchangebuyer.creatives.get":
  1140  
  1141  type CreativesGetCall struct {
  1142  	s               *Service
  1143  	accountId       int64
  1144  	buyerCreativeId string
  1145  	urlParams_      gensupport.URLParams
  1146  	ifNoneMatch_    string
  1147  	ctx_            context.Context
  1148  	header_         http.Header
  1149  }
  1150  
  1151  // Get: Gets the status for a single creative. A creative will be
  1152  // available 30-40 minutes after submission.
  1153  //
  1154  // - accountId: The id for the account that will serve this creative.
  1155  // - buyerCreativeId: The buyer-specific id for this creative.
  1156  func (r *CreativesService) Get(accountId int64, buyerCreativeId string) *CreativesGetCall {
  1157  	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1158  	c.accountId = accountId
  1159  	c.buyerCreativeId = buyerCreativeId
  1160  	return c
  1161  }
  1162  
  1163  // Fields allows partial responses to be retrieved. See
  1164  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  1165  // for more information.
  1166  func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
  1167  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1168  	return c
  1169  }
  1170  
  1171  // IfNoneMatch sets the optional parameter which makes the operation
  1172  // fail if the object's ETag matches the given value. This is useful for
  1173  // getting updates only after the object has changed since the last
  1174  // request. Use googleapi.IsNotModified to check whether the response
  1175  // error from Do is the result of In-None-Match.
  1176  func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
  1177  	c.ifNoneMatch_ = entityTag
  1178  	return c
  1179  }
  1180  
  1181  // Context sets the context to be used in this call's Do method. Any
  1182  // pending HTTP request will be aborted if the provided context is
  1183  // canceled.
  1184  func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
  1185  	c.ctx_ = ctx
  1186  	return c
  1187  }
  1188  
  1189  // Header returns an http.Header that can be modified by the caller to
  1190  // add HTTP headers to the request.
  1191  func (c *CreativesGetCall) Header() http.Header {
  1192  	if c.header_ == nil {
  1193  		c.header_ = make(http.Header)
  1194  	}
  1195  	return c.header_
  1196  }
  1197  
  1198  func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
  1199  	reqHeaders := make(http.Header)
  1200  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210819")
  1201  	for k, v := range c.header_ {
  1202  		reqHeaders[k] = v
  1203  	}
  1204  	reqHeaders.Set("User-Agent", c.s.userAgent())
  1205  	if c.ifNoneMatch_ != "" {
  1206  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  1207  	}
  1208  	var body io.Reader = nil
  1209  	c.urlParams_.Set("alt", alt)
  1210  	c.urlParams_.Set("prettyPrint", "false")
  1211  	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives/{accountId}/{buyerCreativeId}")
  1212  	urls += "?" + c.urlParams_.Encode()
  1213  	req, err := http.NewRequest("GET", urls, body)
  1214  	if err != nil {
  1215  		return nil, err
  1216  	}
  1217  	req.Header = reqHeaders
  1218  	googleapi.Expand(req.URL, map[string]string{
  1219  		"accountId":       strconv.FormatInt(c.accountId, 10),
  1220  		"buyerCreativeId": c.buyerCreativeId,
  1221  	})
  1222  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1223  }
  1224  
  1225  // Do executes the "adexchangebuyer.creatives.get" call.
  1226  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
  1227  // code is an error. Response headers are in either
  1228  // *Creative.ServerResponse.Header or (if a response was returned at
  1229  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  1230  // to check whether the returned error was because
  1231  // http.StatusNotModified was returned.
  1232  func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
  1233  	gensupport.SetOptions(c.urlParams_, opts...)
  1234  	res, err := c.doRequest("json")
  1235  	if res != nil && res.StatusCode == http.StatusNotModified {
  1236  		if res.Body != nil {
  1237  			res.Body.Close()
  1238  		}
  1239  		return nil, &googleapi.Error{
  1240  			Code:   res.StatusCode,
  1241  			Header: res.Header,
  1242  		}
  1243  	}
  1244  	if err != nil {
  1245  		return nil, err
  1246  	}
  1247  	defer googleapi.CloseBody(res)
  1248  	if err := googleapi.CheckResponse(res); err != nil {
  1249  		return nil, err
  1250  	}
  1251  	ret := &Creative{
  1252  		ServerResponse: googleapi.ServerResponse{
  1253  			Header:         res.Header,
  1254  			HTTPStatusCode: res.StatusCode,
  1255  		},
  1256  	}
  1257  	target := &ret
  1258  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1259  		return nil, err
  1260  	}
  1261  	return ret, nil
  1262  	// {
  1263  	//   "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
  1264  	//   "httpMethod": "GET",
  1265  	//   "id": "adexchangebuyer.creatives.get",
  1266  	//   "parameterOrder": [
  1267  	//     "accountId",
  1268  	//     "buyerCreativeId"
  1269  	//   ],
  1270  	//   "parameters": {
  1271  	//     "accountId": {
  1272  	//       "description": "The id for the account that will serve this creative.",
  1273  	//       "format": "int32",
  1274  	//       "location": "path",
  1275  	//       "required": true,
  1276  	//       "type": "integer"
  1277  	//     },
  1278  	//     "buyerCreativeId": {
  1279  	//       "description": "The buyer-specific id for this creative.",
  1280  	//       "location": "path",
  1281  	//       "required": true,
  1282  	//       "type": "string"
  1283  	//     }
  1284  	//   },
  1285  	//   "path": "creatives/{accountId}/{buyerCreativeId}",
  1286  	//   "response": {
  1287  	//     "$ref": "Creative"
  1288  	//   },
  1289  	//   "scopes": [
  1290  	//     "https://www.googleapis.com/auth/adexchange.buyer"
  1291  	//   ]
  1292  	// }
  1293  
  1294  }
  1295  
  1296  // method id "adexchangebuyer.creatives.insert":
  1297  
  1298  type CreativesInsertCall struct {
  1299  	s          *Service
  1300  	creative   *Creative
  1301  	urlParams_ gensupport.URLParams
  1302  	ctx_       context.Context
  1303  	header_    http.Header
  1304  }
  1305  
  1306  // Insert: Submit a new creative.
  1307  func (r *CreativesService) Insert(creative *Creative) *CreativesInsertCall {
  1308  	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1309  	c.creative = creative
  1310  	return c
  1311  }
  1312  
  1313  // Fields allows partial responses to be retrieved. See
  1314  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  1315  // for more information.
  1316  func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
  1317  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1318  	return c
  1319  }
  1320  
  1321  // Context sets the context to be used in this call's Do method. Any
  1322  // pending HTTP request will be aborted if the provided context is
  1323  // canceled.
  1324  func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
  1325  	c.ctx_ = ctx
  1326  	return c
  1327  }
  1328  
  1329  // Header returns an http.Header that can be modified by the caller to
  1330  // add HTTP headers to the request.
  1331  func (c *CreativesInsertCall) Header() http.Header {
  1332  	if c.header_ == nil {
  1333  		c.header_ = make(http.Header)
  1334  	}
  1335  	return c.header_
  1336  }
  1337  
  1338  func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
  1339  	reqHeaders := make(http.Header)
  1340  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210819")
  1341  	for k, v := range c.header_ {
  1342  		reqHeaders[k] = v
  1343  	}
  1344  	reqHeaders.Set("User-Agent", c.s.userAgent())
  1345  	var body io.Reader = nil
  1346  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
  1347  	if err != nil {
  1348  		return nil, err
  1349  	}
  1350  	reqHeaders.Set("Content-Type", "application/json")
  1351  	c.urlParams_.Set("alt", alt)
  1352  	c.urlParams_.Set("prettyPrint", "false")
  1353  	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
  1354  	urls += "?" + c.urlParams_.Encode()
  1355  	req, err := http.NewRequest("POST", urls, body)
  1356  	if err != nil {
  1357  		return nil, err
  1358  	}
  1359  	req.Header = reqHeaders
  1360  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1361  }
  1362  
  1363  // Do executes the "adexchangebuyer.creatives.insert" call.
  1364  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
  1365  // code is an error. Response headers are in either
  1366  // *Creative.ServerResponse.Header or (if a response was returned at
  1367  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  1368  // to check whether the returned error was because
  1369  // http.StatusNotModified was returned.
  1370  func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
  1371  	gensupport.SetOptions(c.urlParams_, opts...)
  1372  	res, err := c.doRequest("json")
  1373  	if res != nil && res.StatusCode == http.StatusNotModified {
  1374  		if res.Body != nil {
  1375  			res.Body.Close()
  1376  		}
  1377  		return nil, &googleapi.Error{
  1378  			Code:   res.StatusCode,
  1379  			Header: res.Header,
  1380  		}
  1381  	}
  1382  	if err != nil {
  1383  		return nil, err
  1384  	}
  1385  	defer googleapi.CloseBody(res)
  1386  	if err := googleapi.CheckResponse(res); err != nil {
  1387  		return nil, err
  1388  	}
  1389  	ret := &Creative{
  1390  		ServerResponse: googleapi.ServerResponse{
  1391  			Header:         res.Header,
  1392  			HTTPStatusCode: res.StatusCode,
  1393  		},
  1394  	}
  1395  	target := &ret
  1396  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1397  		return nil, err
  1398  	}
  1399  	return ret, nil
  1400  	// {
  1401  	//   "description": "Submit a new creative.",
  1402  	//   "httpMethod": "POST",
  1403  	//   "id": "adexchangebuyer.creatives.insert",
  1404  	//   "path": "creatives",
  1405  	//   "request": {
  1406  	//     "$ref": "Creative"
  1407  	//   },
  1408  	//   "response": {
  1409  	//     "$ref": "Creative"
  1410  	//   },
  1411  	//   "scopes": [
  1412  	//     "https://www.googleapis.com/auth/adexchange.buyer"
  1413  	//   ]
  1414  	// }
  1415  
  1416  }
  1417  
  1418  // method id "adexchangebuyer.creatives.list":
  1419  
  1420  type CreativesListCall struct {
  1421  	s            *Service
  1422  	urlParams_   gensupport.URLParams
  1423  	ifNoneMatch_ string
  1424  	ctx_         context.Context
  1425  	header_      http.Header
  1426  }
  1427  
  1428  // List: Retrieves a list of the authenticated user's active creatives.
  1429  // A creative will be available 30-40 minutes after submission.
  1430  func (r *CreativesService) List() *CreativesListCall {
  1431  	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1432  	return c
  1433  }
  1434  
  1435  // MaxResults sets the optional parameter "maxResults": Maximum number
  1436  // of entries returned on one result page. If not set, the default is
  1437  // 100.
  1438  func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
  1439  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  1440  	return c
  1441  }
  1442  
  1443  // PageToken sets the optional parameter "pageToken": A continuation
  1444  // token, used to page through ad clients. To retrieve the next page,
  1445  // set this parameter to the value of "nextPageToken" from the previous
  1446  // response.
  1447  func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
  1448  	c.urlParams_.Set("pageToken", pageToken)
  1449  	return c
  1450  }
  1451  
  1452  // StatusFilter sets the optional parameter "statusFilter": When
  1453  // specified, only creatives having the given status are returned.
  1454  //
  1455  // Possible values:
  1456  //
  1457  //	"approved" - Creatives which have been approved.
  1458  //	"disapproved" - Creatives which have been disapproved.
  1459  //	"not_checked" - Creatives whose status is not yet checked.
  1460  func (c *CreativesListCall) StatusFilter(statusFilter string) *CreativesListCall {
  1461  	c.urlParams_.Set("statusFilter", statusFilter)
  1462  	return c
  1463  }
  1464  
  1465  // Fields allows partial responses to be retrieved. See
  1466  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  1467  // for more information.
  1468  func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
  1469  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1470  	return c
  1471  }
  1472  
  1473  // IfNoneMatch sets the optional parameter which makes the operation
  1474  // fail if the object's ETag matches the given value. This is useful for
  1475  // getting updates only after the object has changed since the last
  1476  // request. Use googleapi.IsNotModified to check whether the response
  1477  // error from Do is the result of In-None-Match.
  1478  func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
  1479  	c.ifNoneMatch_ = entityTag
  1480  	return c
  1481  }
  1482  
  1483  // Context sets the context to be used in this call's Do method. Any
  1484  // pending HTTP request will be aborted if the provided context is
  1485  // canceled.
  1486  func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
  1487  	c.ctx_ = ctx
  1488  	return c
  1489  }
  1490  
  1491  // Header returns an http.Header that can be modified by the caller to
  1492  // add HTTP headers to the request.
  1493  func (c *CreativesListCall) Header() http.Header {
  1494  	if c.header_ == nil {
  1495  		c.header_ = make(http.Header)
  1496  	}
  1497  	return c.header_
  1498  }
  1499  
  1500  func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
  1501  	reqHeaders := make(http.Header)
  1502  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210819")
  1503  	for k, v := range c.header_ {
  1504  		reqHeaders[k] = v
  1505  	}
  1506  	reqHeaders.Set("User-Agent", c.s.userAgent())
  1507  	if c.ifNoneMatch_ != "" {
  1508  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  1509  	}
  1510  	var body io.Reader = nil
  1511  	c.urlParams_.Set("alt", alt)
  1512  	c.urlParams_.Set("prettyPrint", "false")
  1513  	urls := googleapi.ResolveRelative(c.s.BasePath, "creatives")
  1514  	urls += "?" + c.urlParams_.Encode()
  1515  	req, err := http.NewRequest("GET", urls, body)
  1516  	if err != nil {
  1517  		return nil, err
  1518  	}
  1519  	req.Header = reqHeaders
  1520  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1521  }
  1522  
  1523  // Do executes the "adexchangebuyer.creatives.list" call.
  1524  // Exactly one of *CreativesList or error will be non-nil. Any non-2xx
  1525  // status code is an error. Response headers are in either
  1526  // *CreativesList.ServerResponse.Header or (if a response was returned
  1527  // at all) in error.(*googleapi.Error).Header. Use
  1528  // googleapi.IsNotModified to check whether the returned error was
  1529  // because http.StatusNotModified was returned.
  1530  func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesList, error) {
  1531  	gensupport.SetOptions(c.urlParams_, opts...)
  1532  	res, err := c.doRequest("json")
  1533  	if res != nil && res.StatusCode == http.StatusNotModified {
  1534  		if res.Body != nil {
  1535  			res.Body.Close()
  1536  		}
  1537  		return nil, &googleapi.Error{
  1538  			Code:   res.StatusCode,
  1539  			Header: res.Header,
  1540  		}
  1541  	}
  1542  	if err != nil {
  1543  		return nil, err
  1544  	}
  1545  	defer googleapi.CloseBody(res)
  1546  	if err := googleapi.CheckResponse(res); err != nil {
  1547  		return nil, err
  1548  	}
  1549  	ret := &CreativesList{
  1550  		ServerResponse: googleapi.ServerResponse{
  1551  			Header:         res.Header,
  1552  			HTTPStatusCode: res.StatusCode,
  1553  		},
  1554  	}
  1555  	target := &ret
  1556  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1557  		return nil, err
  1558  	}
  1559  	return ret, nil
  1560  	// {
  1561  	//   "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
  1562  	//   "httpMethod": "GET",
  1563  	//   "id": "adexchangebuyer.creatives.list",
  1564  	//   "parameters": {
  1565  	//     "maxResults": {
  1566  	//       "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
  1567  	//       "format": "uint32",
  1568  	//       "location": "query",
  1569  	//       "maximum": "1000",
  1570  	//       "minimum": "1",
  1571  	//       "type": "integer"
  1572  	//     },
  1573  	//     "pageToken": {
  1574  	//       "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
  1575  	//       "location": "query",
  1576  	//       "type": "string"
  1577  	//     },
  1578  	//     "statusFilter": {
  1579  	//       "description": "When specified, only creatives having the given status are returned.",
  1580  	//       "enum": [
  1581  	//         "approved",
  1582  	//         "disapproved",
  1583  	//         "not_checked"
  1584  	//       ],
  1585  	//       "enumDescriptions": [
  1586  	//         "Creatives which have been approved.",
  1587  	//         "Creatives which have been disapproved.",
  1588  	//         "Creatives whose status is not yet checked."
  1589  	//       ],
  1590  	//       "location": "query",
  1591  	//       "type": "string"
  1592  	//     }
  1593  	//   },
  1594  	//   "path": "creatives",
  1595  	//   "response": {
  1596  	//     "$ref": "CreativesList"
  1597  	//   },
  1598  	//   "scopes": [
  1599  	//     "https://www.googleapis.com/auth/adexchange.buyer"
  1600  	//   ]
  1601  	// }
  1602  
  1603  }
  1604  
  1605  // Pages invokes f for each page of results.
  1606  // A non-nil error returned from f will halt the iteration.
  1607  // The provided context supersedes any context provided to the Context method.
  1608  func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesList) error) error {
  1609  	c.ctx_ = ctx
  1610  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  1611  	for {
  1612  		x, err := c.Do()
  1613  		if err != nil {
  1614  			return err
  1615  		}
  1616  		if err := f(x); err != nil {
  1617  			return err
  1618  		}
  1619  		if x.NextPageToken == "" {
  1620  			return nil
  1621  		}
  1622  		c.PageToken(x.NextPageToken)
  1623  	}
  1624  }
  1625  

View as plain text