// Copyright 2023 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package admob provides access to the AdMob API. // // For product documentation, see: https://developers.google.com/admob/api/ // // # Creating a client // // Usage example: // // import "google.golang.org/api/admob/v1" // ... // ctx := context.Background() // admobService, err := admob.NewService(ctx) // // In this example, Google Application Default Credentials are used for authentication. // // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // # Other authentication options // // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: // // admobService, err := admob.NewService(ctx, option.WithScopes(admob.AdmobReportScope)) // // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: // // admobService, err := admob.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // admobService, err := admob.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package admob // import "google.golang.org/api/admob/v1" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint const apiId = "admob:v1" const apiName = "admob" const apiVersion = "v1" const basePath = "https://admob.googleapis.com/" const mtlsBasePath = "https://admob.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // See your AdMob data AdmobReadonlyScope = "https://www.googleapis.com/auth/admob.readonly" // See your AdMob data AdmobReportScope = "https://www.googleapis.com/auth/admob.report" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/admob.readonly", "https://www.googleapis.com/auth/admob.report", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Accounts = NewAccountsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Accounts *AccountsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewAccountsService(s *Service) *AccountsService { rs := &AccountsService{s: s} rs.AdUnits = NewAccountsAdUnitsService(s) rs.Apps = NewAccountsAppsService(s) rs.MediationReport = NewAccountsMediationReportService(s) rs.NetworkReport = NewAccountsNetworkReportService(s) return rs } type AccountsService struct { s *Service AdUnits *AccountsAdUnitsService Apps *AccountsAppsService MediationReport *AccountsMediationReportService NetworkReport *AccountsNetworkReportService } func NewAccountsAdUnitsService(s *Service) *AccountsAdUnitsService { rs := &AccountsAdUnitsService{s: s} return rs } type AccountsAdUnitsService struct { s *Service } func NewAccountsAppsService(s *Service) *AccountsAppsService { rs := &AccountsAppsService{s: s} return rs } type AccountsAppsService struct { s *Service } func NewAccountsMediationReportService(s *Service) *AccountsMediationReportService { rs := &AccountsMediationReportService{s: s} return rs } type AccountsMediationReportService struct { s *Service } func NewAccountsNetworkReportService(s *Service) *AccountsNetworkReportService { rs := &AccountsNetworkReportService{s: s} return rs } type AccountsNetworkReportService struct { s *Service } // AdUnit: Describes an AdMob ad unit. type AdUnit struct { // AdFormat: AdFormat of the ad unit. Possible values are as follows: // "APP_OPEN" - App Open ad format. "BANNER" - Banner ad format. // "BANNER_INTERSTITIAL" - Legacy format that can be used as either // banner or interstitial. This format can no longer be created but can // be targeted by mediation groups. "INTERSTITIAL" - A full screen ad. // Supported ad types are "RICH_MEDIA" and "VIDEO". "NATIVE" - Native ad // format. "REWARDED" - An ad that, once viewed, gets a callback // verifying the view so that a reward can be given to the user. // Supported ad types are "RICH_MEDIA" (interactive) and video where // video can not be excluded. "REWARDED_INTERSTITIAL" - Rewarded // Interstitial ad format. Only supports video ad type. See // https://support.google.com/admob/answer/9884467. AdFormat string `json:"adFormat,omitempty"` // AdTypes: Ad media type supported by this ad unit. Possible values as // follows: "RICH_MEDIA" - Text, image, and other non-video media. // "VIDEO" - Video media. AdTypes []string `json:"adTypes,omitempty"` // AdUnitId: The externally visible ID of the ad unit which can be used // to integrate with the AdMob SDK. This is a read only property. // Example: ca-app-pub-9876543210987654/0123456789 AdUnitId string `json:"adUnitId,omitempty"` // AppId: The externally visible ID of the app this ad unit is // associated with. Example: ca-app-pub-9876543210987654~0123456789 AppId string `json:"appId,omitempty"` // DisplayName: The display name of the ad unit as shown in the AdMob // UI, which is provided by the user. The maximum length allowed is 80 // characters. DisplayName string `json:"displayName,omitempty"` // Name: Resource name for this ad unit. Format is // accounts/{publisher_id}/adUnits/{ad_unit_id_fragment} Example: // accounts/pub-9876543210987654/adUnits/0123456789 Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "AdFormat") to // unconditionally include in API requests. By default, fields with // empty or default 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. "AdFormat") 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) { type NoMethod AdUnit raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // App: Describes an AdMob app for a specific platform (For example: // Android or iOS). type App struct { // AppApprovalState: Output only. The approval state for the app. // // Possible values: // "APP_APPROVAL_STATE_UNSPECIFIED" - Default value for an unset // field. Do not use. // "ACTION_REQUIRED" - The app requires additional user action to be // approved. Please refer to // https://support.google.com/admob/answer/10564477 for details and next // steps. // "IN_REVIEW" - The app is pending review. // "APPROVED" - The app is approved and can serve ads. AppApprovalState string `json:"appApprovalState,omitempty"` // AppId: The externally visible ID of the app which can be used to // integrate with the AdMob SDK. This is a read only property. Example: // ca-app-pub-9876543210987654~0123456789 AppId string `json:"appId,omitempty"` // LinkedAppInfo: Immutable. The information for an app that is linked // to an app store. This field is present if and only if the app is // linked to an app store. LinkedAppInfo *AppLinkedAppInfo `json:"linkedAppInfo,omitempty"` // ManualAppInfo: The information for an app that is not linked to any // app store. After an app is linked, this information is still // retrivable. If no name is provided for the app upon creation, a // placeholder name will be used. ManualAppInfo *AppManualAppInfo `json:"manualAppInfo,omitempty"` // Name: Resource name for this app. Format is // accounts/{publisher_id}/apps/{app_id_fragment} Example: // accounts/pub-9876543210987654/apps/0123456789 Name string `json:"name,omitempty"` // Platform: Describes the platform of the app. Limited to "IOS" and // "ANDROID". Platform string `json:"platform,omitempty"` // ForceSendFields is a list of field names (e.g. "AppApprovalState") to // unconditionally include in API requests. By default, fields with // empty or default 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. "AppApprovalState") 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 *App) MarshalJSON() ([]byte, error) { type NoMethod App raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // AppLinkedAppInfo: Information from the app store if the app is linked // to an app store. type AppLinkedAppInfo struct { // AppStoreId: The app store ID of the app; present if and only if the // app is linked to an app store. If the app is added to the Google Play // store, it will be the application ID of the app. For example: // "com.example.myapp". See // https://developer.android.com/studio/build/application-id. If the app // is added to the Apple App Store, it will be app store ID. For example // "105169111". Note that setting the app store id is considered an // irreversible action. Once an app is linked, it cannot be unlinked. AppStoreId string `json:"appStoreId,omitempty"` // DisplayName: Output only. Display name of the app as it appears in // the app store. This is an output-only field, and may be empty if the // app cannot be found in the store. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "AppStoreId") to // unconditionally include in API requests. By default, fields with // empty or default 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. "AppStoreId") 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 *AppLinkedAppInfo) MarshalJSON() ([]byte, error) { type NoMethod AppLinkedAppInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // AppManualAppInfo: Information provided for manual apps which are not // linked to an application store (Example: Google Play, App Store). type AppManualAppInfo struct { // DisplayName: The display name of the app as shown in the AdMob UI, // which is provided by the user. The maximum length allowed is 80 // characters. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "DisplayName") 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 *AppManualAppInfo) MarshalJSON() ([]byte, error) { type NoMethod AppManualAppInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Date: Represents a whole or partial calendar date, such as a // birthday. The time of day and time zone are either specified // elsewhere or are insignificant. The date is relative to the Gregorian // Calendar. This can represent one of the following: * A full date, // with non-zero year, month, and day values. * A month and day, with a // zero year (for example, an anniversary). * A year on its own, with a // zero month and a zero day. * A year and month, with a zero day (for // example, a credit card expiration date). Related types: * // google.type.TimeOfDay * google.type.DateTime * // google.protobuf.Timestamp type Date struct { // Day: Day of a month. Must be from 1 to 31 and valid for the year and // month, or 0 to specify a year by itself or a year and month where the // day isn't significant. Day int64 `json:"day,omitempty"` // Month: Month of a year. Must be from 1 to 12, or 0 to specify a year // without a month and day. Month int64 `json:"month,omitempty"` // Year: Year of the date. Must be from 1 to 9999, or 0 to specify a // date without a year. Year int64 `json:"year,omitempty"` // ForceSendFields is a list of field names (e.g. "Day") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "Day") 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 *Date) MarshalJSON() ([]byte, error) { type NoMethod Date raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // DateRange: Specification of a single date range. Both dates are // inclusive. type DateRange struct { // EndDate: End date of the date range, inclusive. Must be greater than // or equal to the start date. EndDate *Date `json:"endDate,omitempty"` // StartDate: Start date of the date range, inclusive. Must be less than // or equal to the end date. StartDate *Date `json:"startDate,omitempty"` // ForceSendFields is a list of field names (e.g. "EndDate") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "EndDate") 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 *DateRange) MarshalJSON() ([]byte, error) { type NoMethod DateRange raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GenerateMediationReportRequest: Request to generate an AdMob // mediation report. type GenerateMediationReportRequest struct { // ReportSpec: Network report specification. ReportSpec *MediationReportSpec `json:"reportSpec,omitempty"` // ForceSendFields is a list of field names (e.g. "ReportSpec") to // unconditionally include in API requests. By default, fields with // empty or default 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. "ReportSpec") 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 *GenerateMediationReportRequest) MarshalJSON() ([]byte, error) { type NoMethod GenerateMediationReportRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GenerateMediationReportResponse: The streaming response for the AdMob // mediation report where the first response contains the report header, // then a stream of row responses, and finally a footer as the last // response message. For example: [{ "header": { "date_range": { // "start_date": {"year": 2018, "month": 9, "day": 1}, "end_date": // {"year": 2018, "month": 9, "day": 1} }, "localization_settings": { // "currency_code": "USD", "language_code": "en-US" } } }, { "row": { // "dimension_values": { "DATE": {"value": "20180918"}, "APP": { // "value": "ca-app-pub-8123415297019784~1001342552", "display_label": // "My app name!" } }, "metric_values": { "ESTIMATED_EARNINGS": // {"decimal_value": "1324746"} } } }, { "footer": // {"matching_row_count": 1} }] type GenerateMediationReportResponse struct { // Footer: Additional information about the generated report, such as // warnings about the data. Footer *ReportFooter `json:"footer,omitempty"` // Header: Report generation settings that describes the report // contents, such as the report date range and localization settings. Header *ReportHeader `json:"header,omitempty"` // Row: Actual report data. Row *ReportRow `json:"row,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Footer") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Footer") 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 *GenerateMediationReportResponse) MarshalJSON() ([]byte, error) { type NoMethod GenerateMediationReportResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GenerateNetworkReportRequest: Request to generate an AdMob Network // report. type GenerateNetworkReportRequest struct { // ReportSpec: Network report specification. ReportSpec *NetworkReportSpec `json:"reportSpec,omitempty"` // ForceSendFields is a list of field names (e.g. "ReportSpec") to // unconditionally include in API requests. By default, fields with // empty or default 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. "ReportSpec") 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 *GenerateNetworkReportRequest) MarshalJSON() ([]byte, error) { type NoMethod GenerateNetworkReportRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GenerateNetworkReportResponse: The streaming response for the AdMob // Network report where the first response contains the report header, // then a stream of row responses, and finally a footer as the last // response message. For example: [{ "header": { "dateRange": { // "startDate": {"year": 2018, "month": 9, "day": 1}, "endDate": // {"year": 2018, "month": 9, "day": 1} }, "localizationSettings": { // "currencyCode": "USD", "languageCode": "en-US" } } }, { "row": { // "dimensionValues": { "DATE": {"value": "20180918"}, "APP": { "value": // "ca-app-pub-8123415297019784~1001342552", displayLabel: "My app // name!" } }, "metricValues": { "ESTIMATED_EARNINGS": {"microsValue": // 6500000} } } }, { "footer": {"matchingRowCount": 1} }] type GenerateNetworkReportResponse struct { // Footer: Additional information about the generated report, such as // warnings about the data. Footer *ReportFooter `json:"footer,omitempty"` // Header: Report generation settings that describes the report // contents, such as the report date range and localization settings. Header *ReportHeader `json:"header,omitempty"` // Row: Actual report data. Row *ReportRow `json:"row,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Footer") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Footer") 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 *GenerateNetworkReportResponse) MarshalJSON() ([]byte, error) { type NoMethod GenerateNetworkReportResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ListAdUnitsResponse: Response for the ad units list request. type ListAdUnitsResponse struct { // AdUnits: The resulting ad units for the requested account. AdUnits []*AdUnit `json:"adUnits,omitempty"` // NextPageToken: If not empty, indicates that there may be more ad // units for the request; this value should be passed in a new // `ListAdUnitsRequest`. 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. "AdUnits") to // unconditionally include in API requests. By default, fields with // empty or default 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. "AdUnits") 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 *ListAdUnitsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListAdUnitsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ListAppsResponse: Response for the apps list request. type ListAppsResponse struct { // Apps: The resulting apps for the requested account. Apps []*App `json:"apps,omitempty"` // NextPageToken: If not empty, indicates that there may be more apps // for the request; this value should be passed in a new // `ListAppsRequest`. 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. "Apps") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Apps") 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 *ListAppsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListAppsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ListPublisherAccountsResponse: Response for the publisher account // list request. type ListPublisherAccountsResponse struct { // Account: Publisher that the client credentials can access. Account []*PublisherAccount `json:"account,omitempty"` // NextPageToken: If not empty, indicates that there might be more // accounts for the request; you must pass this value in a new // `ListPublisherAccountsRequest`. 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. "Account") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Account") 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 *ListPublisherAccountsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListPublisherAccountsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LocalizationSettings: Localization settings for reports, such as // currency and language. It affects how metrics are calculated. type LocalizationSettings struct { // CurrencyCode: Currency code of the earning related metrics, which is // the 3-letter code defined in ISO 4217. The daily average rate is used // for the currency conversion. Defaults to the account currency code if // unspecified. CurrencyCode string `json:"currencyCode,omitempty"` // LanguageCode: Language used for any localized text, such as some // dimension value display labels. The language tag defined in the IETF // BCP47. Defaults to 'en-US' if unspecified. LanguageCode string `json:"languageCode,omitempty"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "CurrencyCode") 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 *LocalizationSettings) MarshalJSON() ([]byte, error) { type NoMethod LocalizationSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // MediationReportSpec: The specification for generating an AdMob // Mediation report. For example, the specification to get observed ECPM // sliced by ad source and app for the 'US' and 'CN' countries can look // like the following example: { "date_range": { "start_date": {"year": // 2021, "month": 9, "day": 1}, "end_date": {"year": 2021, "month": 9, // "day": 30} }, "dimensions": ["AD_SOURCE", "APP", "COUNTRY"], // "metrics": ["OBSERVED_ECPM"], "dimension_filters": [ { "dimension": // "COUNTRY", "matches_any": {"values": [{"value": "US", "value": // "CN"}]} } ], "sort_conditions": [ {"dimension":"APP", order: // "ASCENDING"} ], "localization_settings": { "currency_code": "USD", // "language_code": "en-US" } } For a better understanding, you can // treat the preceding specification like the following pseudo SQL: // SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT // WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN // ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC; type MediationReportSpec struct { // DateRange: The date range for which the report is generated. DateRange *DateRange `json:"dateRange,omitempty"` // DimensionFilters: Describes which report rows to match based on their // dimension values. DimensionFilters []*MediationReportSpecDimensionFilter `json:"dimensionFilters,omitempty"` // Dimensions: List of dimensions of the report. The value combination // of these dimensions determines the row of the report. If no // dimensions are specified, the report returns a single row of // requested metrics for the entire account. // // Possible values: // "DIMENSION_UNSPECIFIED" - Default value for an unset field. Do not // use. // "DATE" - A date in the YYYYMMDD format (for example, "20210701"). // Requests can specify at most one time dimension. // "MONTH" - A month in the YYYYMM format (for example, "202107"). // Requests can specify at most one time dimension. // "WEEK" - The date of the first day of a week in the YYYYMMDD format // (for example, "20210701"). Requests can specify at most one time // dimension. // "AD_SOURCE" - The [unique ID of the ad // source](/admob/api/v1/ad_sources) (for example, "5450213213286189855" // and "AdMob Network" as label value). // "AD_SOURCE_INSTANCE" - The unique ID of the ad source instance (for // example, "ca-app-pub-1234:asi:5678" and "AdMob (default)" as label // value). // "AD_UNIT" - The unique ID of the ad unit (for example, // "ca-app-pub-1234/8790"). If AD_UNIT dimension is specified, then APP // is included automatically. // "APP" - The unique ID of the mobile application (for example, // "ca-app-pub-1234~1234"). // "MEDIATION_GROUP" - The unique ID of the mediation group (for // example, "ca-app-pub-1234:mg:1234" and "AdMob (default)" as label // value). // "COUNTRY" - CLDR country code of the place where the ad // views/clicks occur (for example, "US" or "FR"). This is a geography // dimension. // "FORMAT" - Format of the ad unit (for example, "banner", "native"), // an ad delivery dimension. // "PLATFORM" - Mobile OS platform of the app (for example, "Android" // or "iOS"). // "MOBILE_OS_VERSION" - Mobile operating system version, e.g. "iOS // 13.5.1". **Warning:** The dimension is incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "GMA_SDK_VERSION" - GMA SDK version, e.g. "iOS 7.62.0". // **Warning:** The dimension is incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "APP_VERSION_NAME" - For Android, the app version name can be found // in versionName in PackageInfo. For iOS, the app version name can be // found in CFBundleShortVersionString. **Warning:** The dimension is // incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "SERVING_RESTRICTION" - Restriction mode for ads serving (e.g. // "Non-personalized ads"). **Warning:** The dimension is incompatible // with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) // metric. Dimensions []string `json:"dimensions,omitempty"` // LocalizationSettings: Localization settings of the report. LocalizationSettings *LocalizationSettings `json:"localizationSettings,omitempty"` // MaxReportRows: Maximum number of report data rows to return. If the // value is not set, the API returns as many rows as possible, up to // 100000. Acceptable values are 1-100000, inclusive. Values larger than // 100000 return an error. MaxReportRows int64 `json:"maxReportRows,omitempty"` // Metrics: List of metrics of the report. A report must specify at // least one metric. // // Possible values: // "METRIC_UNSPECIFIED" - Default value for an unset field. Do not // use. // "AD_REQUESTS" - The number of requests. The value is an integer. // "CLICKS" - The number of times a user clicks an ad. The value is an // integer. // "ESTIMATED_EARNINGS" - The estimated earnings of the AdMob // publisher. The currency unit (USD, EUR, or other) of the earning // metrics are determined by the localization setting for currency. The // amount is in micros. For example, $6.50 would be represented as // 6500000. Estimated earnings per mediation group and per ad source // instance level is supported dating back to October 20, 2019. // Third-party estimated earnings will show 0 for dates prior to October // 20, 2019. // "IMPRESSIONS" - The total number of ads shown to users. The value // is an integer. // "IMPRESSION_CTR" - The ratio of clicks over impressions. The value // is a double precision (approximate) decimal value. // "MATCHED_REQUESTS" - The number of times ads are returned in // response to a request. The value is an integer. // "MATCH_RATE" - The ratio of matched ad requests over the total ad // requests. The value is a double precision (approximate) decimal // value. // "OBSERVED_ECPM" - The third-party ad network's estimated average // eCPM. The currency unit (USD, EUR, or other) of the earning metrics // are determined by the localization setting for currency. The amount // is in micros. For example, $2.30 would be represented as 2300000. The // estimated average eCPM per mediation group and per ad source instance // level is supported dating back to October 20, 2019. Third-party // estimated average eCPM will show 0 for dates prior to October 20, // 2019. Metrics []string `json:"metrics,omitempty"` // SortConditions: Describes the sorting of report rows. The order of // the condition in the list defines its precedence; the earlier the // condition, the higher its precedence. If no sort conditions are // specified, the row ordering is undefined. SortConditions []*MediationReportSpecSortCondition `json:"sortConditions,omitempty"` // TimeZone: A report time zone. Accepts an IANA TZ name values, such as // "America/Los_Angeles." If no time zone is defined, the account // default takes effect. Check default value by the get account action. // **Warning:** The "America/Los_Angeles" is the only supported value at // the moment. TimeZone string `json:"timeZone,omitempty"` // ForceSendFields is a list of field names (e.g. "DateRange") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "DateRange") 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 *MediationReportSpec) MarshalJSON() ([]byte, error) { type NoMethod MediationReportSpec raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // MediationReportSpecDimensionFilter: Describes which report rows to // match based on their dimension values. type MediationReportSpecDimensionFilter struct { // Dimension: Applies the filter criterion to the specified dimension. // // Possible values: // "DIMENSION_UNSPECIFIED" - Default value for an unset field. Do not // use. // "DATE" - A date in the YYYYMMDD format (for example, "20210701"). // Requests can specify at most one time dimension. // "MONTH" - A month in the YYYYMM format (for example, "202107"). // Requests can specify at most one time dimension. // "WEEK" - The date of the first day of a week in the YYYYMMDD format // (for example, "20210701"). Requests can specify at most one time // dimension. // "AD_SOURCE" - The [unique ID of the ad // source](/admob/api/v1/ad_sources) (for example, "5450213213286189855" // and "AdMob Network" as label value). // "AD_SOURCE_INSTANCE" - The unique ID of the ad source instance (for // example, "ca-app-pub-1234:asi:5678" and "AdMob (default)" as label // value). // "AD_UNIT" - The unique ID of the ad unit (for example, // "ca-app-pub-1234/8790"). If AD_UNIT dimension is specified, then APP // is included automatically. // "APP" - The unique ID of the mobile application (for example, // "ca-app-pub-1234~1234"). // "MEDIATION_GROUP" - The unique ID of the mediation group (for // example, "ca-app-pub-1234:mg:1234" and "AdMob (default)" as label // value). // "COUNTRY" - CLDR country code of the place where the ad // views/clicks occur (for example, "US" or "FR"). This is a geography // dimension. // "FORMAT" - Format of the ad unit (for example, "banner", "native"), // an ad delivery dimension. // "PLATFORM" - Mobile OS platform of the app (for example, "Android" // or "iOS"). // "MOBILE_OS_VERSION" - Mobile operating system version, e.g. "iOS // 13.5.1". **Warning:** The dimension is incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "GMA_SDK_VERSION" - GMA SDK version, e.g. "iOS 7.62.0". // **Warning:** The dimension is incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "APP_VERSION_NAME" - For Android, the app version name can be found // in versionName in PackageInfo. For iOS, the app version name can be // found in CFBundleShortVersionString. **Warning:** The dimension is // incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "SERVING_RESTRICTION" - Restriction mode for ads serving (e.g. // "Non-personalized ads"). **Warning:** The dimension is incompatible // with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) // metric. Dimension string `json:"dimension,omitempty"` // MatchesAny: Matches a row if its value for the specified dimension is // in one of the values specified in this condition. MatchesAny *StringList `json:"matchesAny,omitempty"` // ForceSendFields is a list of field names (e.g. "Dimension") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Dimension") 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 *MediationReportSpecDimensionFilter) MarshalJSON() ([]byte, error) { type NoMethod MediationReportSpecDimensionFilter raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // MediationReportSpecSortCondition: Sorting direction to be applied on // a dimension or a metric. type MediationReportSpecSortCondition struct { // Dimension: Sort by the specified dimension. // // Possible values: // "DIMENSION_UNSPECIFIED" - Default value for an unset field. Do not // use. // "DATE" - A date in the YYYYMMDD format (for example, "20210701"). // Requests can specify at most one time dimension. // "MONTH" - A month in the YYYYMM format (for example, "202107"). // Requests can specify at most one time dimension. // "WEEK" - The date of the first day of a week in the YYYYMMDD format // (for example, "20210701"). Requests can specify at most one time // dimension. // "AD_SOURCE" - The [unique ID of the ad // source](/admob/api/v1/ad_sources) (for example, "5450213213286189855" // and "AdMob Network" as label value). // "AD_SOURCE_INSTANCE" - The unique ID of the ad source instance (for // example, "ca-app-pub-1234:asi:5678" and "AdMob (default)" as label // value). // "AD_UNIT" - The unique ID of the ad unit (for example, // "ca-app-pub-1234/8790"). If AD_UNIT dimension is specified, then APP // is included automatically. // "APP" - The unique ID of the mobile application (for example, // "ca-app-pub-1234~1234"). // "MEDIATION_GROUP" - The unique ID of the mediation group (for // example, "ca-app-pub-1234:mg:1234" and "AdMob (default)" as label // value). // "COUNTRY" - CLDR country code of the place where the ad // views/clicks occur (for example, "US" or "FR"). This is a geography // dimension. // "FORMAT" - Format of the ad unit (for example, "banner", "native"), // an ad delivery dimension. // "PLATFORM" - Mobile OS platform of the app (for example, "Android" // or "iOS"). // "MOBILE_OS_VERSION" - Mobile operating system version, e.g. "iOS // 13.5.1". **Warning:** The dimension is incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "GMA_SDK_VERSION" - GMA SDK version, e.g. "iOS 7.62.0". // **Warning:** The dimension is incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "APP_VERSION_NAME" - For Android, the app version name can be found // in versionName in PackageInfo. For iOS, the app version name can be // found in CFBundleShortVersionString. **Warning:** The dimension is // incompatible with // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. // "SERVING_RESTRICTION" - Restriction mode for ads serving (e.g. // "Non-personalized ads"). **Warning:** The dimension is incompatible // with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) // metric. Dimension string `json:"dimension,omitempty"` // Metric: Sort by the specified metric. // // Possible values: // "METRIC_UNSPECIFIED" - Default value for an unset field. Do not // use. // "AD_REQUESTS" - The number of requests. The value is an integer. // "CLICKS" - The number of times a user clicks an ad. The value is an // integer. // "ESTIMATED_EARNINGS" - The estimated earnings of the AdMob // publisher. The currency unit (USD, EUR, or other) of the earning // metrics are determined by the localization setting for currency. The // amount is in micros. For example, $6.50 would be represented as // 6500000. Estimated earnings per mediation group and per ad source // instance level is supported dating back to October 20, 2019. // Third-party estimated earnings will show 0 for dates prior to October // 20, 2019. // "IMPRESSIONS" - The total number of ads shown to users. The value // is an integer. // "IMPRESSION_CTR" - The ratio of clicks over impressions. The value // is a double precision (approximate) decimal value. // "MATCHED_REQUESTS" - The number of times ads are returned in // response to a request. The value is an integer. // "MATCH_RATE" - The ratio of matched ad requests over the total ad // requests. The value is a double precision (approximate) decimal // value. // "OBSERVED_ECPM" - The third-party ad network's estimated average // eCPM. The currency unit (USD, EUR, or other) of the earning metrics // are determined by the localization setting for currency. The amount // is in micros. For example, $2.30 would be represented as 2300000. The // estimated average eCPM per mediation group and per ad source instance // level is supported dating back to October 20, 2019. Third-party // estimated average eCPM will show 0 for dates prior to October 20, // 2019. Metric string `json:"metric,omitempty"` // Order: Sorting order of the dimension or metric. // // Possible values: // "SORT_ORDER_UNSPECIFIED" - Default value for an unset field. Do not // use. // "ASCENDING" - Sort dimension value or metric value in ascending // order. // "DESCENDING" - Sort dimension value or metric value in descending // order. Order string `json:"order,omitempty"` // ForceSendFields is a list of field names (e.g. "Dimension") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Dimension") 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 *MediationReportSpecSortCondition) MarshalJSON() ([]byte, error) { type NoMethod MediationReportSpecSortCondition raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // NetworkReportSpec: The specification for generating an AdMob Network // report. For example, the specification to get clicks and estimated // earnings for only the 'US' and 'CN' countries can look like the // following example: { 'date_range': { 'start_date': {'year': 2021, // 'month': 9, 'day': 1}, 'end_date': {'year': 2021, 'month': 9, 'day': // 30} }, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': // ['CLICKS', 'ESTIMATED_EARNINGS'], 'dimension_filters': [ { // 'dimension': 'COUNTRY', 'matches_any': {'values': [{'value': 'US', // 'value': 'CN'}]} } ], 'sort_conditions': [ {'dimension':'APP', order: // 'ASCENDING'}, {'metric':'CLICKS', order: 'DESCENDING'} ], // 'localization_settings': { 'currency_code': 'USD', 'language_code': // 'en-US' } } For a better understanding, you can treat the preceding // specification like the following pseudo SQL: SELECT DATE, APP, // COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= // '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN ('US', 'CN') // GROUP BY DATE, APP, COUNTRY ORDER BY APP ASC, CLICKS DESC; type NetworkReportSpec struct { // DateRange: The date range for which the report is generated. DateRange *DateRange `json:"dateRange,omitempty"` // DimensionFilters: Describes which report rows to match based on their // dimension values. DimensionFilters []*NetworkReportSpecDimensionFilter `json:"dimensionFilters,omitempty"` // Dimensions: List of dimensions of the report. The value combination // of these dimensions determines the row of the report. If no // dimensions are specified, the report returns a single row of // requested metrics for the entire account. // // Possible values: // "DIMENSION_UNSPECIFIED" - Default value for an unset field. Do not // use. // "DATE" - A date in the YYYYMMDD format (for example, "20210701"). // Requests can specify at most one time dimension. // "MONTH" - A month in the YYYYMM format (for example, "202107"). // Requests can specify at most one time dimension. // "WEEK" - The date of the first day of a week in the YYYYMMDD format // (for example, "20210701"). Requests can specify at most one time // dimension. // "AD_UNIT" - The unique ID of the ad unit (for example, // "ca-app-pub-1234/1234"). If AD_UNIT dimension is specified, then APP // is included automatically. // "APP" - The unique ID of the mobile application (for example, // "ca-app-pub-1234~1234"). // "AD_TYPE" - Type of the ad (for example, "text" or "image"), an ad // delivery dimension. **Warning:** The dimension is incompatible with // [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), // [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and // [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics. // "COUNTRY" - CLDR country code of the place where the ad // views/clicks occur (for example, "US" or "FR"). This is a geography // dimension. // "FORMAT" - Format of the ad unit (for example, "banner", "native"), // an ad delivery dimension. // "PLATFORM" - Mobile OS platform of the app (for example, "Android" // or "iOS"). // "MOBILE_OS_VERSION" - Mobile operating system version, e.g. "iOS // 13.5.1". // "GMA_SDK_VERSION" - GMA SDK version, e.g. "iOS 7.62.0". // "APP_VERSION_NAME" - For Android, the app version name can be found // in versionName in PackageInfo. For iOS, the app version name can be // found in CFBundleShortVersionString. // "SERVING_RESTRICTION" - Restriction mode for ads serving (e.g. // "Non-personalized ads"). Dimensions []string `json:"dimensions,omitempty"` // LocalizationSettings: Localization settings of the report. LocalizationSettings *LocalizationSettings `json:"localizationSettings,omitempty"` // MaxReportRows: Maximum number of report data rows to return. If the // value is not set, the API returns as many rows as possible, up to // 100000. Acceptable values are 1-100000, inclusive. Values larger than // 100000 return an error. MaxReportRows int64 `json:"maxReportRows,omitempty"` // Metrics: List of metrics of the report. A report must specify at // least one metric. // // Possible values: // "METRIC_UNSPECIFIED" - Default value for an unset field. Do not // use. // "AD_REQUESTS" - The number of ad requests. The value is an integer. // **Warning:** The metric is incompatible with // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. // "CLICKS" - The number of times a user clicks an ad. The value is an // integer. // "ESTIMATED_EARNINGS" - The estimated earnings of the AdMob // publisher. The currency unit (USD, EUR, or other) of the earning // metrics are determined by the localization setting for currency. The // amount is in micros. For example, $6.50 would be represented as // 6500000. // "IMPRESSIONS" - The total number of ads shown to users. The value // is an integer. // "IMPRESSION_CTR" - The ratio of clicks over impressions. The value // is a double precision (approximate) decimal value. // "IMPRESSION_RPM" - The estimated earnings per thousand ad // impressions. The value is in micros. For example, $1.03 would be // represented as 1030000. Equivalent to eCPM in the AdMob UI. // **Warning:** The metric is incompatible with // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. // "MATCHED_REQUESTS" - The number of times ads are returned in // response to a request. The value is an integer. // "MATCH_RATE" - The ratio of matched ad requests over the total ad // requests. The value is a double precision (approximate) decimal // value. **Warning:** The metric is incompatible with // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. // "SHOW_RATE" - The ratio of ads that are displayed over ads that are // returned, defined as impressions / matched requests. The value is a // double precision (approximate) decimal value. Metrics []string `json:"metrics,omitempty"` // SortConditions: Describes the sorting of report rows. The order of // the condition in the list defines its precedence; the earlier the // condition, the higher its precedence. If no sort conditions are // specified, the row ordering is undefined. SortConditions []*NetworkReportSpecSortCondition `json:"sortConditions,omitempty"` // TimeZone: A report time zone. Accepts an IANA TZ name values, such as // "America/Los_Angeles." If no time zone is defined, the account // default takes effect. Check default value by the get account action. // **Warning:** The "America/Los_Angeles" is the only supported value at // the moment. TimeZone string `json:"timeZone,omitempty"` // ForceSendFields is a list of field names (e.g. "DateRange") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "DateRange") 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 *NetworkReportSpec) MarshalJSON() ([]byte, error) { type NoMethod NetworkReportSpec raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // NetworkReportSpecDimensionFilter: Describes which report rows to // match based on their dimension values. type NetworkReportSpecDimensionFilter struct { // Dimension: Applies the filter criterion to the specified dimension. // // Possible values: // "DIMENSION_UNSPECIFIED" - Default value for an unset field. Do not // use. // "DATE" - A date in the YYYYMMDD format (for example, "20210701"). // Requests can specify at most one time dimension. // "MONTH" - A month in the YYYYMM format (for example, "202107"). // Requests can specify at most one time dimension. // "WEEK" - The date of the first day of a week in the YYYYMMDD format // (for example, "20210701"). Requests can specify at most one time // dimension. // "AD_UNIT" - The unique ID of the ad unit (for example, // "ca-app-pub-1234/1234"). If AD_UNIT dimension is specified, then APP // is included automatically. // "APP" - The unique ID of the mobile application (for example, // "ca-app-pub-1234~1234"). // "AD_TYPE" - Type of the ad (for example, "text" or "image"), an ad // delivery dimension. **Warning:** The dimension is incompatible with // [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), // [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and // [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics. // "COUNTRY" - CLDR country code of the place where the ad // views/clicks occur (for example, "US" or "FR"). This is a geography // dimension. // "FORMAT" - Format of the ad unit (for example, "banner", "native"), // an ad delivery dimension. // "PLATFORM" - Mobile OS platform of the app (for example, "Android" // or "iOS"). // "MOBILE_OS_VERSION" - Mobile operating system version, e.g. "iOS // 13.5.1". // "GMA_SDK_VERSION" - GMA SDK version, e.g. "iOS 7.62.0". // "APP_VERSION_NAME" - For Android, the app version name can be found // in versionName in PackageInfo. For iOS, the app version name can be // found in CFBundleShortVersionString. // "SERVING_RESTRICTION" - Restriction mode for ads serving (e.g. // "Non-personalized ads"). Dimension string `json:"dimension,omitempty"` // MatchesAny: Matches a row if its value for the specified dimension is // in one of the values specified in this condition. MatchesAny *StringList `json:"matchesAny,omitempty"` // ForceSendFields is a list of field names (e.g. "Dimension") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Dimension") 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 *NetworkReportSpecDimensionFilter) MarshalJSON() ([]byte, error) { type NoMethod NetworkReportSpecDimensionFilter raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // NetworkReportSpecSortCondition: Sorting direction to be applied on a // dimension or a metric. type NetworkReportSpecSortCondition struct { // Dimension: Sort by the specified dimension. // // Possible values: // "DIMENSION_UNSPECIFIED" - Default value for an unset field. Do not // use. // "DATE" - A date in the YYYYMMDD format (for example, "20210701"). // Requests can specify at most one time dimension. // "MONTH" - A month in the YYYYMM format (for example, "202107"). // Requests can specify at most one time dimension. // "WEEK" - The date of the first day of a week in the YYYYMMDD format // (for example, "20210701"). Requests can specify at most one time // dimension. // "AD_UNIT" - The unique ID of the ad unit (for example, // "ca-app-pub-1234/1234"). If AD_UNIT dimension is specified, then APP // is included automatically. // "APP" - The unique ID of the mobile application (for example, // "ca-app-pub-1234~1234"). // "AD_TYPE" - Type of the ad (for example, "text" or "image"), an ad // delivery dimension. **Warning:** The dimension is incompatible with // [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), // [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and // [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics. // "COUNTRY" - CLDR country code of the place where the ad // views/clicks occur (for example, "US" or "FR"). This is a geography // dimension. // "FORMAT" - Format of the ad unit (for example, "banner", "native"), // an ad delivery dimension. // "PLATFORM" - Mobile OS platform of the app (for example, "Android" // or "iOS"). // "MOBILE_OS_VERSION" - Mobile operating system version, e.g. "iOS // 13.5.1". // "GMA_SDK_VERSION" - GMA SDK version, e.g. "iOS 7.62.0". // "APP_VERSION_NAME" - For Android, the app version name can be found // in versionName in PackageInfo. For iOS, the app version name can be // found in CFBundleShortVersionString. // "SERVING_RESTRICTION" - Restriction mode for ads serving (e.g. // "Non-personalized ads"). Dimension string `json:"dimension,omitempty"` // Metric: Sort by the specified metric. // // Possible values: // "METRIC_UNSPECIFIED" - Default value for an unset field. Do not // use. // "AD_REQUESTS" - The number of ad requests. The value is an integer. // **Warning:** The metric is incompatible with // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. // "CLICKS" - The number of times a user clicks an ad. The value is an // integer. // "ESTIMATED_EARNINGS" - The estimated earnings of the AdMob // publisher. The currency unit (USD, EUR, or other) of the earning // metrics are determined by the localization setting for currency. The // amount is in micros. For example, $6.50 would be represented as // 6500000. // "IMPRESSIONS" - The total number of ads shown to users. The value // is an integer. // "IMPRESSION_CTR" - The ratio of clicks over impressions. The value // is a double precision (approximate) decimal value. // "IMPRESSION_RPM" - The estimated earnings per thousand ad // impressions. The value is in micros. For example, $1.03 would be // represented as 1030000. Equivalent to eCPM in the AdMob UI. // **Warning:** The metric is incompatible with // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. // "MATCHED_REQUESTS" - The number of times ads are returned in // response to a request. The value is an integer. // "MATCH_RATE" - The ratio of matched ad requests over the total ad // requests. The value is a double precision (approximate) decimal // value. **Warning:** The metric is incompatible with // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. // "SHOW_RATE" - The ratio of ads that are displayed over ads that are // returned, defined as impressions / matched requests. The value is a // double precision (approximate) decimal value. Metric string `json:"metric,omitempty"` // Order: Sorting order of the dimension or metric. // // Possible values: // "SORT_ORDER_UNSPECIFIED" - Default value for an unset field. Do not // use. // "ASCENDING" - Sort dimension value or metric value in ascending // order. // "DESCENDING" - Sort dimension value or metric value in descending // order. Order string `json:"order,omitempty"` // ForceSendFields is a list of field names (e.g. "Dimension") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Dimension") 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 *NetworkReportSpecSortCondition) MarshalJSON() ([]byte, error) { type NoMethod NetworkReportSpecSortCondition raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PublisherAccount: A publisher account contains information relevant // to the use of this API, such as the time zone used for the reports. type PublisherAccount struct { // CurrencyCode: Currency code of the earning-related metrics, which is // the 3-letter code defined in ISO 4217. The daily average rate is used // for the currency conversion. CurrencyCode string `json:"currencyCode,omitempty"` // Name: Resource name of this account. Format is // accounts/{publisher_id}. Name string `json:"name,omitempty"` // PublisherId: The unique ID by which this publisher account can be // identified in the API requests (for example, pub-1234567890). PublisherId string `json:"publisherId,omitempty"` // ReportingTimeZone: The time zone that is used in reports that are // generated for this account. The value is a time-zone ID as specified // by the CLDR project, for example, "America/Los_Angeles". ReportingTimeZone string `json:"reportingTimeZone,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CurrencyCode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "CurrencyCode") 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 *PublisherAccount) MarshalJSON() ([]byte, error) { type NoMethod PublisherAccount raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ReportFooter: Groups data available after report generation, for // example, warnings and row counts. Always sent as the last message in // the stream response. type ReportFooter struct { // MatchingRowCount: Total number of rows that matched the request. // Warning: This count does NOT always match the number of rows in the // response. Do not make that assumption when processing the response. MatchingRowCount int64 `json:"matchingRowCount,omitempty,string"` // Warnings: Warnings associated with generation of the report. Warnings []*ReportWarning `json:"warnings,omitempty"` // ForceSendFields is a list of field names (e.g. "MatchingRowCount") to // unconditionally include in API requests. By default, fields with // empty or default 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. "MatchingRowCount") 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 *ReportFooter) MarshalJSON() ([]byte, error) { type NoMethod ReportFooter raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ReportHeader: Groups data helps to treat the generated report. Always // sent as a first message in the stream response. type ReportHeader struct { // DateRange: The date range for which the report is generated. This is // identical to the range specified in the report request. DateRange *DateRange `json:"dateRange,omitempty"` // LocalizationSettings: Localization settings of the report. This is // identical to the settings in the report request. LocalizationSettings *LocalizationSettings `json:"localizationSettings,omitempty"` // ReportingTimeZone: The report time zone. The value is a time-zone ID // as specified by the CLDR project, for example, "America/Los_Angeles". ReportingTimeZone string `json:"reportingTimeZone,omitempty"` // ForceSendFields is a list of field names (e.g. "DateRange") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. 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. "DateRange") 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 *ReportHeader) MarshalJSON() ([]byte, error) { type NoMethod ReportHeader raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ReportRow: A row of the returning report. type ReportRow struct { // DimensionValues: Map of dimension values in a row, with keys as enum // name of the dimensions. DimensionValues map[string]ReportRowDimensionValue `json:"dimensionValues,omitempty"` // MetricValues: Map of metric values in a row, with keys as enum name // of the metrics. If a metric being requested has no value returned, // the map will not include it. MetricValues map[string]ReportRowMetricValue `json:"metricValues,omitempty"` // ForceSendFields is a list of field names (e.g. "DimensionValues") to // unconditionally include in API requests. By default, fields with // empty or default 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. "DimensionValues") 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 *ReportRow) MarshalJSON() ([]byte, error) { type NoMethod ReportRow raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ReportRowDimensionValue: Representation of a dimension value. type ReportRowDimensionValue struct { // DisplayLabel: The localized string representation of the value. If // unspecified, the display label should be derived from the value. DisplayLabel string `json:"displayLabel,omitempty"` // Value: Dimension value in the format specified in the report's spec // Dimension enum. Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayLabel") to // unconditionally include in API requests. By default, fields with // empty or default 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. "DisplayLabel") 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 *ReportRowDimensionValue) MarshalJSON() ([]byte, error) { type NoMethod ReportRowDimensionValue raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ReportRowMetricValue: Representation of a metric value. type ReportRowMetricValue struct { // DoubleValue: Double precision (approximate) decimal values. Rates are // from 0 to 1. DoubleValue float64 `json:"doubleValue,omitempty"` // IntegerValue: Metric integer value. IntegerValue int64 `json:"integerValue,omitempty,string"` // MicrosValue: Amount in micros. One million is equivalent to one unit. // Currency value is in the unit (USD, EUR or other) specified by the // request. For example, $6.50 whould be represented as 6500000 micros. MicrosValue int64 `json:"microsValue,omitempty,string"` // ForceSendFields is a list of field names (e.g. "DoubleValue") to // unconditionally include in API requests. By default, fields with // empty or default 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. "DoubleValue") 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 *ReportRowMetricValue) MarshalJSON() ([]byte, error) { type NoMethod ReportRowMetricValue raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } func (s *ReportRowMetricValue) UnmarshalJSON(data []byte) error { type NoMethod ReportRowMetricValue var s1 struct { DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.DoubleValue = float64(s1.DoubleValue) return nil } // ReportWarning: Warnings associated with generation of the report. type ReportWarning struct { // Description: Describes the details of the warning message, in // English. Description string `json:"description,omitempty"` // Type: Type of the warning. // // Possible values: // "TYPE_UNSPECIFIED" - Default value for an unset field. Do not use. // "DATA_BEFORE_ACCOUNT_TIMEZONE_CHANGE" - Some data in this report is // aggregated based on a time zone different from the requested time // zone. This could happen if a local time-zone report has the start // time before the last time this time zone changed. The description // field will contain the date of the last time zone change. // "DATA_DELAYED" - There is an unusual delay in processing the source // data for the requested date range. The report results might be less // up to date than usual. AdMob is aware of the issue and is actively // working to resolve it. // "OTHER" - Warnings that are exposed without a specific type. Useful // when new warning types are added but the API is not changed yet. // "REPORT_CURRENCY_NOT_ACCOUNT_CURRENCY" - The currency being // requested is not the account currency. The earning metrics will be // based on the requested currency, and thus not a good estimation of // the final payment anymore, due to the currency rate fluctuation. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Description") 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 *ReportWarning) MarshalJSON() ([]byte, error) { type NoMethod ReportWarning raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // StringList: List of string values. type StringList struct { // Values: The string values. Values []string `json:"values,omitempty"` // ForceSendFields is a list of field names (e.g. "Values") to // unconditionally include in API requests. By default, fields with // empty or default 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. "Values") 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 *StringList) MarshalJSON() ([]byte, error) { type NoMethod StringList raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // method id "admob.accounts.get": type AccountsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets information about the specified AdMob publisher account. // // - name: Resource name of the publisher account to retrieve. Example: // accounts/pub-9876543210987654. func (r *AccountsService) Get(name string) *AccountsGetCall { c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *AccountsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 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) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "admob.accounts.get" call. // Exactly one of *PublisherAccount or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *PublisherAccount.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*PublisherAccount, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &PublisherAccount{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Gets information about the specified AdMob publisher account.", // "flatPath": "v1/accounts/{accountsId}", // "httpMethod": "GET", // "id": "admob.accounts.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Resource name of the publisher account to retrieve. Example: accounts/pub-9876543210987654", // "location": "path", // "pattern": "^accounts/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v1/{+name}", // "response": { // "$ref": "PublisherAccount" // }, // "scopes": [ // "https://www.googleapis.com/auth/admob.readonly", // "https://www.googleapis.com/auth/admob.report" // ], // "streamingType": "NONE" // } } // method id "admob.accounts.list": type AccountsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the AdMob publisher account that was most recently signed // in to from the AdMob UI. For more information, see // https://support.google.com/admob/answer/10243672. func (r *AccountsService) List() *AccountsListCall { c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // PageSize sets the optional parameter "pageSize": Maximum number of // accounts to return. func (c *AccountsListCall) PageSize(pageSize int64) *AccountsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The value returned // by the last `ListPublisherAccountsResponse`; indicates that this is a // continuation of a prior `ListPublisherAccounts` call, and that the // system should return the next page of data. func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall { 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 *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *AccountsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 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) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/accounts") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "admob.accounts.list" call. // Exactly one of *ListPublisherAccountsResponse or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *ListPublisherAccountsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*ListPublisherAccountsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListPublisherAccountsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For more information, see https://support.google.com/admob/answer/10243672.", // "flatPath": "v1/accounts", // "httpMethod": "GET", // "id": "admob.accounts.list", // "parameterOrder": [], // "parameters": { // "pageSize": { // "description": "Maximum number of accounts to return.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "The value returned by the last `ListPublisherAccountsResponse`; indicates that this is a continuation of a prior `ListPublisherAccounts` call, and that the system should return the next page of data.", // "location": "query", // "type": "string" // } // }, // "path": "v1/accounts", // "response": { // "$ref": "ListPublisherAccountsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/admob.readonly", // "https://www.googleapis.com/auth/admob.report" // ], // "streamingType": "NONE" // } } // 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 *AccountsListCall) Pages(ctx context.Context, f func(*ListPublisherAccountsResponse) 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 "admob.accounts.adUnits.list": type AccountsAdUnitsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: List the ad units under the specified AdMob account. // // - parent: Resource name of the account to list ad units for. Example: // accounts/pub-9876543210987654. func (r *AccountsAdUnitsService) List(parent string) *AccountsAdUnitsListCall { c := &AccountsAdUnitsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": The maximum number // of ad units to return. If unspecified or 0, at most 10,000 ad units // will be returned. The maximum value is 20,000; values above 20,000 // will be coerced to 20,000. func (c *AccountsAdUnitsListCall) PageSize(pageSize int64) *AccountsAdUnitsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The value returned // by the last `ListAdUnitsResponse`; indicates that this is a // continuation of a prior `ListAdUnits` call, and that the system // should return the next page of data. func (c *AccountsAdUnitsListCall) PageToken(pageToken string) *AccountsAdUnitsListCall { 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 *AccountsAdUnitsListCall) Fields(s ...googleapi.Field) *AccountsAdUnitsListCall { 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 *AccountsAdUnitsListCall) IfNoneMatch(entityTag string) *AccountsAdUnitsListCall { 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 *AccountsAdUnitsListCall) Context(ctx context.Context) *AccountsAdUnitsListCall { 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 *AccountsAdUnitsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsAdUnitsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 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) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/adUnits") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "admob.accounts.adUnits.list" call. // Exactly one of *ListAdUnitsResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *ListAdUnitsResponse.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 *AccountsAdUnitsListCall) Do(opts ...googleapi.CallOption) (*ListAdUnitsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListAdUnitsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "List the ad units under the specified AdMob account.", // "flatPath": "v1/accounts/{accountsId}/adUnits", // "httpMethod": "GET", // "id": "admob.accounts.adUnits.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "The maximum number of ad units to return. If unspecified or 0, at most 10,000 ad units will be returned. The maximum value is 20,000; values above 20,000 will be coerced to 20,000.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "The value returned by the last `ListAdUnitsResponse`; indicates that this is a continuation of a prior `ListAdUnits` call, and that the system should return the next page of data.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. Resource name of the account to list ad units for. Example: accounts/pub-9876543210987654", // "location": "path", // "pattern": "^accounts/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v1/{+parent}/adUnits", // "response": { // "$ref": "ListAdUnitsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/admob.readonly" // ], // "streamingType": "NONE" // } } // 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 *AccountsAdUnitsListCall) Pages(ctx context.Context, f func(*ListAdUnitsResponse) 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 "admob.accounts.apps.list": type AccountsAppsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: List the apps under the specified AdMob account. // // - parent: Resource name of the account to list apps for. Example: // accounts/pub-9876543210987654. func (r *AccountsAppsService) List(parent string) *AccountsAppsListCall { c := &AccountsAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": The maximum number // of apps to return. If unspecified or 0, at most 10,000 apps will be // returned. The maximum value is 20,000; values above 20,000 will be // coerced to 20,000. func (c *AccountsAppsListCall) PageSize(pageSize int64) *AccountsAppsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The value returned // by the last `ListAppsResponse`; indicates that this is a continuation // of a prior `ListApps` call, and that the system should return the // next page of data. func (c *AccountsAppsListCall) PageToken(pageToken string) *AccountsAppsListCall { 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 *AccountsAppsListCall) Fields(s ...googleapi.Field) *AccountsAppsListCall { 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 *AccountsAppsListCall) IfNoneMatch(entityTag string) *AccountsAppsListCall { 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 *AccountsAppsListCall) Context(ctx context.Context) *AccountsAppsListCall { 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 *AccountsAppsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsAppsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 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) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "admob.accounts.apps.list" call. // Exactly one of *ListAppsResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *ListAppsResponse.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 *AccountsAppsListCall) Do(opts ...googleapi.CallOption) (*ListAppsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListAppsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "List the apps under the specified AdMob account.", // "flatPath": "v1/accounts/{accountsId}/apps", // "httpMethod": "GET", // "id": "admob.accounts.apps.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "The maximum number of apps to return. If unspecified or 0, at most 10,000 apps will be returned. The maximum value is 20,000; values above 20,000 will be coerced to 20,000.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "The value returned by the last `ListAppsResponse`; indicates that this is a continuation of a prior `ListApps` call, and that the system should return the next page of data.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. Resource name of the account to list apps for. Example: accounts/pub-9876543210987654", // "location": "path", // "pattern": "^accounts/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v1/{+parent}/apps", // "response": { // "$ref": "ListAppsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/admob.readonly" // ], // "streamingType": "NONE" // } } // 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 *AccountsAppsListCall) Pages(ctx context.Context, f func(*ListAppsResponse) 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 "admob.accounts.mediationReport.generate": type AccountsMediationReportGenerateCall struct { s *Service parent string generatemediationreportrequest *GenerateMediationReportRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Generate: Generates an AdMob mediation report based on the provided // report specification. Returns result of a server-side streaming RPC. // The result is returned in a sequence of responses. // // - parent: Resource name of the account to generate the report for. // Example: accounts/pub-9876543210987654. func (r *AccountsMediationReportService) Generate(parent string, generatemediationreportrequest *GenerateMediationReportRequest) *AccountsMediationReportGenerateCall { c := &AccountsMediationReportGenerateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.generatemediationreportrequest = generatemediationreportrequest 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 *AccountsMediationReportGenerateCall) Fields(s ...googleapi.Field) *AccountsMediationReportGenerateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *AccountsMediationReportGenerateCall) Context(ctx context.Context) *AccountsMediationReportGenerateCall { 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 *AccountsMediationReportGenerateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsMediationReportGenerateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatemediationreportrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/mediationReport:generate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "admob.accounts.mediationReport.generate" call. // Exactly one of *GenerateMediationReportResponse or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GenerateMediationReportResponse.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 *AccountsMediationReportGenerateCall) Do(opts ...googleapi.CallOption) (*GenerateMediationReportResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GenerateMediationReportResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Generates an AdMob mediation report based on the provided report specification. Returns result of a server-side streaming RPC. The result is returned in a sequence of responses.", // "flatPath": "v1/accounts/{accountsId}/mediationReport:generate", // "httpMethod": "POST", // "id": "admob.accounts.mediationReport.generate", // "parameterOrder": [ // "parent" // ], // "parameters": { // "parent": { // "description": "Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654", // "location": "path", // "pattern": "^accounts/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v1/{+parent}/mediationReport:generate", // "request": { // "$ref": "GenerateMediationReportRequest" // }, // "response": { // "$ref": "GenerateMediationReportResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/admob.readonly", // "https://www.googleapis.com/auth/admob.report" // ], // "streamingType": "SERVER_SIDE" // } } // method id "admob.accounts.networkReport.generate": type AccountsNetworkReportGenerateCall struct { s *Service parent string generatenetworkreportrequest *GenerateNetworkReportRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Generate: Generates an AdMob Network report based on the provided // report specification. Returns result of a server-side streaming RPC. // The result is returned in a sequence of responses. // // - parent: Resource name of the account to generate the report for. // Example: accounts/pub-9876543210987654. func (r *AccountsNetworkReportService) Generate(parent string, generatenetworkreportrequest *GenerateNetworkReportRequest) *AccountsNetworkReportGenerateCall { c := &AccountsNetworkReportGenerateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.generatenetworkreportrequest = generatenetworkreportrequest 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 *AccountsNetworkReportGenerateCall) Fields(s ...googleapi.Field) *AccountsNetworkReportGenerateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *AccountsNetworkReportGenerateCall) Context(ctx context.Context) *AccountsNetworkReportGenerateCall { 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 *AccountsNetworkReportGenerateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsNetworkReportGenerateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatenetworkreportrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/networkReport:generate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "admob.accounts.networkReport.generate" call. // Exactly one of *GenerateNetworkReportResponse or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GenerateNetworkReportResponse.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 *AccountsNetworkReportGenerateCall) Do(opts ...googleapi.CallOption) (*GenerateNetworkReportResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GenerateNetworkReportResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Generates an AdMob Network report based on the provided report specification. Returns result of a server-side streaming RPC. The result is returned in a sequence of responses.", // "flatPath": "v1/accounts/{accountsId}/networkReport:generate", // "httpMethod": "POST", // "id": "admob.accounts.networkReport.generate", // "parameterOrder": [ // "parent" // ], // "parameters": { // "parent": { // "description": "Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654", // "location": "path", // "pattern": "^accounts/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v1/{+parent}/networkReport:generate", // "request": { // "$ref": "GenerateNetworkReportRequest" // }, // "response": { // "$ref": "GenerateNetworkReportResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/admob.readonly", // "https://www.googleapis.com/auth/admob.report" // ], // "streamingType": "SERVER_SIDE" // } }