// Copyright 2024 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package manufacturers provides access to the Manufacturer Center API. // // For product documentation, see: https://developers.google.com/manufacturers/ // // # Library status // // These client libraries are officially supported by Google. However, this // library is considered complete and is in maintenance mode. This means // that we will address critical bugs and security issues but will not add // any new features. // // When possible, we recommend using our newer // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) // that are still actively being worked and iterated on. // // # Creating a client // // Usage example: // // import "google.golang.org/api/manufacturers/v1" // ... // ctx := context.Background() // manufacturersService, err := manufacturers.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 // // To use an API key for authentication (note: some APIs do not support API // keys), use [google.golang.org/api/option.WithAPIKey]: // // manufacturersService, err := manufacturers.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth // flow, use [google.golang.org/api/option.WithTokenSource]: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // manufacturersService, err := manufacturers.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] for details on options. package manufacturers // import "google.golang.org/api/manufacturers/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 var _ = internal.Version const apiId = "manufacturers:v1" const apiName = "manufacturers" const apiVersion = "v1" const basePath = "https://manufacturers.googleapis.com/" const basePathTemplate = "https://manufacturers.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://manufacturers.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // Manage your product listings for Google Manufacturer Center ManufacturercenterScope = "https://www.googleapis.com/auth/manufacturercenter" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/manufacturercenter", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) opts = append(opts, internaloption.EnableNewAuthLibrary()) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.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.Languages = NewAccountsLanguagesService(s) rs.Products = NewAccountsProductsService(s) return rs } type AccountsService struct { s *Service Languages *AccountsLanguagesService Products *AccountsProductsService } func NewAccountsLanguagesService(s *Service) *AccountsLanguagesService { rs := &AccountsLanguagesService{s: s} rs.ProductCertifications = NewAccountsLanguagesProductCertificationsService(s) return rs } type AccountsLanguagesService struct { s *Service ProductCertifications *AccountsLanguagesProductCertificationsService } func NewAccountsLanguagesProductCertificationsService(s *Service) *AccountsLanguagesProductCertificationsService { rs := &AccountsLanguagesProductCertificationsService{s: s} return rs } type AccountsLanguagesProductCertificationsService struct { s *Service } func NewAccountsProductsService(s *Service) *AccountsProductsService { rs := &AccountsProductsService{s: s} return rs } type AccountsProductsService struct { s *Service } // Attributes: Attributes of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116. type Attributes struct { // AdditionalImageLink: The additional images of the product. For more // information, see // https://support.google.com/manufacturers/answer/6124116#addlimage. AdditionalImageLink []*Image `json:"additionalImageLink,omitempty"` // AgeGroup: The target age group of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#agegroup. AgeGroup string `json:"ageGroup,omitempty"` // Brand: The brand name of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#brand. Brand string `json:"brand,omitempty"` // Capacity: The capacity of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#capacity. Capacity *Capacity `json:"capacity,omitempty"` // Certification: Optional. List of certifications claimed by this product. Certification []*GoogleShoppingManufacturersV1ProductCertification `json:"certification,omitempty"` // Color: The color of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#color. Color string `json:"color,omitempty"` // Count: The count of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#count. Count *Count `json:"count,omitempty"` // Description: The description of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#description. Description string `json:"description,omitempty"` // DisclosureDate: The disclosure date of the product. For more information, // see https://support.google.com/manufacturers/answer/6124116#disclosure. DisclosureDate string `json:"disclosureDate,omitempty"` // ExcludedDestination: A list of excluded destinations such as "ClientExport", // "ClientShoppingCatalog" or "PartnerShoppingCatalog". For more information, // see https://support.google.com/manufacturers/answer/7443550 ExcludedDestination []string `json:"excludedDestination,omitempty"` // FeatureDescription: The rich format description of the product. For more // information, see // https://support.google.com/manufacturers/answer/6124116#featuredesc. FeatureDescription []*FeatureDescription `json:"featureDescription,omitempty"` // Flavor: The flavor of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#flavor. Flavor string `json:"flavor,omitempty"` // Format: The format of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#format. Format string `json:"format,omitempty"` // Gender: The target gender of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#gender. Gender string `json:"gender,omitempty"` // Grocery: Grocery Attributes. See more at // https://support.google.com/manufacturers/answer/12098458#grocery. Grocery *Grocery `json:"grocery,omitempty"` // Gtin: The Global Trade Item Number (GTIN) of the product. For more // information, see // https://support.google.com/manufacturers/answer/6124116#gtin. Gtin []string `json:"gtin,omitempty"` // ImageLink: The image of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#image. ImageLink *Image `json:"imageLink,omitempty"` // IncludedDestination: A list of included destinations such as "ClientExport", // "ClientShoppingCatalog" or "PartnerShoppingCatalog". For more information, // see https://support.google.com/manufacturers/answer/7443550 IncludedDestination []string `json:"includedDestination,omitempty"` // ItemGroupId: The item group id of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#itemgroupid. ItemGroupId string `json:"itemGroupId,omitempty"` // Material: The material of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#material. Material string `json:"material,omitempty"` // Mpn: The Manufacturer Part Number (MPN) of the product. For more // information, see // https://support.google.com/manufacturers/answer/6124116#mpn. Mpn string `json:"mpn,omitempty"` // Nutrition: Nutrition Attributes. See more at // https://support.google.com/manufacturers/answer/12098458#food-servings. Nutrition *Nutrition `json:"nutrition,omitempty"` // Pattern: The pattern of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#pattern. Pattern string `json:"pattern,omitempty"` // ProductDetail: The details of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#productdetail. ProductDetail []*ProductDetail `json:"productDetail,omitempty"` // ProductHighlight: The product highlights. For more information, see // https://support.google.com/manufacturers/answer/10066942 ProductHighlight []string `json:"productHighlight,omitempty"` // ProductLine: The name of the group of products related to the product. For // more information, see // https://support.google.com/manufacturers/answer/6124116#productline. ProductLine string `json:"productLine,omitempty"` // ProductName: The canonical name of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#productname. ProductName string `json:"productName,omitempty"` // ProductPageUrl: The URL of the detail page of the product. For more // information, see // https://support.google.com/manufacturers/answer/6124116#productpage. ProductPageUrl string `json:"productPageUrl,omitempty"` // ProductType: The type or category of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#producttype. ProductType []string `json:"productType,omitempty"` // ReleaseDate: The release date of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#release. ReleaseDate string `json:"releaseDate,omitempty"` // RichProductContent: Rich product content. For more information, see // https://support.google.com/manufacturers/answer/9389865 RichProductContent []string `json:"richProductContent,omitempty"` // Scent: The scent of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#scent. Scent string `json:"scent,omitempty"` // Size: The size of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#size. Size string `json:"size,omitempty"` // SizeSystem: The size system of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#sizesystem. SizeSystem string `json:"sizeSystem,omitempty"` // SizeType: The size type of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#sizetype. SizeType []string `json:"sizeType,omitempty"` // SuggestedRetailPrice: The suggested retail price (MSRP) of the product. For // more information, see // https://support.google.com/manufacturers/answer/6124116#price. SuggestedRetailPrice *Price `json:"suggestedRetailPrice,omitempty"` // TargetClientId: The target client id. Should only be used in the accounts of // the data partners. For more information, see // https://support.google.com/manufacturers/answer/10857344 TargetClientId string `json:"targetClientId,omitempty"` // Theme: The theme of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#theme. Theme string `json:"theme,omitempty"` // Title: The title of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#title. Title string `json:"title,omitempty"` // VideoLink: The videos of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#video. VideoLink []string `json:"videoLink,omitempty"` // VirtualModelLink: Virtual Model (3d) asset link. VirtualModelLink string `json:"virtualModelLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AdditionalImageLink") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdditionalImageLink") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Attributes) MarshalJSON() ([]byte, error) { type NoMethod Attributes return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Capacity: The capacity of a product. For more information, see // https://support.google.com/manufacturers/answer/6124116#capacity. type Capacity struct { // Unit: The unit of the capacity, i.e., MB, GB, or TB. Unit string `json:"unit,omitempty"` // Value: The numeric value of the capacity. Value int64 `json:"value,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Unit") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Unit") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Capacity) MarshalJSON() ([]byte, error) { type NoMethod Capacity return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Certification: Description of a certification. type Certification struct { // Authority: Required. Name of the certification body. Authority string `json:"authority,omitempty"` // Code: Required. A unique code to identify the certification. Code string `json:"code,omitempty"` // Link: Optional. A URL link to the certification. Link string `json:"link,omitempty"` // Logo: Optional. A URL link to the certification logo. Logo string `json:"logo,omitempty"` // Name: Required. Name of the certification. Name string `json:"name,omitempty"` // ValidUntil: Optional. The expiration date (UTC). ValidUntil string `json:"validUntil,omitempty"` // Value: Optional. A custom value of the certification. Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Authority") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Authority") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Certification) MarshalJSON() ([]byte, error) { type NoMethod Certification return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Count: The number of products in a single package. For more information, see // https://support.google.com/manufacturers/answer/6124116#count. type Count struct { // Unit: The unit in which these products are counted. Unit string `json:"unit,omitempty"` // Value: The numeric value of the number of products in a package. Value int64 `json:"value,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Unit") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Unit") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Count) MarshalJSON() ([]byte, error) { type NoMethod Count return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DestinationStatus: The destination status. type DestinationStatus struct { // Destination: The name of the destination. Destination string `json:"destination,omitempty"` // Status: The status of the destination. // // Possible values: // "UNKNOWN" - Unspecified status, never used. // "ACTIVE" - The product is used for this destination. // "PENDING" - The decision is still pending. // "DISAPPROVED" - The product is disapproved. Please look at the issues. Status string `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "Destination") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Destination") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DestinationStatus) MarshalJSON() ([]byte, error) { type NoMethod DestinationStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use it as // the request or the response type of an API method. For instance: service Foo // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` } // FeatureDescription: A feature description of the product. For more // information, see // https://support.google.com/manufacturers/answer/6124116#featuredesc. type FeatureDescription struct { // Headline: A short description of the feature. Headline string `json:"headline,omitempty"` // Image: An optional image describing the feature. Image *Image `json:"image,omitempty"` // Text: A detailed description of the feature. Text string `json:"text,omitempty"` // ForceSendFields is a list of field names (e.g. "Headline") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Headline") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FeatureDescription) MarshalJSON() ([]byte, error) { type NoMethod FeatureDescription return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FloatUnit: Combination of float amount and unit. type FloatUnit struct { // Amount: amount. Amount float64 `json:"amount,omitempty"` // Unit: unit. Unit string `json:"unit,omitempty"` // ForceSendFields is a list of field names (e.g. "Amount") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Amount") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FloatUnit) MarshalJSON() ([]byte, error) { type NoMethod FloatUnit return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *FloatUnit) UnmarshalJSON(data []byte) error { type NoMethod FloatUnit var s1 struct { Amount gensupport.JSONFloat64 `json:"amount"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Amount = float64(s1.Amount) return nil } // GoogleShoppingManufacturersV1ProductCertification: Description of a // certification. type GoogleShoppingManufacturersV1ProductCertification struct { // Authority: Required. Name of the certification body. Authority string `json:"authority,omitempty"` // Code: Required. A unique code to identify the certification. Code string `json:"code,omitempty"` // Name: Required. Name of the certification. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Authority") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Authority") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleShoppingManufacturersV1ProductCertification) MarshalJSON() ([]byte, error) { type NoMethod GoogleShoppingManufacturersV1ProductCertification return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type Grocery struct { // ActiveIngredients: Active ingredients. ActiveIngredients string `json:"activeIngredients,omitempty"` // AlcoholByVolume: Alcohol by volume. AlcoholByVolume float64 `json:"alcoholByVolume,omitempty"` // Allergens: Allergens. Allergens string `json:"allergens,omitempty"` // DerivedNutritionClaim: Derived nutrition claim. DerivedNutritionClaim []string `json:"derivedNutritionClaim,omitempty"` // Directions: Directions. Directions string `json:"directions,omitempty"` // Indications: Indications. Indications string `json:"indications,omitempty"` // Ingredients: Ingredients. Ingredients string `json:"ingredients,omitempty"` // NutritionClaim: Nutrition claim. NutritionClaim []string `json:"nutritionClaim,omitempty"` // StorageInstructions: Storage instructions. StorageInstructions string `json:"storageInstructions,omitempty"` // ForceSendFields is a list of field names (e.g. "ActiveIngredients") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActiveIngredients") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Grocery) MarshalJSON() ([]byte, error) { type NoMethod Grocery return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Grocery) UnmarshalJSON(data []byte) error { type NoMethod Grocery var s1 struct { AlcoholByVolume gensupport.JSONFloat64 `json:"alcoholByVolume"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.AlcoholByVolume = float64(s1.AlcoholByVolume) return nil } // Image: An image. type Image struct { // ImageUrl: The URL of the image. For crawled images, this is the provided // URL. For uploaded images, this is a serving URL from Google if the image has // been processed successfully. ImageUrl string `json:"imageUrl,omitempty"` // Status: The status of the image. @OutputOnly // // Possible values: // "STATUS_UNSPECIFIED" - The image status is unspecified. Should not be // used. // "PENDING_PROCESSING" - The image was uploaded and is being processed. // "PENDING_CRAWL" - The image crawl is still pending. // "OK" - The image was processed and it meets the requirements. // "ROBOTED" - The image URL is protected by robots.txt file and cannot be // crawled. // "XROBOTED" - The image URL is protected by X-Robots-Tag and cannot be // crawled. // "CRAWL_ERROR" - There was an error while crawling the image. // "PROCESSING_ERROR" - The image cannot be processed. // "DECODING_ERROR" - The image cannot be decoded. // "TOO_BIG" - The image is too big. // "CRAWL_SKIPPED" - The image was manually overridden and will not be // crawled. // "HOSTLOADED" - The image crawl was postponed to avoid overloading the // host. // "HTTP_404" - The image URL returned a "404 Not Found" error. Status string `json:"status,omitempty"` // Type: The type of the image, i.e., crawled or uploaded. @OutputOnly // // Possible values: // "TYPE_UNSPECIFIED" - Type is unspecified. Should not be used. // "CRAWLED" - The image was crawled from a provided URL. // "UPLOADED" - The image was uploaded. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "ImageUrl") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ImageUrl") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Image) MarshalJSON() ([]byte, error) { type NoMethod Image return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Issue: Product issue. type Issue struct { // Attribute: If present, the attribute that triggered the issue. For more // information about attributes, see // https://support.google.com/manufacturers/answer/6124116. Attribute string `json:"attribute,omitempty"` // Description: Longer description of the issue focused on how to resolve it. Description string `json:"description,omitempty"` // Destination: The destination this issue applies to. Destination string `json:"destination,omitempty"` // Resolution: What needs to happen to resolve the issue. // // Possible values: // "RESOLUTION_UNSPECIFIED" - Unspecified resolution, never used. // "USER_ACTION" - The user who provided the data must act in order to // resolve the issue (for example by correcting some data). // "PENDING_PROCESSING" - The issue will be resolved automatically (for // example image crawl or Google review). No action is required now. Resolution // might lead to another issue (for example if crawl fails). Resolution string `json:"resolution,omitempty"` // Severity: The severity of the issue. // // Possible values: // "SEVERITY_UNSPECIFIED" - Unspecified severity, never used. // "ERROR" - Error severity. The issue prevents the usage of the whole item. // "WARNING" - Warning severity. The issue is either one that prevents the // usage of the attribute that triggered it or one that will soon prevent the // usage of the whole item. // "INFO" - Info severity. The issue is one that doesn't require immediate // attention. It is, for example, used to communicate which attributes are // still pending review. Severity string `json:"severity,omitempty"` // Timestamp: The timestamp when this issue appeared. Timestamp string `json:"timestamp,omitempty"` // Title: Short title describing the nature of the issue. Title string `json:"title,omitempty"` // Type: The server-generated type of the issue, for example, // “INCORRECT_TEXT_FORMATTING”, “IMAGE_NOT_SERVEABLE”, etc. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Attribute") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Attribute") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Issue) MarshalJSON() ([]byte, error) { type NoMethod Issue return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListProductCertificationsResponse: Response for ListProductCertifications // method. type ListProductCertificationsResponse struct { // NextPageToken: A token, which can be sent as `page_token` to retrieve the // next page. If this field is omitted, there are no subsequent pages. NextPageToken string `json:"nextPageToken,omitempty"` // ProductCertifications: The product certifications from the specified // certification body. ProductCertifications []*ProductCertification `json:"productCertifications,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListProductCertificationsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListProductCertificationsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ListProductsResponse struct { // NextPageToken: The token for the retrieval of the next page of product // statuses. NextPageToken string `json:"nextPageToken,omitempty"` // Products: List of the products. Products []*Product `json:"products,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListProductsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListProductsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type Nutrition struct { // AddedSugars: Added sugars. AddedSugars *FloatUnit `json:"addedSugars,omitempty"` // AddedSugarsDailyPercentage: Added sugars daily percentage. AddedSugarsDailyPercentage float64 `json:"addedSugarsDailyPercentage,omitempty"` // Calcium: Calcium. Calcium *FloatUnit `json:"calcium,omitempty"` // CalciumDailyPercentage: Calcium daily percentage. CalciumDailyPercentage float64 `json:"calciumDailyPercentage,omitempty"` // Cholesterol: Cholesterol. Cholesterol *FloatUnit `json:"cholesterol,omitempty"` // CholesterolDailyPercentage: Cholesterol daily percentage. CholesterolDailyPercentage float64 `json:"cholesterolDailyPercentage,omitempty"` // DietaryFiber: Dietary fiber. DietaryFiber *FloatUnit `json:"dietaryFiber,omitempty"` // DietaryFiberDailyPercentage: Dietary fiber daily percentage. DietaryFiberDailyPercentage float64 `json:"dietaryFiberDailyPercentage,omitempty"` // Energy: Mandatory Nutrition Facts. Energy. Energy *FloatUnit `json:"energy,omitempty"` // EnergyFromFat: Energy from fat. EnergyFromFat *FloatUnit `json:"energyFromFat,omitempty"` // FolateDailyPercentage: Folate daily percentage. FolateDailyPercentage float64 `json:"folateDailyPercentage,omitempty"` // FolateFolicAcid: Folate folic acid. FolateFolicAcid *FloatUnit `json:"folateFolicAcid,omitempty"` // FolateMcgDfe: Folate mcg DFE. FolateMcgDfe float64 `json:"folateMcgDfe,omitempty"` // Iron: Iron. Iron *FloatUnit `json:"iron,omitempty"` // IronDailyPercentage: Iron daily percentage. IronDailyPercentage float64 `json:"ironDailyPercentage,omitempty"` // MonounsaturatedFat: Monounsaturated fat. MonounsaturatedFat *FloatUnit `json:"monounsaturatedFat,omitempty"` // NutritionFactMeasure: Nutrition fact measure. NutritionFactMeasure string `json:"nutritionFactMeasure,omitempty"` // Polyols: Polyols. Polyols *FloatUnit `json:"polyols,omitempty"` // PolyunsaturatedFat: Polyunsaturated fat. PolyunsaturatedFat *FloatUnit `json:"polyunsaturatedFat,omitempty"` // Potassium: Potassium. Potassium *FloatUnit `json:"potassium,omitempty"` // PotassiumDailyPercentage: Potassium daily percentage. PotassiumDailyPercentage float64 `json:"potassiumDailyPercentage,omitempty"` // PreparedSizeDescription: Prepared size description. PreparedSizeDescription string `json:"preparedSizeDescription,omitempty"` // Protein: Protein. Protein *FloatUnit `json:"protein,omitempty"` // ProteinDailyPercentage: Protein daily percentage. ProteinDailyPercentage float64 `json:"proteinDailyPercentage,omitempty"` // SaturatedFat: Saturated fat. SaturatedFat *FloatUnit `json:"saturatedFat,omitempty"` // SaturatedFatDailyPercentage: Saturated fat daily percentage. SaturatedFatDailyPercentage float64 `json:"saturatedFatDailyPercentage,omitempty"` // ServingSizeDescription: Food Serving Size. Serving size description. ServingSizeDescription string `json:"servingSizeDescription,omitempty"` // ServingSizeMeasure: Serving size measure. ServingSizeMeasure *FloatUnit `json:"servingSizeMeasure,omitempty"` // ServingsPerContainer: Servings per container. ServingsPerContainer string `json:"servingsPerContainer,omitempty"` // Sodium: Sodium. Sodium *FloatUnit `json:"sodium,omitempty"` // SodiumDailyPercentage: Sodium daily percentage. SodiumDailyPercentage float64 `json:"sodiumDailyPercentage,omitempty"` // Starch: Starch. Starch *FloatUnit `json:"starch,omitempty"` // TotalCarbohydrate: Total carbohydrate. TotalCarbohydrate *FloatUnit `json:"totalCarbohydrate,omitempty"` // TotalCarbohydrateDailyPercentage: Total carbohydrate daily percentage. TotalCarbohydrateDailyPercentage float64 `json:"totalCarbohydrateDailyPercentage,omitempty"` // TotalFat: Total fat. TotalFat *FloatUnit `json:"totalFat,omitempty"` // TotalFatDailyPercentage: Total fat daily percentage. TotalFatDailyPercentage float64 `json:"totalFatDailyPercentage,omitempty"` // TotalSugars: Total sugars. TotalSugars *FloatUnit `json:"totalSugars,omitempty"` // TotalSugarsDailyPercentage: Total sugars daily percentage. TotalSugarsDailyPercentage float64 `json:"totalSugarsDailyPercentage,omitempty"` // TransFat: Trans fat. TransFat *FloatUnit `json:"transFat,omitempty"` // TransFatDailyPercentage: Trans fat daily percentage. TransFatDailyPercentage float64 `json:"transFatDailyPercentage,omitempty"` // VitaminD: Vitamin D. VitaminD *FloatUnit `json:"vitaminD,omitempty"` // VitaminDDailyPercentage: Vitamin D daily percentage. VitaminDDailyPercentage float64 `json:"vitaminDDailyPercentage,omitempty"` // VoluntaryNutritionFact: Voluntary nutrition fact. VoluntaryNutritionFact []*VoluntaryNutritionFact `json:"voluntaryNutritionFact,omitempty"` // ForceSendFields is a list of field names (e.g. "AddedSugars") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AddedSugars") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Nutrition) MarshalJSON() ([]byte, error) { type NoMethod Nutrition return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Nutrition) UnmarshalJSON(data []byte) error { type NoMethod Nutrition var s1 struct { AddedSugarsDailyPercentage gensupport.JSONFloat64 `json:"addedSugarsDailyPercentage"` CalciumDailyPercentage gensupport.JSONFloat64 `json:"calciumDailyPercentage"` CholesterolDailyPercentage gensupport.JSONFloat64 `json:"cholesterolDailyPercentage"` DietaryFiberDailyPercentage gensupport.JSONFloat64 `json:"dietaryFiberDailyPercentage"` FolateDailyPercentage gensupport.JSONFloat64 `json:"folateDailyPercentage"` FolateMcgDfe gensupport.JSONFloat64 `json:"folateMcgDfe"` IronDailyPercentage gensupport.JSONFloat64 `json:"ironDailyPercentage"` PotassiumDailyPercentage gensupport.JSONFloat64 `json:"potassiumDailyPercentage"` ProteinDailyPercentage gensupport.JSONFloat64 `json:"proteinDailyPercentage"` SaturatedFatDailyPercentage gensupport.JSONFloat64 `json:"saturatedFatDailyPercentage"` SodiumDailyPercentage gensupport.JSONFloat64 `json:"sodiumDailyPercentage"` TotalCarbohydrateDailyPercentage gensupport.JSONFloat64 `json:"totalCarbohydrateDailyPercentage"` TotalFatDailyPercentage gensupport.JSONFloat64 `json:"totalFatDailyPercentage"` TotalSugarsDailyPercentage gensupport.JSONFloat64 `json:"totalSugarsDailyPercentage"` TransFatDailyPercentage gensupport.JSONFloat64 `json:"transFatDailyPercentage"` VitaminDDailyPercentage gensupport.JSONFloat64 `json:"vitaminDDailyPercentage"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.AddedSugarsDailyPercentage = float64(s1.AddedSugarsDailyPercentage) s.CalciumDailyPercentage = float64(s1.CalciumDailyPercentage) s.CholesterolDailyPercentage = float64(s1.CholesterolDailyPercentage) s.DietaryFiberDailyPercentage = float64(s1.DietaryFiberDailyPercentage) s.FolateDailyPercentage = float64(s1.FolateDailyPercentage) s.FolateMcgDfe = float64(s1.FolateMcgDfe) s.IronDailyPercentage = float64(s1.IronDailyPercentage) s.PotassiumDailyPercentage = float64(s1.PotassiumDailyPercentage) s.ProteinDailyPercentage = float64(s1.ProteinDailyPercentage) s.SaturatedFatDailyPercentage = float64(s1.SaturatedFatDailyPercentage) s.SodiumDailyPercentage = float64(s1.SodiumDailyPercentage) s.TotalCarbohydrateDailyPercentage = float64(s1.TotalCarbohydrateDailyPercentage) s.TotalFatDailyPercentage = float64(s1.TotalFatDailyPercentage) s.TotalSugarsDailyPercentage = float64(s1.TotalSugarsDailyPercentage) s.TransFatDailyPercentage = float64(s1.TransFatDailyPercentage) s.VitaminDDailyPercentage = float64(s1.VitaminDDailyPercentage) return nil } // Price: A price. type Price struct { // Amount: The numeric value of the price. Amount string `json:"amount,omitempty"` // Currency: The currency in which the price is denoted. Currency string `json:"currency,omitempty"` // ForceSendFields is a list of field names (e.g. "Amount") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Amount") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Price) MarshalJSON() ([]byte, error) { type NoMethod Price return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Product: Product data. type Product struct { // Attributes: Attributes of the product uploaded to the Manufacturer Center. // Manually edited attributes are taken into account. Attributes *Attributes `json:"attributes,omitempty"` // ContentLanguage: The content language of the product as a two-letter ISO // 639-1 language code (for example, en). ContentLanguage string `json:"contentLanguage,omitempty"` // DestinationStatuses: The status of the destinations. DestinationStatuses []*DestinationStatus `json:"destinationStatuses,omitempty"` // Issues: A server-generated list of issues associated with the product. Issues []*Issue `json:"issues,omitempty"` // Name: Name in the format `{target_country}:{content_language}:{product_id}`. // `target_country` - The target country of the product as a CLDR territory // code (for example, US). `content_language` - The content language of the // product as a two-letter ISO 639-1 language code (for example, en). // `product_id` - The ID of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#id. Name string `json:"name,omitempty"` // Parent: Parent ID in the format `accounts/{account_id}`. `account_id` - The // ID of the Manufacturer Center account. Parent string `json:"parent,omitempty"` // ProductId: The ID of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#id. ProductId string `json:"productId,omitempty"` // TargetCountry: The target country of the product as a CLDR territory code // (for example, US). TargetCountry string `json:"targetCountry,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Attributes") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Attributes") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Product) MarshalJSON() ([]byte, error) { type NoMethod Product return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ProductCertification: Product certification data. type ProductCertification struct { // Brand: Required. This is the product's brand name. The brand is used to help // identify your product. Brand string `json:"brand,omitempty"` // Certification: Required. A list of certifications to link to the described // product. Certification []*Certification `json:"certification,omitempty"` // CountryCode: Optional. A 2-letter country code (ISO 3166-1 Alpha 2). CountryCode []string `json:"countryCode,omitempty"` // DestinationStatuses: Output only. The statuses of the destinations. DestinationStatuses []*DestinationStatus `json:"destinationStatuses,omitempty"` // Issues: Output only. A server-generated list of issues associated with the // product. Issues []*Issue `json:"issues,omitempty"` // Mpn: Optional. These are the Manufacturer Part Numbers (MPN). MPNs are used // to uniquely identify a specific product among all products from the same // manufacturer Mpn []string `json:"mpn,omitempty"` // Name: Required. The unique name identifier of a product certification // Format: // accounts/{account}/languages/{language_code}/productCertifications/{id} // Where `id` is a some unique identifier and `language_code` is a 2-letter ISO // 639-1 code of a Shopping supported language according to // https://support.google.com/merchants/answer/160637. Name string `json:"name,omitempty"` // ProductCode: Optional. Another name for GTIN. ProductCode []string `json:"productCode,omitempty"` // ProductType: Optional. These are your own product categorization system in // your product data. ProductType []string `json:"productType,omitempty"` // Title: Required. This is to clearly identify the product you are certifying. Title string `json:"title,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Brand") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Brand") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ProductCertification) MarshalJSON() ([]byte, error) { type NoMethod ProductCertification return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ProductDetail: A product detail of the product. For more information, see // https://support.google.com/manufacturers/answer/6124116#productdetail. type ProductDetail struct { // AttributeName: The name of the attribute. AttributeName string `json:"attributeName,omitempty"` // AttributeValue: The value of the attribute. AttributeValue string `json:"attributeValue,omitempty"` // SectionName: A short section name that can be reused between multiple // product details. SectionName string `json:"sectionName,omitempty"` // ForceSendFields is a list of field names (e.g. "AttributeName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AttributeName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ProductDetail) MarshalJSON() ([]byte, error) { type NoMethod ProductDetail return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VoluntaryNutritionFact: Voluntary Nutrition Facts. type VoluntaryNutritionFact struct { // DailyPercentage: Daily percentage. DailyPercentage float64 `json:"dailyPercentage,omitempty"` // Name: Name. Name string `json:"name,omitempty"` // Value: Value. Value *FloatUnit `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "DailyPercentage") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DailyPercentage") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VoluntaryNutritionFact) MarshalJSON() ([]byte, error) { type NoMethod VoluntaryNutritionFact return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *VoluntaryNutritionFact) UnmarshalJSON(data []byte) error { type NoMethod VoluntaryNutritionFact var s1 struct { DailyPercentage gensupport.JSONFloat64 `json:"dailyPercentage"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.DailyPercentage = float64(s1.DailyPercentage) return nil } type AccountsLanguagesProductCertificationsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a product certification by its name. This method can only be // called by certification bodies. // // - name: The name of the product certification to delete. Format: // accounts/{account}/languages/{language_code}/productCertifications/{id}. func (r *AccountsLanguagesProductCertificationsService) Delete(name string) *AccountsLanguagesProductCertificationsDeleteCall { c := &AccountsLanguagesProductCertificationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsLanguagesProductCertificationsDeleteCall) Fields(s ...googleapi.Field) *AccountsLanguagesProductCertificationsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AccountsLanguagesProductCertificationsDeleteCall) Context(ctx context.Context) *AccountsLanguagesProductCertificationsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsLanguagesProductCertificationsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsLanguagesProductCertificationsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "manufacturers.accounts.languages.productCertifications.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AccountsLanguagesProductCertificationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AccountsLanguagesProductCertificationsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a product certification by its name. This method can only be // called by certification bodies. // // - name: The name of the product certification to get. Format: // accounts/{account}/languages/{language_code}/productCertifications/{id}. func (r *AccountsLanguagesProductCertificationsService) Get(name string) *AccountsLanguagesProductCertificationsGetCall { c := &AccountsLanguagesProductCertificationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsLanguagesProductCertificationsGetCall) Fields(s ...googleapi.Field) *AccountsLanguagesProductCertificationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AccountsLanguagesProductCertificationsGetCall) IfNoneMatch(entityTag string) *AccountsLanguagesProductCertificationsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AccountsLanguagesProductCertificationsGetCall) Context(ctx context.Context) *AccountsLanguagesProductCertificationsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsLanguagesProductCertificationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsLanguagesProductCertificationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "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 "manufacturers.accounts.languages.productCertifications.get" call. // Any non-2xx status code is an error. Response headers are in either // *ProductCertification.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 *AccountsLanguagesProductCertificationsGetCall) Do(opts ...googleapi.CallOption) (*ProductCertification, 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 := &ProductCertification{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AccountsLanguagesProductCertificationsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists product certifications from a specified certification body. This // method can only be called by certification bodies. // // - parent: The parent, which owns this collection of product certifications. // Format: accounts/{account}/languages/{language_code}. func (r *AccountsLanguagesProductCertificationsService) List(parent string) *AccountsLanguagesProductCertificationsListCall { c := &AccountsLanguagesProductCertificationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": The maximum number of // product certifications to return. The service may return fewer than this // value. If unspecified, at most 50 product certifications will be returned. // The maximum value is 1000; values above 1000 will be coerced to 1000. func (c *AccountsLanguagesProductCertificationsListCall) PageSize(pageSize int64) *AccountsLanguagesProductCertificationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A page token, received // from a previous `ListProductCertifications` call. Provide this to retrieve // the subsequent page. When paginating, all other parameters provided to // `ListProductCertifications` must match the call that provided the page // token. Required if requesting the second or higher page. func (c *AccountsLanguagesProductCertificationsListCall) PageToken(pageToken string) *AccountsLanguagesProductCertificationsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsLanguagesProductCertificationsListCall) Fields(s ...googleapi.Field) *AccountsLanguagesProductCertificationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AccountsLanguagesProductCertificationsListCall) IfNoneMatch(entityTag string) *AccountsLanguagesProductCertificationsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AccountsLanguagesProductCertificationsListCall) Context(ctx context.Context) *AccountsLanguagesProductCertificationsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsLanguagesProductCertificationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsLanguagesProductCertificationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productCertifications") 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 "manufacturers.accounts.languages.productCertifications.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListProductCertificationsResponse.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 *AccountsLanguagesProductCertificationsListCall) Do(opts ...googleapi.CallOption) (*ListProductCertificationsResponse, 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 := &ListProductCertificationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AccountsLanguagesProductCertificationsListCall) Pages(ctx context.Context, f func(*ListProductCertificationsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AccountsLanguagesProductCertificationsPatchCall struct { s *Service nameid string productcertification *ProductCertification urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates (or creates if allow_missing = true) a product certification // which links certifications with products. This method can only be called by // certification bodies. // // - name: The unique name identifier of a product certification Format: // accounts/{account}/languages/{language_code}/productCertifications/{id} // Where `id` is a some unique identifier and `language_code` is a 2-letter // ISO 639-1 code of a Shopping supported language according to // https://support.google.com/merchants/answer/160637. func (r *AccountsLanguagesProductCertificationsService) Patch(nameid string, productcertification *ProductCertification) *AccountsLanguagesProductCertificationsPatchCall { c := &AccountsLanguagesProductCertificationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.nameid = nameid c.productcertification = productcertification return c } // UpdateMask sets the optional parameter "updateMask": The list of fields to // update according to aip.dev/134. However, only full update is supported as // of right now. Therefore, it can be either ignored or set to "*". Setting any // other values will returns UNIMPLEMENTED error. func (c *AccountsLanguagesProductCertificationsPatchCall) UpdateMask(updateMask string) *AccountsLanguagesProductCertificationsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsLanguagesProductCertificationsPatchCall) Fields(s ...googleapi.Field) *AccountsLanguagesProductCertificationsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AccountsLanguagesProductCertificationsPatchCall) Context(ctx context.Context) *AccountsLanguagesProductCertificationsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsLanguagesProductCertificationsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsLanguagesProductCertificationsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.productcertification) if err != nil { return nil, err } 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("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.nameid, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "manufacturers.accounts.languages.productCertifications.patch" call. // Any non-2xx status code is an error. Response headers are in either // *ProductCertification.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 *AccountsLanguagesProductCertificationsPatchCall) Do(opts ...googleapi.CallOption) (*ProductCertification, 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 := &ProductCertification{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AccountsProductsDeleteCall struct { s *Service parent string name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes the product from a Manufacturer Center account. // // - name: Name in the format // `{target_country}:{content_language}:{product_id}`. `target_country` - The // target country of the product as a CLDR territory code (for example, US). // `content_language` - The content language of the product as a two-letter // ISO 639-1 language code (for example, en). `product_id` - The ID of the // product. For more information, see // https://support.google.com/manufacturers/answer/6124116#id. // - parent: Parent ID in the format `accounts/{account_id}`. `account_id` - // The ID of the Manufacturer Center account. func (r *AccountsProductsService) Delete(parent string, name string) *AccountsProductsDeleteCall { c := &AccountsProductsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsProductsDeleteCall) Fields(s ...googleapi.Field) *AccountsProductsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AccountsProductsDeleteCall) Context(ctx context.Context) *AccountsProductsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsProductsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsProductsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "manufacturers.accounts.products.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AccountsProductsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AccountsProductsGetCall struct { s *Service parent string name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets the product from a Manufacturer Center account, including product // issues. A recently updated product takes around 15 minutes to process. // Changes are only visible after it has been processed. While some issues may // be available once the product has been processed, other issues may take days // to appear. // // - name: Name in the format // `{target_country}:{content_language}:{product_id}`. `target_country` - The // target country of the product as a CLDR territory code (for example, US). // `content_language` - The content language of the product as a two-letter // ISO 639-1 language code (for example, en). `product_id` - The ID of the // product. For more information, see // https://support.google.com/manufacturers/answer/6124116#id. // - parent: Parent ID in the format `accounts/{account_id}`. `account_id` - // The ID of the Manufacturer Center account. func (r *AccountsProductsService) Get(parent string, name string) *AccountsProductsGetCall { c := &AccountsProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.name = name return c } // Include sets the optional parameter "include": The information to be // included in the response. Only sections listed here will be returned. // // Possible values: // // "UNKNOWN" - Unknown, never used. // "ATTRIBUTES" - Include the attributes of the product. // "ISSUES" - Include the issues of the product. // "DESTINATION_STATUSES" - Include the destination statuses of the product. func (c *AccountsProductsGetCall) Include(include ...string) *AccountsProductsGetCall { c.urlParams_.SetMulti("include", append([]string{}, include...)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsProductsGetCall) Fields(s ...googleapi.Field) *AccountsProductsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AccountsProductsGetCall) IfNoneMatch(entityTag string) *AccountsProductsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AccountsProductsGetCall) Context(ctx context.Context) *AccountsProductsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsProductsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsProductsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products/{+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{ "parent": c.parent, "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "manufacturers.accounts.products.get" call. // Any non-2xx status code is an error. Response headers are in either // *Product.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 *AccountsProductsGetCall) Do(opts ...googleapi.CallOption) (*Product, 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 := &Product{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type AccountsProductsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists all the products in a Manufacturer Center account. // // - parent: Parent ID in the format `accounts/{account_id}`. `account_id` - // The ID of the Manufacturer Center account. func (r *AccountsProductsService) List(parent string) *AccountsProductsListCall { c := &AccountsProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Include sets the optional parameter "include": The information to be // included in the response. Only sections listed here will be returned. // // Possible values: // // "UNKNOWN" - Unknown, never used. // "ATTRIBUTES" - Include the attributes of the product. // "ISSUES" - Include the issues of the product. // "DESTINATION_STATUSES" - Include the destination statuses of the product. func (c *AccountsProductsListCall) Include(include ...string) *AccountsProductsListCall { c.urlParams_.SetMulti("include", append([]string{}, include...)) return c } // PageSize sets the optional parameter "pageSize": Maximum number of product // statuses to return in the response, used for paging. func (c *AccountsProductsListCall) PageSize(pageSize int64) *AccountsProductsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The token returned by the // previous request. func (c *AccountsProductsListCall) PageToken(pageToken string) *AccountsProductsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsProductsListCall) Fields(s ...googleapi.Field) *AccountsProductsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *AccountsProductsListCall) IfNoneMatch(entityTag string) *AccountsProductsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *AccountsProductsListCall) Context(ctx context.Context) *AccountsProductsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsProductsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsProductsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products") 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 "manufacturers.accounts.products.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListProductsResponse.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 *AccountsProductsListCall) Do(opts ...googleapi.CallOption) (*ListProductsResponse, 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 := &ListProductsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *AccountsProductsListCall) Pages(ctx context.Context, f func(*ListProductsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type AccountsProductsUpdateCall struct { s *Service parent string name string attributes *Attributes urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Update: Inserts or updates the attributes of the product in a Manufacturer // Center account. Creates a product with the provided attributes. If the // product already exists, then all attributes are replaced with the new ones. // The checks at upload time are minimal. All required attributes need to be // present for a product to be valid. Issues may show up later after the API // has accepted a new upload for a product and it is possible to overwrite an // existing valid product with an invalid product. To detect this, you should // retrieve the product and check it for issues once the new version is // available. Uploaded attributes first need to be processed before they can be // retrieved. Until then, new products will be unavailable, and retrieval of // previously uploaded products will return the original state of the product. // // - name: Name in the format // `{target_country}:{content_language}:{product_id}`. `target_country` - The // target country of the product as a CLDR territory code (for example, US). // `content_language` - The content language of the product as a two-letter // ISO 639-1 language code (for example, en). `product_id` - The ID of the // product. For more information, see // https://support.google.com/manufacturers/answer/6124116#id. // - parent: Parent ID in the format `accounts/{account_id}`. `account_id` - // The ID of the Manufacturer Center account. func (r *AccountsProductsService) Update(parent string, name string, attributes *Attributes) *AccountsProductsUpdateCall { c := &AccountsProductsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.name = name c.attributes = attributes return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *AccountsProductsUpdateCall) Fields(s ...googleapi.Field) *AccountsProductsUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *AccountsProductsUpdateCall) Context(ctx context.Context) *AccountsProductsUpdateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *AccountsProductsUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsProductsUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.attributes) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PUT", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "manufacturers.accounts.products.update" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *AccountsProductsUpdateCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil }