2017-08-05 18:17:15 +00:00
// Package adexchangeseller provides access to the Ad Exchange Seller API.
//
// See https://developers.google.com/ad-exchange/seller-rest/
//
// Usage example:
//
// import "google.golang.org/api/adexchangeseller/v1"
// ...
// adexchangesellerService, err := adexchangeseller.New(oauthHttpClient)
package adexchangeseller // import "google.golang.org/api/adexchangeseller/v1"
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 = "adexchangeseller:v1"
const apiName = "adexchangeseller"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/adexchangeseller/v1/"
// OAuth2 scopes used by this API.
const (
// View and manage your Ad Exchange data
AdexchangeSellerScope = "https://www.googleapis.com/auth/adexchange.seller"
// View your Ad Exchange data
AdexchangeSellerReadonlyScope = "https://www.googleapis.com/auth/adexchange.seller.readonly"
)
func New ( client * http . Client ) ( * Service , error ) {
if client == nil {
return nil , errors . New ( "client is nil" )
}
s := & Service { client : client , BasePath : basePath }
s . Adclients = NewAdclientsService ( s )
s . Adunits = NewAdunitsService ( s )
s . Customchannels = NewCustomchannelsService ( s )
s . Reports = NewReportsService ( s )
s . Urlchannels = NewUrlchannelsService ( s )
return s , nil
}
type Service struct {
client * http . Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Adclients * AdclientsService
Adunits * AdunitsService
Customchannels * CustomchannelsService
Reports * ReportsService
Urlchannels * UrlchannelsService
}
func ( s * Service ) userAgent ( ) string {
if s . UserAgent == "" {
return googleapi . UserAgent
}
return googleapi . UserAgent + " " + s . UserAgent
}
func NewAdclientsService ( s * Service ) * AdclientsService {
rs := & AdclientsService { s : s }
return rs
}
type AdclientsService struct {
s * Service
}
func NewAdunitsService ( s * Service ) * AdunitsService {
rs := & AdunitsService { s : s }
rs . Customchannels = NewAdunitsCustomchannelsService ( s )
return rs
}
type AdunitsService struct {
s * Service
Customchannels * AdunitsCustomchannelsService
}
func NewAdunitsCustomchannelsService ( s * Service ) * AdunitsCustomchannelsService {
rs := & AdunitsCustomchannelsService { s : s }
return rs
}
type AdunitsCustomchannelsService struct {
s * Service
}
func NewCustomchannelsService ( s * Service ) * CustomchannelsService {
rs := & CustomchannelsService { s : s }
rs . Adunits = NewCustomchannelsAdunitsService ( s )
return rs
}
type CustomchannelsService struct {
s * Service
Adunits * CustomchannelsAdunitsService
}
func NewCustomchannelsAdunitsService ( s * Service ) * CustomchannelsAdunitsService {
rs := & CustomchannelsAdunitsService { s : s }
return rs
}
type CustomchannelsAdunitsService struct {
s * Service
}
func NewReportsService ( s * Service ) * ReportsService {
rs := & ReportsService { s : s }
rs . Saved = NewReportsSavedService ( s )
return rs
}
type ReportsService struct {
s * Service
Saved * ReportsSavedService
}
func NewReportsSavedService ( s * Service ) * ReportsSavedService {
rs := & ReportsSavedService { s : s }
return rs
}
type ReportsSavedService struct {
s * Service
}
func NewUrlchannelsService ( s * Service ) * UrlchannelsService {
rs := & UrlchannelsService { s : s }
return rs
}
type UrlchannelsService struct {
s * Service
}
type AdClient struct {
// ArcOptIn: Whether this ad client is opted in to ARC.
ArcOptIn bool ` json:"arcOptIn,omitempty" `
// Id: Unique identifier of this ad client.
Id string ` json:"id,omitempty" `
// Kind: Kind of resource this is, in this case
// adexchangeseller#adClient.
Kind string ` json:"kind,omitempty" `
// ProductCode: This ad client's product code, which corresponds to the
// PRODUCT_CODE report dimension.
ProductCode string ` json:"productCode,omitempty" `
// SupportsReporting: Whether this ad client supports being reported on.
SupportsReporting bool ` json:"supportsReporting,omitempty" `
// ForceSendFields is a list of field names (e.g. "ArcOptIn") 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:"-" `
// NullFields is a list of field names (e.g. "ArcOptIn") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * AdClient ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod AdClient
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type AdClients struct {
// Etag: ETag of this response for caching purposes.
Etag string ` json:"etag,omitempty" `
// Items: The ad clients returned in this list response.
Items [ ] * AdClient ` json:"items,omitempty" `
// Kind: Kind of list this is, in this case adexchangeseller#adClients.
Kind string ` json:"kind,omitempty" `
// NextPageToken: Continuation token used to page through ad clients. 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. "Etag") 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:"-" `
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * AdClients ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod AdClients
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type AdUnit struct {
// Code: Identity code of this ad unit, not necessarily unique across ad
// clients.
Code string ` json:"code,omitempty" `
// Id: Unique identifier of this ad unit. This should be considered an
// opaque identifier; it is not safe to rely on it being in any
// particular format.
Id string ` json:"id,omitempty" `
// Kind: Kind of resource this is, in this case adexchangeseller#adUnit.
Kind string ` json:"kind,omitempty" `
// Name: Name of this ad unit.
Name string ` json:"name,omitempty" `
// Status: Status of this ad unit. Possible values are:
// NEW: Indicates that the ad unit was created within the last seven
// days and does not yet have any activity associated with it.
//
// ACTIVE: Indicates that there has been activity on this ad unit in the
// last seven days.
//
// INACTIVE: Indicates that there has been no activity on this ad unit
// in the last seven days.
Status string ` json:"status,omitempty" `
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi . ServerResponse ` json:"-" `
// ForceSendFields is a list of field names (e.g. "Code") 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:"-" `
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * AdUnit ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod AdUnit
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type AdUnits struct {
// Etag: ETag of this response for caching purposes.
Etag string ` json:"etag,omitempty" `
// Items: The ad units returned in this list response.
Items [ ] * AdUnit ` json:"items,omitempty" `
// Kind: Kind of list this is, in this case adexchangeseller#adUnits.
Kind string ` json:"kind,omitempty" `
// NextPageToken: Continuation token used to page through ad units. 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. "Etag") 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:"-" `
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * AdUnits ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod AdUnits
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type CustomChannel struct {
// Code: Code of this custom channel, not necessarily unique across ad
// clients.
Code string ` json:"code,omitempty" `
// Id: Unique identifier of this custom channel. This should be
// considered an opaque identifier; it is not safe to rely on it being
// in any particular format.
Id string ` json:"id,omitempty" `
// Kind: Kind of resource this is, in this case
// adexchangeseller#customChannel.
Kind string ` json:"kind,omitempty" `
// Name: Name of this custom channel.
Name string ` json:"name,omitempty" `
// TargetingInfo: The targeting information of this custom channel, if
// activated.
TargetingInfo * CustomChannelTargetingInfo ` json:"targetingInfo,omitempty" `
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi . ServerResponse ` json:"-" `
// ForceSendFields is a list of field names (e.g. "Code") 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:"-" `
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * CustomChannel ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod CustomChannel
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// CustomChannelTargetingInfo: The targeting information of this custom
// channel, if activated.
type CustomChannelTargetingInfo struct {
// AdsAppearOn: The name used to describe this channel externally.
AdsAppearOn string ` json:"adsAppearOn,omitempty" `
// Description: The external description of the channel.
Description string ` json:"description,omitempty" `
// Location: The locations in which ads appear. (Only valid for content
// and mobile content ads). Acceptable values for content ads are:
// TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER,
// MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT,
// MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are:
// TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
Location string ` json:"location,omitempty" `
// SiteLanguage: The language of the sites ads will be displayed on.
SiteLanguage string ` json:"siteLanguage,omitempty" `
// ForceSendFields is a list of field names (e.g. "AdsAppearOn") 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:"-" `
// NullFields is a list of field names (e.g. "AdsAppearOn") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * CustomChannelTargetingInfo ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod CustomChannelTargetingInfo
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type CustomChannels struct {
// Etag: ETag of this response for caching purposes.
Etag string ` json:"etag,omitempty" `
// Items: The custom channels returned in this list response.
Items [ ] * CustomChannel ` json:"items,omitempty" `
// Kind: Kind of list this is, in this case
// adexchangeseller#customChannels.
Kind string ` json:"kind,omitempty" `
// NextPageToken: Continuation token used to page through custom
// channels. 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. "Etag") 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:"-" `
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * CustomChannels ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod CustomChannels
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type Report struct {
// Averages: The averages of the report. This is the same length as any
// other row in the report; cells corresponding to dimension columns are
// empty.
Averages [ ] string ` json:"averages,omitempty" `
// Headers: The header information of the columns requested in the
// report. This is a list of headers; one for each dimension in the
// request, followed by one for each metric in the request.
Headers [ ] * ReportHeaders ` json:"headers,omitempty" `
// Kind: Kind this is, in this case adexchangeseller#report.
Kind string ` json:"kind,omitempty" `
// Rows: The output rows of the report. Each row is a list of cells; one
// for each dimension in the request, followed by one for each metric in
// the request. The dimension cells contain strings, and the metric
// cells contain numbers.
Rows [ ] [ ] string ` json:"rows,omitempty" `
// TotalMatchedRows: The total number of rows matched by the report
// request. Fewer rows may be returned in the response due to being
// limited by the row count requested or the report row limit.
TotalMatchedRows int64 ` json:"totalMatchedRows,omitempty,string" `
// Totals: The totals of the report. This is the same length as any
// other row in the report; cells corresponding to dimension columns are
// empty.
Totals [ ] string ` json:"totals,omitempty" `
// Warnings: Any warnings associated with generation of the report.
Warnings [ ] string ` json:"warnings,omitempty" `
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi . ServerResponse ` json:"-" `
// ForceSendFields is a list of field names (e.g. "Averages") 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:"-" `
// NullFields is a list of field names (e.g. "Averages") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * Report ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod Report
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type ReportHeaders struct {
// Currency: The currency of this column. Only present if the header
// type is METRIC_CURRENCY.
Currency string ` json:"currency,omitempty" `
// Name: The name of the header.
Name string ` json:"name,omitempty" `
// Type: The type of the header; one of DIMENSION, METRIC_TALLY,
// METRIC_RATIO, or METRIC_CURRENCY.
Type string ` json:"type,omitempty" `
// ForceSendFields is a list of field names (e.g. "Currency") 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:"-" `
// NullFields is a list of field names (e.g. "Currency") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * ReportHeaders ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod ReportHeaders
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type SavedReport struct {
// Id: Unique identifier of this saved report.
Id string ` json:"id,omitempty" `
// Kind: Kind of resource this is, in this case
// adexchangeseller#savedReport.
Kind string ` json:"kind,omitempty" `
// Name: This saved report's name.
Name string ` json:"name,omitempty" `
// ForceSendFields is a list of field names (e.g. "Id") 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:"-" `
// NullFields is a list of field names (e.g. "Id") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * SavedReport ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod SavedReport
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type SavedReports struct {
// Etag: ETag of this response for caching purposes.
Etag string ` json:"etag,omitempty" `
// Items: The saved reports returned in this list response.
Items [ ] * SavedReport ` json:"items,omitempty" `
// Kind: Kind of list this is, in this case
// adexchangeseller#savedReports.
Kind string ` json:"kind,omitempty" `
// NextPageToken: Continuation token used to page through saved reports.
// 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. "Etag") 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:"-" `
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * SavedReports ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod SavedReports
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type UrlChannel struct {
// Id: Unique identifier of this URL channel. This should be considered
// an opaque identifier; it is not safe to rely on it being in any
// particular format.
Id string ` json:"id,omitempty" `
// Kind: Kind of resource this is, in this case
// adexchangeseller#urlChannel.
Kind string ` json:"kind,omitempty" `
// UrlPattern: URL Pattern of this URL channel. Does not include
// "http://" or "https://". Example: www.example.com/home
UrlPattern string ` json:"urlPattern,omitempty" `
// ForceSendFields is a list of field names (e.g. "Id") 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:"-" `
// NullFields is a list of field names (e.g. "Id") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * UrlChannel ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod UrlChannel
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type UrlChannels struct {
// Etag: ETag of this response for caching purposes.
Etag string ` json:"etag,omitempty" `
// Items: The URL channels returned in this list response.
Items [ ] * UrlChannel ` json:"items,omitempty" `
// Kind: Kind of list this is, in this case
// adexchangeseller#urlChannels.
Kind string ` json:"kind,omitempty" `
// NextPageToken: Continuation token used to page through URL channels.
// 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. "Etag") 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:"-" `
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * UrlChannels ) MarshalJSON ( ) ( [ ] byte , error ) {
2017-12-03 20:01:25 +00:00
type NoMethod UrlChannels
raw := NoMethod ( * s )
2017-08-05 18:17:15 +00:00
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// method id "adexchangeseller.adclients.list":
type AdclientsListCall struct {
s * Service
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: List all ad clients in this Ad Exchange account.
func ( r * AdclientsService ) List ( ) * AdclientsListCall {
c := & AdclientsListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of ad clients to include in the response, used for paging.
func ( c * AdclientsListCall ) MaxResults ( maxResults int64 ) * AdclientsListCall {
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 * AdclientsListCall ) PageToken ( pageToken string ) * AdclientsListCall {
c . urlParams_ . Set ( "pageToken" , pageToken )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * AdclientsListCall ) Fields ( s ... googleapi . Field ) * AdclientsListCall {
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 * AdclientsListCall ) IfNoneMatch ( entityTag string ) * AdclientsListCall {
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 * AdclientsListCall ) Context ( ctx context . Context ) * AdclientsListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * AdclientsListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * AdclientsListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.adclients.list" call.
// Exactly one of *AdClients or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *AdClients.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 * AdclientsListCall ) Do ( opts ... googleapi . CallOption ) ( * AdClients , 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 := & AdClients {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "List all ad clients in this Ad Exchange account.",
// "httpMethod": "GET",
// "id": "adexchangeseller.adclients.list",
// "parameters": {
// "maxResults": {
// "description": "The maximum number of ad clients to include in the response, used for paging.",
// "format": "uint32",
// "location": "query",
// "maximum": "10000",
// "minimum": "0",
// "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.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "adclients",
// "response": {
// "$ref": "AdClients"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// 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 * AdclientsListCall ) Pages ( ctx context . Context , f func ( * AdClients ) 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 )
}
}
// method id "adexchangeseller.adunits.get":
type AdunitsGetCall struct {
s * Service
adClientId string
adUnitId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// Get: Gets the specified ad unit in the specified ad client.
func ( r * AdunitsService ) Get ( adClientId string , adUnitId string ) * AdunitsGetCall {
c := & AdunitsGetCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . adClientId = adClientId
c . adUnitId = adUnitId
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 * AdunitsGetCall ) Fields ( s ... googleapi . Field ) * AdunitsGetCall {
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 * AdunitsGetCall ) IfNoneMatch ( entityTag string ) * AdunitsGetCall {
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 * AdunitsGetCall ) Context ( ctx context . Context ) * AdunitsGetCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * AdunitsGetCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * AdunitsGetCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients/{adClientId}/adunits/{adUnitId}" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"adClientId" : c . adClientId ,
"adUnitId" : c . adUnitId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.adunits.get" call.
// Exactly one of *AdUnit or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *AdUnit.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 * AdunitsGetCall ) Do ( opts ... googleapi . CallOption ) ( * AdUnit , 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 := & AdUnit {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "Gets the specified ad unit in the specified ad client.",
// "httpMethod": "GET",
// "id": "adexchangeseller.adunits.get",
// "parameterOrder": [
// "adClientId",
// "adUnitId"
// ],
// "parameters": {
// "adClientId": {
// "description": "Ad client for which to get the ad unit.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "adUnitId": {
// "description": "Ad unit to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "adclients/{adClientId}/adunits/{adUnitId}",
// "response": {
// "$ref": "AdUnit"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// method id "adexchangeseller.adunits.list":
type AdunitsListCall struct {
s * Service
adClientId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: List all ad units in the specified ad client for this Ad
// Exchange account.
func ( r * AdunitsService ) List ( adClientId string ) * AdunitsListCall {
c := & AdunitsListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . adClientId = adClientId
return c
}
// IncludeInactive sets the optional parameter "includeInactive":
// Whether to include inactive ad units. Default: true.
func ( c * AdunitsListCall ) IncludeInactive ( includeInactive bool ) * AdunitsListCall {
c . urlParams_ . Set ( "includeInactive" , fmt . Sprint ( includeInactive ) )
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of ad units to include in the response, used for paging.
func ( c * AdunitsListCall ) MaxResults ( maxResults int64 ) * AdunitsListCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// PageToken sets the optional parameter "pageToken": A continuation
// token, used to page through ad units. To retrieve the next page, set
// this parameter to the value of "nextPageToken" from the previous
// response.
func ( c * AdunitsListCall ) PageToken ( pageToken string ) * AdunitsListCall {
c . urlParams_ . Set ( "pageToken" , pageToken )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * AdunitsListCall ) Fields ( s ... googleapi . Field ) * AdunitsListCall {
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 * AdunitsListCall ) IfNoneMatch ( entityTag string ) * AdunitsListCall {
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 * AdunitsListCall ) Context ( ctx context . Context ) * AdunitsListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * AdunitsListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * AdunitsListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients/{adClientId}/adunits" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"adClientId" : c . adClientId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.adunits.list" call.
// Exactly one of *AdUnits or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *AdUnits.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 * AdunitsListCall ) Do ( opts ... googleapi . CallOption ) ( * AdUnits , 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 := & AdUnits {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "List all ad units in the specified ad client for this Ad Exchange account.",
// "httpMethod": "GET",
// "id": "adexchangeseller.adunits.list",
// "parameterOrder": [
// "adClientId"
// ],
// "parameters": {
// "adClientId": {
// "description": "Ad client for which to list ad units.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "includeInactive": {
// "description": "Whether to include inactive ad units. Default: true.",
// "location": "query",
// "type": "boolean"
// },
// "maxResults": {
// "description": "The maximum number of ad units to include in the response, used for paging.",
// "format": "uint32",
// "location": "query",
// "maximum": "10000",
// "minimum": "0",
// "type": "integer"
// },
// "pageToken": {
// "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "adclients/{adClientId}/adunits",
// "response": {
// "$ref": "AdUnits"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// 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 * AdunitsListCall ) Pages ( ctx context . Context , f func ( * AdUnits ) 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 )
}
}
// method id "adexchangeseller.adunits.customchannels.list":
type AdunitsCustomchannelsListCall struct {
s * Service
adClientId string
adUnitId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: List all custom channels which the specified ad unit belongs
// to.
func ( r * AdunitsCustomchannelsService ) List ( adClientId string , adUnitId string ) * AdunitsCustomchannelsListCall {
c := & AdunitsCustomchannelsListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . adClientId = adClientId
c . adUnitId = adUnitId
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of custom channels to include in the response, used for
// paging.
func ( c * AdunitsCustomchannelsListCall ) MaxResults ( maxResults int64 ) * AdunitsCustomchannelsListCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// PageToken sets the optional parameter "pageToken": A continuation
// token, used to page through custom channels. To retrieve the next
// page, set this parameter to the value of "nextPageToken" from the
// previous response.
func ( c * AdunitsCustomchannelsListCall ) PageToken ( pageToken string ) * AdunitsCustomchannelsListCall {
c . urlParams_ . Set ( "pageToken" , pageToken )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * AdunitsCustomchannelsListCall ) Fields ( s ... googleapi . Field ) * AdunitsCustomchannelsListCall {
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 * AdunitsCustomchannelsListCall ) IfNoneMatch ( entityTag string ) * AdunitsCustomchannelsListCall {
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 * AdunitsCustomchannelsListCall ) Context ( ctx context . Context ) * AdunitsCustomchannelsListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * AdunitsCustomchannelsListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * AdunitsCustomchannelsListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients/{adClientId}/adunits/{adUnitId}/customchannels" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"adClientId" : c . adClientId ,
"adUnitId" : c . adUnitId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.adunits.customchannels.list" call.
// Exactly one of *CustomChannels or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *CustomChannels.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 * AdunitsCustomchannelsListCall ) Do ( opts ... googleapi . CallOption ) ( * CustomChannels , 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 := & CustomChannels {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "List all custom channels which the specified ad unit belongs to.",
// "httpMethod": "GET",
// "id": "adexchangeseller.adunits.customchannels.list",
// "parameterOrder": [
// "adClientId",
// "adUnitId"
// ],
// "parameters": {
// "adClientId": {
// "description": "Ad client which contains the ad unit.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "adUnitId": {
// "description": "Ad unit for which to list custom channels.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "maxResults": {
// "description": "The maximum number of custom channels to include in the response, used for paging.",
// "format": "uint32",
// "location": "query",
// "maximum": "10000",
// "minimum": "0",
// "type": "integer"
// },
// "pageToken": {
// "description": "A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "adclients/{adClientId}/adunits/{adUnitId}/customchannels",
// "response": {
// "$ref": "CustomChannels"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// 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 * AdunitsCustomchannelsListCall ) Pages ( ctx context . Context , f func ( * CustomChannels ) 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 )
}
}
// method id "adexchangeseller.customchannels.get":
type CustomchannelsGetCall struct {
s * Service
adClientId string
customChannelId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// Get: Get the specified custom channel from the specified ad client.
func ( r * CustomchannelsService ) Get ( adClientId string , customChannelId string ) * CustomchannelsGetCall {
c := & CustomchannelsGetCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . adClientId = adClientId
c . customChannelId = customChannelId
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 * CustomchannelsGetCall ) Fields ( s ... googleapi . Field ) * CustomchannelsGetCall {
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 * CustomchannelsGetCall ) IfNoneMatch ( entityTag string ) * CustomchannelsGetCall {
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 * CustomchannelsGetCall ) Context ( ctx context . Context ) * CustomchannelsGetCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * CustomchannelsGetCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * CustomchannelsGetCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients/{adClientId}/customchannels/{customChannelId}" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"adClientId" : c . adClientId ,
"customChannelId" : c . customChannelId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.customchannels.get" call.
// Exactly one of *CustomChannel or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *CustomChannel.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 * CustomchannelsGetCall ) Do ( opts ... googleapi . CallOption ) ( * CustomChannel , 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 := & CustomChannel {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "Get the specified custom channel from the specified ad client.",
// "httpMethod": "GET",
// "id": "adexchangeseller.customchannels.get",
// "parameterOrder": [
// "adClientId",
// "customChannelId"
// ],
// "parameters": {
// "adClientId": {
// "description": "Ad client which contains the custom channel.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customChannelId": {
// "description": "Custom channel to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "adclients/{adClientId}/customchannels/{customChannelId}",
// "response": {
// "$ref": "CustomChannel"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// method id "adexchangeseller.customchannels.list":
type CustomchannelsListCall struct {
s * Service
adClientId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: List all custom channels in the specified ad client for this Ad
// Exchange account.
func ( r * CustomchannelsService ) List ( adClientId string ) * CustomchannelsListCall {
c := & CustomchannelsListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . adClientId = adClientId
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of custom channels to include in the response, used for
// paging.
func ( c * CustomchannelsListCall ) MaxResults ( maxResults int64 ) * CustomchannelsListCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// PageToken sets the optional parameter "pageToken": A continuation
// token, used to page through custom channels. To retrieve the next
// page, set this parameter to the value of "nextPageToken" from the
// previous response.
func ( c * CustomchannelsListCall ) PageToken ( pageToken string ) * CustomchannelsListCall {
c . urlParams_ . Set ( "pageToken" , pageToken )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * CustomchannelsListCall ) Fields ( s ... googleapi . Field ) * CustomchannelsListCall {
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 * CustomchannelsListCall ) IfNoneMatch ( entityTag string ) * CustomchannelsListCall {
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 * CustomchannelsListCall ) Context ( ctx context . Context ) * CustomchannelsListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * CustomchannelsListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * CustomchannelsListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients/{adClientId}/customchannels" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"adClientId" : c . adClientId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.customchannels.list" call.
// Exactly one of *CustomChannels or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *CustomChannels.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 * CustomchannelsListCall ) Do ( opts ... googleapi . CallOption ) ( * CustomChannels , 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 := & CustomChannels {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "List all custom channels in the specified ad client for this Ad Exchange account.",
// "httpMethod": "GET",
// "id": "adexchangeseller.customchannels.list",
// "parameterOrder": [
// "adClientId"
// ],
// "parameters": {
// "adClientId": {
// "description": "Ad client for which to list custom channels.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "maxResults": {
// "description": "The maximum number of custom channels to include in the response, used for paging.",
// "format": "uint32",
// "location": "query",
// "maximum": "10000",
// "minimum": "0",
// "type": "integer"
// },
// "pageToken": {
// "description": "A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "adclients/{adClientId}/customchannels",
// "response": {
// "$ref": "CustomChannels"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// 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 * CustomchannelsListCall ) Pages ( ctx context . Context , f func ( * CustomChannels ) 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 )
}
}
// method id "adexchangeseller.customchannels.adunits.list":
type CustomchannelsAdunitsListCall struct {
s * Service
adClientId string
customChannelId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: List all ad units in the specified custom channel.
func ( r * CustomchannelsAdunitsService ) List ( adClientId string , customChannelId string ) * CustomchannelsAdunitsListCall {
c := & CustomchannelsAdunitsListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . adClientId = adClientId
c . customChannelId = customChannelId
return c
}
// IncludeInactive sets the optional parameter "includeInactive":
// Whether to include inactive ad units. Default: true.
func ( c * CustomchannelsAdunitsListCall ) IncludeInactive ( includeInactive bool ) * CustomchannelsAdunitsListCall {
c . urlParams_ . Set ( "includeInactive" , fmt . Sprint ( includeInactive ) )
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of ad units to include in the response, used for paging.
func ( c * CustomchannelsAdunitsListCall ) MaxResults ( maxResults int64 ) * CustomchannelsAdunitsListCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// PageToken sets the optional parameter "pageToken": A continuation
// token, used to page through ad units. To retrieve the next page, set
// this parameter to the value of "nextPageToken" from the previous
// response.
func ( c * CustomchannelsAdunitsListCall ) PageToken ( pageToken string ) * CustomchannelsAdunitsListCall {
c . urlParams_ . Set ( "pageToken" , pageToken )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * CustomchannelsAdunitsListCall ) Fields ( s ... googleapi . Field ) * CustomchannelsAdunitsListCall {
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 * CustomchannelsAdunitsListCall ) IfNoneMatch ( entityTag string ) * CustomchannelsAdunitsListCall {
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 * CustomchannelsAdunitsListCall ) Context ( ctx context . Context ) * CustomchannelsAdunitsListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * CustomchannelsAdunitsListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * CustomchannelsAdunitsListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients/{adClientId}/customchannels/{customChannelId}/adunits" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"adClientId" : c . adClientId ,
"customChannelId" : c . customChannelId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.customchannels.adunits.list" call.
// Exactly one of *AdUnits or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *AdUnits.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 * CustomchannelsAdunitsListCall ) Do ( opts ... googleapi . CallOption ) ( * AdUnits , 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 := & AdUnits {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "List all ad units in the specified custom channel.",
// "httpMethod": "GET",
// "id": "adexchangeseller.customchannels.adunits.list",
// "parameterOrder": [
// "adClientId",
// "customChannelId"
// ],
// "parameters": {
// "adClientId": {
// "description": "Ad client which contains the custom channel.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customChannelId": {
// "description": "Custom channel for which to list ad units.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "includeInactive": {
// "description": "Whether to include inactive ad units. Default: true.",
// "location": "query",
// "type": "boolean"
// },
// "maxResults": {
// "description": "The maximum number of ad units to include in the response, used for paging.",
// "format": "uint32",
// "location": "query",
// "maximum": "10000",
// "minimum": "0",
// "type": "integer"
// },
// "pageToken": {
// "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "adclients/{adClientId}/customchannels/{customChannelId}/adunits",
// "response": {
// "$ref": "AdUnits"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// 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 * CustomchannelsAdunitsListCall ) Pages ( ctx context . Context , f func ( * AdUnits ) 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 )
}
}
// method id "adexchangeseller.reports.generate":
type ReportsGenerateCall struct {
s * Service
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// Generate: Generate an Ad Exchange report based on the report request
// sent in the query parameters. Returns the result as JSON; to retrieve
// output in CSV format specify "alt=csv" as a query parameter.
func ( r * ReportsService ) Generate ( startDate string , endDate string ) * ReportsGenerateCall {
c := & ReportsGenerateCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . urlParams_ . Set ( "startDate" , startDate )
c . urlParams_ . Set ( "endDate" , endDate )
return c
}
// Dimension sets the optional parameter "dimension": Dimensions to base
// the report on.
func ( c * ReportsGenerateCall ) Dimension ( dimension ... string ) * ReportsGenerateCall {
c . urlParams_ . SetMulti ( "dimension" , append ( [ ] string { } , dimension ... ) )
return c
}
// Filter sets the optional parameter "filter": Filters to be run on the
// report.
func ( c * ReportsGenerateCall ) Filter ( filter ... string ) * ReportsGenerateCall {
c . urlParams_ . SetMulti ( "filter" , append ( [ ] string { } , filter ... ) )
return c
}
// Locale sets the optional parameter "locale": Optional locale to use
// for translating report output to a local language. Defaults to
// "en_US" if not specified.
func ( c * ReportsGenerateCall ) Locale ( locale string ) * ReportsGenerateCall {
c . urlParams_ . Set ( "locale" , locale )
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of rows of report data to return.
func ( c * ReportsGenerateCall ) MaxResults ( maxResults int64 ) * ReportsGenerateCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// Metric sets the optional parameter "metric": Numeric columns to
// include in the report.
func ( c * ReportsGenerateCall ) Metric ( metric ... string ) * ReportsGenerateCall {
c . urlParams_ . SetMulti ( "metric" , append ( [ ] string { } , metric ... ) )
return c
}
// Sort sets the optional parameter "sort": The name of a dimension or
// metric to sort the resulting report on, optionally prefixed with "+"
// to sort ascending or "-" to sort descending. If no prefix is
// specified, the column is sorted ascending.
func ( c * ReportsGenerateCall ) Sort ( sort ... string ) * ReportsGenerateCall {
c . urlParams_ . SetMulti ( "sort" , append ( [ ] string { } , sort ... ) )
return c
}
// StartIndex sets the optional parameter "startIndex": Index of the
// first row of report data to return.
func ( c * ReportsGenerateCall ) StartIndex ( startIndex int64 ) * ReportsGenerateCall {
c . urlParams_ . Set ( "startIndex" , fmt . Sprint ( startIndex ) )
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 * ReportsGenerateCall ) Fields ( s ... googleapi . Field ) * ReportsGenerateCall {
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 * ReportsGenerateCall ) IfNoneMatch ( entityTag string ) * ReportsGenerateCall {
c . ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do and Download
// methods. Any pending HTTP request will be aborted if the provided
// context is canceled.
func ( c * ReportsGenerateCall ) Context ( ctx context . Context ) * ReportsGenerateCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * ReportsGenerateCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * ReportsGenerateCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "reports" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Download fetches the API endpoint's "media" value, instead of the normal
// API response value. If the returned error is nil, the Response is guaranteed to
// have a 2xx status code. Callers must close the Response.Body as usual.
func ( c * ReportsGenerateCall ) Download ( opts ... googleapi . CallOption ) ( * http . Response , error ) {
gensupport . SetOptions ( c . urlParams_ , opts ... )
res , err := c . doRequest ( "media" )
if err != nil {
return nil , err
}
if err := googleapi . CheckMediaResponse ( res ) ; err != nil {
res . Body . Close ( )
return nil , err
}
return res , nil
}
// Do executes the "adexchangeseller.reports.generate" call.
// Exactly one of *Report or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Report.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 * ReportsGenerateCall ) Do ( opts ... googleapi . CallOption ) ( * Report , 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 := & Report {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.",
// "httpMethod": "GET",
// "id": "adexchangeseller.reports.generate",
// "parameterOrder": [
// "startDate",
// "endDate"
// ],
// "parameters": {
// "dimension": {
// "description": "Dimensions to base the report on.",
// "location": "query",
// "pattern": "[a-zA-Z_]+",
// "repeated": true,
// "type": "string"
// },
// "endDate": {
// "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
// "location": "query",
// "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
// "required": true,
// "type": "string"
// },
// "filter": {
// "description": "Filters to be run on the report.",
// "location": "query",
// "pattern": "[a-zA-Z_]+(==|=@).+",
// "repeated": true,
// "type": "string"
// },
// "locale": {
// "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
// "location": "query",
// "pattern": "[a-zA-Z_]+",
// "type": "string"
// },
// "maxResults": {
// "description": "The maximum number of rows of report data to return.",
// "format": "uint32",
// "location": "query",
// "maximum": "50000",
// "minimum": "0",
// "type": "integer"
// },
// "metric": {
// "description": "Numeric columns to include in the report.",
// "location": "query",
// "pattern": "[a-zA-Z_]+",
// "repeated": true,
// "type": "string"
// },
// "sort": {
// "description": "The name of a dimension or metric to sort the resulting report on, optionally prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.",
// "location": "query",
// "pattern": "(\\+|-)?[a-zA-Z_]+",
// "repeated": true,
// "type": "string"
// },
// "startDate": {
// "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
// "location": "query",
// "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
// "required": true,
// "type": "string"
// },
// "startIndex": {
// "description": "Index of the first row of report data to return.",
// "format": "uint32",
// "location": "query",
// "maximum": "5000",
// "minimum": "0",
// "type": "integer"
// }
// },
// "path": "reports",
// "response": {
// "$ref": "Report"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ],
// "supportsMediaDownload": true
// }
}
// method id "adexchangeseller.reports.saved.generate":
type ReportsSavedGenerateCall struct {
s * Service
savedReportId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// Generate: Generate an Ad Exchange report based on the saved report ID
// sent in the query parameters.
func ( r * ReportsSavedService ) Generate ( savedReportId string ) * ReportsSavedGenerateCall {
c := & ReportsSavedGenerateCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . savedReportId = savedReportId
return c
}
// Locale sets the optional parameter "locale": Optional locale to use
// for translating report output to a local language. Defaults to
// "en_US" if not specified.
func ( c * ReportsSavedGenerateCall ) Locale ( locale string ) * ReportsSavedGenerateCall {
c . urlParams_ . Set ( "locale" , locale )
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of rows of report data to return.
func ( c * ReportsSavedGenerateCall ) MaxResults ( maxResults int64 ) * ReportsSavedGenerateCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// StartIndex sets the optional parameter "startIndex": Index of the
// first row of report data to return.
func ( c * ReportsSavedGenerateCall ) StartIndex ( startIndex int64 ) * ReportsSavedGenerateCall {
c . urlParams_ . Set ( "startIndex" , fmt . Sprint ( startIndex ) )
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 * ReportsSavedGenerateCall ) Fields ( s ... googleapi . Field ) * ReportsSavedGenerateCall {
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 * ReportsSavedGenerateCall ) IfNoneMatch ( entityTag string ) * ReportsSavedGenerateCall {
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 * ReportsSavedGenerateCall ) Context ( ctx context . Context ) * ReportsSavedGenerateCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * ReportsSavedGenerateCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * ReportsSavedGenerateCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "reports/{savedReportId}" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"savedReportId" : c . savedReportId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.reports.saved.generate" call.
// Exactly one of *Report or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Report.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 * ReportsSavedGenerateCall ) Do ( opts ... googleapi . CallOption ) ( * Report , 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 := & Report {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "Generate an Ad Exchange report based on the saved report ID sent in the query parameters.",
// "httpMethod": "GET",
// "id": "adexchangeseller.reports.saved.generate",
// "parameterOrder": [
// "savedReportId"
// ],
// "parameters": {
// "locale": {
// "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
// "location": "query",
// "pattern": "[a-zA-Z_]+",
// "type": "string"
// },
// "maxResults": {
// "description": "The maximum number of rows of report data to return.",
// "format": "int32",
// "location": "query",
// "maximum": "50000",
// "minimum": "0",
// "type": "integer"
// },
// "savedReportId": {
// "description": "The saved report to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "startIndex": {
// "description": "Index of the first row of report data to return.",
// "format": "int32",
// "location": "query",
// "maximum": "5000",
// "minimum": "0",
// "type": "integer"
// }
// },
// "path": "reports/{savedReportId}",
// "response": {
// "$ref": "Report"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// method id "adexchangeseller.reports.saved.list":
type ReportsSavedListCall struct {
s * Service
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: List all saved reports in this Ad Exchange account.
func ( r * ReportsSavedService ) List ( ) * ReportsSavedListCall {
c := & ReportsSavedListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of saved reports to include in the response, used for paging.
func ( c * ReportsSavedListCall ) MaxResults ( maxResults int64 ) * ReportsSavedListCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// PageToken sets the optional parameter "pageToken": A continuation
// token, used to page through saved reports. To retrieve the next page,
// set this parameter to the value of "nextPageToken" from the previous
// response.
func ( c * ReportsSavedListCall ) PageToken ( pageToken string ) * ReportsSavedListCall {
c . urlParams_ . Set ( "pageToken" , pageToken )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * ReportsSavedListCall ) Fields ( s ... googleapi . Field ) * ReportsSavedListCall {
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 * ReportsSavedListCall ) IfNoneMatch ( entityTag string ) * ReportsSavedListCall {
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 * ReportsSavedListCall ) Context ( ctx context . Context ) * ReportsSavedListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * ReportsSavedListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * ReportsSavedListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "reports/saved" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.reports.saved.list" call.
// Exactly one of *SavedReports or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *SavedReports.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 * ReportsSavedListCall ) Do ( opts ... googleapi . CallOption ) ( * SavedReports , 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 := & SavedReports {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "List all saved reports in this Ad Exchange account.",
// "httpMethod": "GET",
// "id": "adexchangeseller.reports.saved.list",
// "parameters": {
// "maxResults": {
// "description": "The maximum number of saved reports to include in the response, used for paging.",
// "format": "int32",
// "location": "query",
// "maximum": "100",
// "minimum": "0",
// "type": "integer"
// },
// "pageToken": {
// "description": "A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "reports/saved",
// "response": {
// "$ref": "SavedReports"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// 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 * ReportsSavedListCall ) Pages ( ctx context . Context , f func ( * SavedReports ) 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 )
}
}
// method id "adexchangeseller.urlchannels.list":
type UrlchannelsListCall struct {
s * Service
adClientId string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: List all URL channels in the specified ad client for this Ad
// Exchange account.
func ( r * UrlchannelsService ) List ( adClientId string ) * UrlchannelsListCall {
c := & UrlchannelsListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . adClientId = adClientId
return c
}
// MaxResults sets the optional parameter "maxResults": The maximum
// number of URL channels to include in the response, used for paging.
func ( c * UrlchannelsListCall ) MaxResults ( maxResults int64 ) * UrlchannelsListCall {
c . urlParams_ . Set ( "maxResults" , fmt . Sprint ( maxResults ) )
return c
}
// PageToken sets the optional parameter "pageToken": A continuation
// token, used to page through URL channels. To retrieve the next page,
// set this parameter to the value of "nextPageToken" from the previous
// response.
func ( c * UrlchannelsListCall ) PageToken ( pageToken string ) * UrlchannelsListCall {
c . urlParams_ . Set ( "pageToken" , pageToken )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * UrlchannelsListCall ) Fields ( s ... googleapi . Field ) * UrlchannelsListCall {
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 * UrlchannelsListCall ) IfNoneMatch ( entityTag string ) * UrlchannelsListCall {
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 * UrlchannelsListCall ) Context ( ctx context . Context ) * UrlchannelsListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * UrlchannelsListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * UrlchannelsListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
urls := googleapi . ResolveRelative ( c . s . BasePath , "adclients/{adClientId}/urlchannels" )
urls += "?" + c . urlParams_ . Encode ( )
req , _ := http . NewRequest ( "GET" , urls , body )
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"adClientId" : c . adClientId ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "adexchangeseller.urlchannels.list" call.
// Exactly one of *UrlChannels or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *UrlChannels.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 * UrlchannelsListCall ) Do ( opts ... googleapi . CallOption ) ( * UrlChannels , 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 := & UrlChannels {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
2017-12-03 20:01:25 +00:00
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
2017-08-05 18:17:15 +00:00
return nil , err
}
return ret , nil
// {
// "description": "List all URL channels in the specified ad client for this Ad Exchange account.",
// "httpMethod": "GET",
// "id": "adexchangeseller.urlchannels.list",
// "parameterOrder": [
// "adClientId"
// ],
// "parameters": {
// "adClientId": {
// "description": "Ad client for which to list URL channels.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "maxResults": {
// "description": "The maximum number of URL channels to include in the response, used for paging.",
// "format": "uint32",
// "location": "query",
// "maximum": "10000",
// "minimum": "0",
// "type": "integer"
// },
// "pageToken": {
// "description": "A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "adclients/{adClientId}/urlchannels",
// "response": {
// "$ref": "UrlChannels"
// },
// "scopes": [
// "https://www.googleapis.com/auth/adexchange.seller",
// "https://www.googleapis.com/auth/adexchange.seller.readonly"
// ]
// }
}
// 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 * UrlchannelsListCall ) Pages ( ctx context . Context , f func ( * UrlChannels ) 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 )
}
}