| // Package adexchangebuyer provides access to the Ad Exchange Buyer API. |
| // |
| // See https://developers.google.com/ad-exchange/buyer-rest |
| // |
| // Usage example: |
| // |
| // import "google.golang.org/api/adexchangebuyer/v1.2" |
| // ... |
| // adexchangebuyerService, err := adexchangebuyer.New(oauthHttpClient) |
| package adexchangebuyer // import "google.golang.org/api/adexchangebuyer/v1.2" |
| |
| import ( |
| "bytes" |
| "encoding/json" |
| "errors" |
| "fmt" |
| context "golang.org/x/net/context" |
| ctxhttp "golang.org/x/net/context/ctxhttp" |
| gensupport "google.golang.org/api/gensupport" |
| googleapi "google.golang.org/api/googleapi" |
| "io" |
| "net/http" |
| "net/url" |
| "strconv" |
| "strings" |
| ) |
| |
| // 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 _ = ctxhttp.Do |
| |
| const apiId = "adexchangebuyer:v1.2" |
| const apiName = "adexchangebuyer" |
| const apiVersion = "v1.2" |
| const basePath = "https://www.googleapis.com/adexchangebuyer/v1.2/" |
| |
| // OAuth2 scopes used by this API. |
| const ( |
| // Manage your Ad Exchange buyer account configuration |
| AdexchangeBuyerScope = "https://www.googleapis.com/auth/adexchange.buyer" |
| ) |
| |
| func New(client *http.Client) (*Service, error) { |
| if client == nil { |
| return nil, errors.New("client is nil") |
| } |
| s := &Service{client: client, BasePath: basePath} |
| s.Accounts = NewAccountsService(s) |
| s.Creatives = NewCreativesService(s) |
| return s, nil |
| } |
| |
| type Service struct { |
| client *http.Client |
| BasePath string // API endpoint base URL |
| UserAgent string // optional additional User-Agent fragment |
| |
| Accounts *AccountsService |
| |
| Creatives *CreativesService |
| } |
| |
| func (s *Service) userAgent() string { |
| if s.UserAgent == "" { |
| return googleapi.UserAgent |
| } |
| return googleapi.UserAgent + " " + s.UserAgent |
| } |
| |
| func NewAccountsService(s *Service) *AccountsService { |
| rs := &AccountsService{s: s} |
| return rs |
| } |
| |
| type AccountsService struct { |
| s *Service |
| } |
| |
| func NewCreativesService(s *Service) *CreativesService { |
| rs := &CreativesService{s: s} |
| return rs |
| } |
| |
| type CreativesService struct { |
| s *Service |
| } |
| |
| // Account: Configuration data for an Ad Exchange buyer account. |
| type Account struct { |
| // BidderLocation: Your bidder locations that have distinct URLs. |
| BidderLocation []*AccountBidderLocation `json:"bidderLocation,omitempty"` |
| |
| // CookieMatchingNid: The nid parameter value used in cookie match |
| // requests. Please contact your technical account manager if you need |
| // to change this. |
| CookieMatchingNid string `json:"cookieMatchingNid,omitempty"` |
| |
| // CookieMatchingUrl: The base URL used in cookie match requests. |
| CookieMatchingUrl string `json:"cookieMatchingUrl,omitempty"` |
| |
| // Id: Account id. |
| Id int64 `json:"id,omitempty"` |
| |
| // Kind: Resource type. |
| Kind string `json:"kind,omitempty"` |
| |
| // MaximumActiveCreatives: The maximum number of active creatives that |
| // an account can have, where a creative is active if it was inserted or |
| // bid with in the last 30 days. Please contact your technical account |
| // manager if you need to change this. |
| MaximumActiveCreatives int64 `json:"maximumActiveCreatives,omitempty"` |
| |
| // MaximumTotalQps: The sum of all bidderLocation.maximumQps values |
| // cannot exceed this. Please contact your technical account manager if |
| // you need to change this. |
| MaximumTotalQps int64 `json:"maximumTotalQps,omitempty"` |
| |
| // NumberActiveCreatives: The number of creatives that this account |
| // inserted or bid with in the last 30 days. |
| NumberActiveCreatives int64 `json:"numberActiveCreatives,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "BidderLocation") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *Account) MarshalJSON() ([]byte, error) { |
| type noMethod Account |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| type AccountBidderLocation struct { |
| // MaximumQps: The maximum queries per second the Ad Exchange will send. |
| MaximumQps int64 `json:"maximumQps,omitempty"` |
| |
| // Region: The geographical region the Ad Exchange should send requests |
| // from. Only used by some quota systems, but always setting the value |
| // is recommended. Allowed values: |
| // - ASIA |
| // - EUROPE |
| // - US_EAST |
| // - US_WEST |
| Region string `json:"region,omitempty"` |
| |
| // Url: The URL to which the Ad Exchange will send bid requests. |
| Url string `json:"url,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "MaximumQps") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *AccountBidderLocation) MarshalJSON() ([]byte, error) { |
| type noMethod AccountBidderLocation |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| // AccountsList: An account feed lists Ad Exchange buyer accounts that |
| // the user has access to. Each entry in the feed corresponds to a |
| // single buyer account. |
| type AccountsList struct { |
| // Items: A list of accounts. |
| Items []*Account `json:"items,omitempty"` |
| |
| // Kind: Resource type. |
| Kind string `json:"kind,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "Items") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *AccountsList) MarshalJSON() ([]byte, error) { |
| type noMethod AccountsList |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| // Creative: A creative and its classification data. |
| type Creative struct { |
| // HTMLSnippet: The HTML snippet that displays the ad when inserted in |
| // the web page. If set, videoURL should not be set. |
| HTMLSnippet string `json:"HTMLSnippet,omitempty"` |
| |
| // AccountId: Account id. |
| AccountId int64 `json:"accountId,omitempty"` |
| |
| // AdvertiserId: Detected advertiser id, if any. Read-only. This field |
| // should not be set in requests. |
| AdvertiserId googleapi.Int64s `json:"advertiserId,omitempty"` |
| |
| // AdvertiserName: The name of the company being advertised in the |
| // creative. |
| AdvertiserName string `json:"advertiserName,omitempty"` |
| |
| // AgencyId: The agency id for this creative. |
| AgencyId int64 `json:"agencyId,omitempty,string"` |
| |
| // ApiUploadTimestamp: The last upload timestamp of this creative if it |
| // was uploaded via API. Read-only. The value of this field is |
| // generated, and will be ignored for uploads. (formatted RFC 3339 |
| // timestamp). |
| ApiUploadTimestamp string `json:"apiUploadTimestamp,omitempty"` |
| |
| // Attribute: All attributes for the ads that may be shown from this |
| // snippet. |
| Attribute []int64 `json:"attribute,omitempty"` |
| |
| // BuyerCreativeId: A buyer-specific id identifying the creative in this |
| // ad. |
| BuyerCreativeId string `json:"buyerCreativeId,omitempty"` |
| |
| // ClickThroughUrl: The set of destination urls for the snippet. |
| ClickThroughUrl []string `json:"clickThroughUrl,omitempty"` |
| |
| // Corrections: Shows any corrections that were applied to this |
| // creative. Read-only. This field should not be set in requests. |
| Corrections []*CreativeCorrections `json:"corrections,omitempty"` |
| |
| // DisapprovalReasons: The reasons for disapproval, if any. Note that |
| // not all disapproval reasons may be categorized, so it is possible for |
| // the creative to have a status of DISAPPROVED with an empty list for |
| // disapproval_reasons. In this case, please reach out to your TAM to |
| // help debug the issue. Read-only. This field should not be set in |
| // requests. |
| DisapprovalReasons []*CreativeDisapprovalReasons `json:"disapprovalReasons,omitempty"` |
| |
| // FilteringReasons: The filtering reasons for the creative. Read-only. |
| // This field should not be set in requests. |
| FilteringReasons *CreativeFilteringReasons `json:"filteringReasons,omitempty"` |
| |
| // Height: Ad height. |
| Height int64 `json:"height,omitempty"` |
| |
| // ImpressionTrackingUrl: The set of urls to be called to record an |
| // impression. |
| ImpressionTrackingUrl []string `json:"impressionTrackingUrl,omitempty"` |
| |
| // Kind: Resource type. |
| Kind string `json:"kind,omitempty"` |
| |
| // ProductCategories: Detected product categories, if any. Read-only. |
| // This field should not be set in requests. |
| ProductCategories []int64 `json:"productCategories,omitempty"` |
| |
| // RestrictedCategories: All restricted categories for the ads that may |
| // be shown from this snippet. |
| RestrictedCategories []int64 `json:"restrictedCategories,omitempty"` |
| |
| // SensitiveCategories: Detected sensitive categories, if any. |
| // Read-only. This field should not be set in requests. |
| SensitiveCategories []int64 `json:"sensitiveCategories,omitempty"` |
| |
| // Status: Creative serving status. Read-only. This field should not be |
| // set in requests. |
| Status string `json:"status,omitempty"` |
| |
| // VendorType: All vendor types for the ads that may be shown from this |
| // snippet. |
| VendorType []int64 `json:"vendorType,omitempty"` |
| |
| // Version: The version for this creative. Read-only. This field should |
| // not be set in requests. |
| Version int64 `json:"version,omitempty"` |
| |
| // VideoURL: The url to fetch a video ad. If set, HTMLSnippet should not |
| // be set. |
| VideoURL string `json:"videoURL,omitempty"` |
| |
| // Width: Ad width. |
| Width int64 `json:"width,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "HTMLSnippet") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *Creative) MarshalJSON() ([]byte, error) { |
| type noMethod Creative |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| type CreativeCorrections struct { |
| // Details: Additional details about the correction. |
| Details []string `json:"details,omitempty"` |
| |
| // Reason: The type of correction that was applied to the creative. |
| Reason string `json:"reason,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Details") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *CreativeCorrections) MarshalJSON() ([]byte, error) { |
| type noMethod CreativeCorrections |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| type CreativeDisapprovalReasons struct { |
| // Details: Additional details about the reason for disapproval. |
| Details []string `json:"details,omitempty"` |
| |
| // Reason: The categorized reason for disapproval. |
| Reason string `json:"reason,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Details") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *CreativeDisapprovalReasons) MarshalJSON() ([]byte, error) { |
| type noMethod CreativeDisapprovalReasons |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| // CreativeFilteringReasons: The filtering reasons for the creative. |
| // Read-only. This field should not be set in requests. |
| type CreativeFilteringReasons struct { |
| // Date: The date in ISO 8601 format for the data. The data is collected |
| // from 00:00:00 to 23:59:59 in PST. |
| Date string `json:"date,omitempty"` |
| |
| // Reasons: The filtering reasons. |
| Reasons []*CreativeFilteringReasonsReasons `json:"reasons,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Date") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *CreativeFilteringReasons) MarshalJSON() ([]byte, error) { |
| type noMethod CreativeFilteringReasons |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| type CreativeFilteringReasonsReasons struct { |
| // FilteringCount: The number of times the creative was filtered for the |
| // status. The count is aggregated across all publishers on the |
| // exchange. |
| FilteringCount int64 `json:"filteringCount,omitempty,string"` |
| |
| // FilteringStatus: The filtering status code. Please refer to the |
| // creative-status-codes.txt file for different statuses. |
| FilteringStatus int64 `json:"filteringStatus,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "FilteringCount") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *CreativeFilteringReasonsReasons) MarshalJSON() ([]byte, error) { |
| type noMethod CreativeFilteringReasonsReasons |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| // CreativesList: The creatives feed lists the active creatives for the |
| // Ad Exchange buyer accounts that the user has access to. Each entry in |
| // the feed corresponds to a single creative. |
| type CreativesList struct { |
| // Items: A list of creatives. |
| Items []*Creative `json:"items,omitempty"` |
| |
| // Kind: Resource type. |
| Kind string `json:"kind,omitempty"` |
| |
| // NextPageToken: Continuation token used to page through creatives. To |
| // retrieve the next page of results, set the next request's "pageToken" |
| // value to this. |
| 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. "Items") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| } |
| |
| func (s *CreativesList) MarshalJSON() ([]byte, error) { |
| type noMethod CreativesList |
| raw := noMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields) |
| } |
| |
| // method id "adexchangebuyer.accounts.get": |
| |
| type AccountsGetCall struct { |
| s *Service |
| id int64 |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| } |
| |
| // Get: Gets one account by ID. |
| func (r *AccountsService) Get(id int64) *AccountsGetCall { |
| c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.id = id |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response |
| // error from Do is the result of In-None-Match. |
| func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall { |
| c.ifNoneMatch_ = entityTag |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) { |
| var body io.Reader = nil |
| c.urlParams_.Set("alt", alt) |
| urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}") |
| urls += "?" + c.urlParams_.Encode() |
| req, _ := http.NewRequest("GET", urls, body) |
| googleapi.Expand(req.URL, map[string]string{ |
| "id": strconv.FormatInt(c.id, 10), |
| }) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| if c.ifNoneMatch_ != "" { |
| req.Header.Set("If-None-Match", c.ifNoneMatch_) |
| } |
| if c.ctx_ != nil { |
| return ctxhttp.Do(c.ctx_, c.s.client, req) |
| } |
| return c.s.client.Do(req) |
| } |
| |
| // Do executes the "adexchangebuyer.accounts.get" call. |
| // Exactly one of *Account or error will be non-nil. Any non-2xx status |
| // code is an error. Response headers are in either |
| // *Account.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 *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, 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, &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, err |
| } |
| ret := &Account{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Gets one account by ID.", |
| // "httpMethod": "GET", |
| // "id": "adexchangebuyer.accounts.get", |
| // "parameterOrder": [ |
| // "id" |
| // ], |
| // "parameters": { |
| // "id": { |
| // "description": "The account id", |
| // "format": "int32", |
| // "location": "path", |
| // "required": true, |
| // "type": "integer" |
| // } |
| // }, |
| // "path": "accounts/{id}", |
| // "response": { |
| // "$ref": "Account" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/adexchange.buyer" |
| // ] |
| // } |
| |
| } |
| |
| // method id "adexchangebuyer.accounts.list": |
| |
| type AccountsListCall struct { |
| s *Service |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| } |
| |
| // List: Retrieves the authenticated user's list of accounts. |
| func (r *AccountsService) List() *AccountsListCall { |
| c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response |
| // error from Do is the result of In-None-Match. |
| func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall { |
| c.ifNoneMatch_ = entityTag |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) { |
| var body io.Reader = nil |
| c.urlParams_.Set("alt", alt) |
| urls := googleapi.ResolveRelative(c.s.BasePath, "accounts") |
| urls += "?" + c.urlParams_.Encode() |
| req, _ := http.NewRequest("GET", urls, body) |
| googleapi.SetOpaque(req.URL) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| if c.ifNoneMatch_ != "" { |
| req.Header.Set("If-None-Match", c.ifNoneMatch_) |
| } |
| if c.ctx_ != nil { |
| return ctxhttp.Do(c.ctx_, c.s.client, req) |
| } |
| return c.s.client.Do(req) |
| } |
| |
| // Do executes the "adexchangebuyer.accounts.list" call. |
| // Exactly one of *AccountsList or error will be non-nil. Any non-2xx |
| // status code is an error. Response headers are in either |
| // *AccountsList.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 *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsList, 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, &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, err |
| } |
| ret := &AccountsList{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Retrieves the authenticated user's list of accounts.", |
| // "httpMethod": "GET", |
| // "id": "adexchangebuyer.accounts.list", |
| // "path": "accounts", |
| // "response": { |
| // "$ref": "AccountsList" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/adexchange.buyer" |
| // ] |
| // } |
| |
| } |
| |
| // method id "adexchangebuyer.accounts.patch": |
| |
| type AccountsPatchCall struct { |
| s *Service |
| id int64 |
| account *Account |
| urlParams_ gensupport.URLParams |
| ctx_ context.Context |
| } |
| |
| // Patch: Updates an existing account. This method supports patch |
| // semantics. |
| func (r *AccountsService) Patch(id int64, account *Account) *AccountsPatchCall { |
| c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.id = id |
| c.account = account |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) { |
| var body io.Reader = nil |
| body, err := googleapi.WithoutDataWrapper.JSONReader(c.account) |
| if err != nil { |
| return nil, err |
| } |
| ctype := "application/json" |
| c.urlParams_.Set("alt", alt) |
| urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}") |
| urls += "?" + c.urlParams_.Encode() |
| req, _ := http.NewRequest("PATCH", urls, body) |
| googleapi.Expand(req.URL, map[string]string{ |
| "id": strconv.FormatInt(c.id, 10), |
| }) |
| req.Header.Set("Content-Type", ctype) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| if c.ctx_ != nil { |
| return ctxhttp.Do(c.ctx_, c.s.client, req) |
| } |
| return c.s.client.Do(req) |
| } |
| |
| // Do executes the "adexchangebuyer.accounts.patch" call. |
| // Exactly one of *Account or error will be non-nil. Any non-2xx status |
| // code is an error. Response headers are in either |
| // *Account.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 *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, 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, &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, err |
| } |
| ret := &Account{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Updates an existing account. This method supports patch semantics.", |
| // "httpMethod": "PATCH", |
| // "id": "adexchangebuyer.accounts.patch", |
| // "parameterOrder": [ |
| // "id" |
| // ], |
| // "parameters": { |
| // "id": { |
| // "description": "The account id", |
| // "format": "int32", |
| // "location": "path", |
| // "required": true, |
| // "type": "integer" |
| // } |
| // }, |
| // "path": "accounts/{id}", |
| // "request": { |
| // "$ref": "Account" |
| // }, |
| // "response": { |
| // "$ref": "Account" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/adexchange.buyer" |
| // ] |
| // } |
| |
| } |
| |
| // method id "adexchangebuyer.accounts.update": |
| |
| type AccountsUpdateCall struct { |
| s *Service |
| id int64 |
| account *Account |
| urlParams_ gensupport.URLParams |
| ctx_ context.Context |
| } |
| |
| // Update: Updates an existing account. |
| func (r *AccountsService) Update(id int64, account *Account) *AccountsUpdateCall { |
| c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.id = id |
| c.account = account |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) { |
| var body io.Reader = nil |
| body, err := googleapi.WithoutDataWrapper.JSONReader(c.account) |
| if err != nil { |
| return nil, err |
| } |
| ctype := "application/json" |
| c.urlParams_.Set("alt", alt) |
| urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{id}") |
| urls += "?" + c.urlParams_.Encode() |
| req, _ := http.NewRequest("PUT", urls, body) |
| googleapi.Expand(req.URL, map[string]string{ |
| "id": strconv.FormatInt(c.id, 10), |
| }) |
| req.Header.Set("Content-Type", ctype) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| if c.ctx_ != nil { |
| return ctxhttp.Do(c.ctx_, c.s.client, req) |
| } |
| return c.s.client.Do(req) |
| } |
| |
| // Do executes the "adexchangebuyer.accounts.update" call. |
| // Exactly one of *Account or error will be non-nil. Any non-2xx status |
| // code is an error. Response headers are in either |
| // *Account.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 *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, 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, &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, err |
| } |
| ret := &Account{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Updates an existing account.", |
| // "httpMethod": "PUT", |
| // "id": "adexchangebuyer.accounts.update", |
| // "parameterOrder": [ |
| // "id" |
| // ], |
| // "parameters": { |
| // "id": { |
| // "description": "The account id", |
| // "format": "int32", |
| // "location": "path", |
| // "required": true, |
| // "type": "integer" |
| // } |
| // }, |
| // "path": "accounts/{id}", |
| // "request": { |
| // "$ref": "Account" |
| // }, |
| // "response": { |
| // "$ref": "Account" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/adexchange.buyer" |
| // ] |
| // } |
| |
| } |
| |
| // method id "adexchangebuyer.creatives.get": |
| |
| type CreativesGetCall struct { |
| s *Service |
| accountId int64 |
| buyerCreativeId string |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| } |
| |
| // Get: Gets the status for a single creative. A creative will be |
| // available 30-40 minutes after submission. |
| func (r *CreativesService) Get(accountId int64, buyerCreativeId string) *CreativesGetCall { |
| c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.accountId = accountId |
| c.buyerCreativeId = buyerCreativeId |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response |
| // error from Do is the result of In-None-Match. |
| func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall { |
| c.ifNoneMatch_ = entityTag |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) { |
| var body io.Reader = nil |
| c.urlParams_.Set("alt", alt) |
| urls := googleapi.ResolveRelative(c.s.BasePath, "creatives/{accountId}/{buyerCreativeId}") |
| urls += "?" + c.urlParams_.Encode() |
| req, _ := http.NewRequest("GET", urls, body) |
| googleapi.Expand(req.URL, map[string]string{ |
| "accountId": strconv.FormatInt(c.accountId, 10), |
| "buyerCreativeId": c.buyerCreativeId, |
| }) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| if c.ifNoneMatch_ != "" { |
| req.Header.Set("If-None-Match", c.ifNoneMatch_) |
| } |
| if c.ctx_ != nil { |
| return ctxhttp.Do(c.ctx_, c.s.client, req) |
| } |
| return c.s.client.Do(req) |
| } |
| |
| // Do executes the "adexchangebuyer.creatives.get" call. |
| // Exactly one of *Creative or error will be non-nil. 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 *CreativesGetCall) 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, &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, err |
| } |
| ret := &Creative{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.", |
| // "httpMethod": "GET", |
| // "id": "adexchangebuyer.creatives.get", |
| // "parameterOrder": [ |
| // "accountId", |
| // "buyerCreativeId" |
| // ], |
| // "parameters": { |
| // "accountId": { |
| // "description": "The id for the account that will serve this creative.", |
| // "format": "int32", |
| // "location": "path", |
| // "required": true, |
| // "type": "integer" |
| // }, |
| // "buyerCreativeId": { |
| // "description": "The buyer-specific id for this creative.", |
| // "location": "path", |
| // "required": true, |
| // "type": "string" |
| // } |
| // }, |
| // "path": "creatives/{accountId}/{buyerCreativeId}", |
| // "response": { |
| // "$ref": "Creative" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/adexchange.buyer" |
| // ] |
| // } |
| |
| } |
| |
| // method id "adexchangebuyer.creatives.insert": |
| |
| type CreativesInsertCall struct { |
| s *Service |
| creative *Creative |
| urlParams_ gensupport.URLParams |
| ctx_ context.Context |
| } |
| |
| // Insert: Submit a new creative. |
| func (r *CreativesService) Insert(creative *Creative) *CreativesInsertCall { |
| c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| 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 information. |
| func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) { |
| var body io.Reader = nil |
| body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative) |
| if err != nil { |
| return nil, err |
| } |
| ctype := "application/json" |
| c.urlParams_.Set("alt", alt) |
| urls := googleapi.ResolveRelative(c.s.BasePath, "creatives") |
| urls += "?" + c.urlParams_.Encode() |
| req, _ := http.NewRequest("POST", urls, body) |
| googleapi.SetOpaque(req.URL) |
| req.Header.Set("Content-Type", ctype) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| if c.ctx_ != nil { |
| return ctxhttp.Do(c.ctx_, c.s.client, req) |
| } |
| return c.s.client.Do(req) |
| } |
| |
| // Do executes the "adexchangebuyer.creatives.insert" call. |
| // Exactly one of *Creative or error will be non-nil. 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 *CreativesInsertCall) 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, &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, err |
| } |
| ret := &Creative{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Submit a new creative.", |
| // "httpMethod": "POST", |
| // "id": "adexchangebuyer.creatives.insert", |
| // "path": "creatives", |
| // "request": { |
| // "$ref": "Creative" |
| // }, |
| // "response": { |
| // "$ref": "Creative" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/adexchange.buyer" |
| // ] |
| // } |
| |
| } |
| |
| // method id "adexchangebuyer.creatives.list": |
| |
| type CreativesListCall struct { |
| s *Service |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| } |
| |
| // List: Retrieves a list of the authenticated user's active creatives. |
| // A creative will be available 30-40 minutes after submission. |
| func (r *CreativesService) List() *CreativesListCall { |
| c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| return c |
| } |
| |
| // MaxResults sets the optional parameter "maxResults": Maximum number |
| // of entries returned on one result page. If not set, the default is |
| // 100. |
| func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall { |
| c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) |
| return c |
| } |
| |
| // PageToken sets the optional parameter "pageToken": 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. |
| func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall { |
| c.urlParams_.Set("pageToken", pageToken) |
| return c |
| } |
| |
| // StatusFilter sets the optional parameter "statusFilter": When |
| // specified, only creatives having the given status are returned. |
| // |
| // Possible values: |
| // "approved" - Creatives which have been approved. |
| // "disapproved" - Creatives which have been disapproved. |
| // "not_checked" - Creatives whose status is not yet checked. |
| func (c *CreativesListCall) StatusFilter(statusFilter string) *CreativesListCall { |
| c.urlParams_.Set("statusFilter", statusFilter) |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response |
| // error from Do is the result of In-None-Match. |
| func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall { |
| c.ifNoneMatch_ = entityTag |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) { |
| var body io.Reader = nil |
| c.urlParams_.Set("alt", alt) |
| urls := googleapi.ResolveRelative(c.s.BasePath, "creatives") |
| urls += "?" + c.urlParams_.Encode() |
| req, _ := http.NewRequest("GET", urls, body) |
| googleapi.SetOpaque(req.URL) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| if c.ifNoneMatch_ != "" { |
| req.Header.Set("If-None-Match", c.ifNoneMatch_) |
| } |
| if c.ctx_ != nil { |
| return ctxhttp.Do(c.ctx_, c.s.client, req) |
| } |
| return c.s.client.Do(req) |
| } |
| |
| // Do executes the "adexchangebuyer.creatives.list" call. |
| // Exactly one of *CreativesList or error will be non-nil. Any non-2xx |
| // status code is an error. Response headers are in either |
| // *CreativesList.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 *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesList, 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, &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, err |
| } |
| ret := &CreativesList{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.", |
| // "httpMethod": "GET", |
| // "id": "adexchangebuyer.creatives.list", |
| // "parameters": { |
| // "maxResults": { |
| // "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.", |
| // "format": "uint32", |
| // "location": "query", |
| // "maximum": "1000", |
| // "minimum": "1", |
| // "type": "integer" |
| // }, |
| // "pageToken": { |
| // "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.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "statusFilter": { |
| // "description": "When specified, only creatives having the given status are returned.", |
| // "enum": [ |
| // "approved", |
| // "disapproved", |
| // "not_checked" |
| // ], |
| // "enumDescriptions": [ |
| // "Creatives which have been approved.", |
| // "Creatives which have been disapproved.", |
| // "Creatives whose status is not yet checked." |
| // ], |
| // "location": "query", |
| // "type": "string" |
| // } |
| // }, |
| // "path": "creatives", |
| // "response": { |
| // "$ref": "CreativesList" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/adexchange.buyer" |
| // ] |
| // } |
| |
| } |
| |
| // 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 *CreativesListCall) Pages(ctx context.Context, f func(*CreativesList) error) error { |
| c.ctx_ = ctx |
| defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point |
| 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) |
| } |
| } |