// 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 streetviewpublish provides access to the Street View Publish API. // // For product documentation, see: https://developers.google.com/streetview/publish/ // // # 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/streetviewpublish/v1" // ... // ctx := context.Background() // streetviewpublishService, err := streetviewpublish.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]: // // streetviewpublishService, err := streetviewpublish.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, ...) // streetviewpublishService, err := streetviewpublish.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] for details on options. package streetviewpublish // import "google.golang.org/api/streetviewpublish/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 = "streetviewpublish:v1" const apiName = "streetviewpublish" const apiVersion = "v1" const basePath = "https://streetviewpublish.googleapis.com/" const basePathTemplate = "https://streetviewpublish.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://streetviewpublish.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // Publish and manage your 360 photos on Google Street View StreetviewpublishScope = "https://www.googleapis.com/auth/streetviewpublish" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/streetviewpublish", ) // 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.Photo = NewPhotoService(s) s.PhotoSequence = NewPhotoSequenceService(s) s.PhotoSequences = NewPhotoSequencesService(s) s.Photos = NewPhotosService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Photo *PhotoService PhotoSequence *PhotoSequenceService PhotoSequences *PhotoSequencesService Photos *PhotosService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewPhotoService(s *Service) *PhotoService { rs := &PhotoService{s: s} return rs } type PhotoService struct { s *Service } func NewPhotoSequenceService(s *Service) *PhotoSequenceService { rs := &PhotoSequenceService{s: s} return rs } type PhotoSequenceService struct { s *Service } func NewPhotoSequencesService(s *Service) *PhotoSequencesService { rs := &PhotoSequencesService{s: s} return rs } type PhotoSequencesService struct { s *Service } func NewPhotosService(s *Service) *PhotosService { rs := &PhotosService{s: s} return rs } type PhotosService struct { s *Service } // BatchDeletePhotosRequest: Request to delete multiple Photos. type BatchDeletePhotosRequest struct { // PhotoIds: Required. IDs of the Photos. HTTP GET requests require the // following syntax for the URL query parameter: `photoIds=&photoIds=&...`. PhotoIds []string `json:"photoIds,omitempty"` // ForceSendFields is a list of field names (e.g. "PhotoIds") 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. "PhotoIds") 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 *BatchDeletePhotosRequest) MarshalJSON() ([]byte, error) { type NoMethod BatchDeletePhotosRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BatchDeletePhotosResponse: Response to batch delete of one or more Photos. type BatchDeletePhotosResponse struct { // Status: The status for the operation to delete a single Photo in the batch // request. Status []*Status `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Status") 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. "Status") 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 *BatchDeletePhotosResponse) MarshalJSON() ([]byte, error) { type NoMethod BatchDeletePhotosResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BatchGetPhotosResponse: Response to batch get of Photos. type BatchGetPhotosResponse struct { // Results: List of results for each individual Photo requested, in the same // order as the requests in BatchGetPhotos. Results []*PhotoResponse `json:"results,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Results") 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. "Results") 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 *BatchGetPhotosResponse) MarshalJSON() ([]byte, error) { type NoMethod BatchGetPhotosResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BatchUpdatePhotosRequest: Request to update the metadata of photos. Updating // the pixels of photos is not supported. type BatchUpdatePhotosRequest struct { // UpdatePhotoRequests: Required. List of UpdatePhotoRequests. UpdatePhotoRequests []*UpdatePhotoRequest `json:"updatePhotoRequests,omitempty"` // ForceSendFields is a list of field names (e.g. "UpdatePhotoRequests") 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. "UpdatePhotoRequests") 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 *BatchUpdatePhotosRequest) MarshalJSON() ([]byte, error) { type NoMethod BatchUpdatePhotosRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BatchUpdatePhotosResponse: Response to batch update of metadata of one or // more Photos. type BatchUpdatePhotosResponse struct { // Results: List of results for each individual Photo updated, in the same // order as the request. Results []*PhotoResponse `json:"results,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Results") 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. "Results") 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 *BatchUpdatePhotosResponse) MarshalJSON() ([]byte, error) { type NoMethod BatchUpdatePhotosResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Connection: A connection is the link from a source photo to a destination // photo. type Connection struct { // Target: Required. The destination of the connection from the containing // photo to another photo. Target *PhotoId `json:"target,omitempty"` // ForceSendFields is a list of field names (e.g. "Target") 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. "Target") 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 *Connection) MarshalJSON() ([]byte, error) { type NoMethod Connection 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:"-"` } // GpsDataGapFailureDetails: Details related to // ProcessingFailureReason#GPS_DATA_GAP. If there are multiple GPS data gaps, // only the one with the largest duration is reported here. type GpsDataGapFailureDetails struct { // GapDuration: The duration of the gap in GPS data that was found. GapDuration string `json:"gapDuration,omitempty"` // GapStartTime: Relative time (from the start of the video stream) when the // gap started. GapStartTime string `json:"gapStartTime,omitempty"` // ForceSendFields is a list of field names (e.g. "GapDuration") 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. "GapDuration") 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 *GpsDataGapFailureDetails) MarshalJSON() ([]byte, error) { type NoMethod GpsDataGapFailureDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Imu: IMU data from the device sensors. type Imu struct { // AccelMpsps: The accelerometer measurements in meters/sec^2 with increasing // timestamps from devices. AccelMpsps []*Measurement3d `json:"accelMpsps,omitempty"` // GyroRps: The gyroscope measurements in radians/sec with increasing // timestamps from devices. GyroRps []*Measurement3d `json:"gyroRps,omitempty"` // MagUt: The magnetometer measurements of the magnetic field in microtesla // (uT) with increasing timestamps from devices. MagUt []*Measurement3d `json:"magUt,omitempty"` // ForceSendFields is a list of field names (e.g. "AccelMpsps") 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. "AccelMpsps") 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 *Imu) MarshalJSON() ([]byte, error) { type NoMethod Imu return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ImuDataGapFailureDetails: Details related to // ProcessingFailureReason#IMU_DATA_GAP. If there are multiple IMU data gaps, // only the one with the largest duration is reported here. type ImuDataGapFailureDetails struct { // GapDuration: The duration of the gap in IMU data that was found. GapDuration string `json:"gapDuration,omitempty"` // GapStartTime: Relative time (from the start of the video stream) when the // gap started. GapStartTime string `json:"gapStartTime,omitempty"` // ForceSendFields is a list of field names (e.g. "GapDuration") 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. "GapDuration") 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 *ImuDataGapFailureDetails) MarshalJSON() ([]byte, error) { type NoMethod ImuDataGapFailureDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InsufficientGpsFailureDetails: Details related to // ProcessingFailureReason#INSUFFICIENT_GPS. type InsufficientGpsFailureDetails struct { // GpsPointsFound: The number of GPS points that were found in the video. GpsPointsFound int64 `json:"gpsPointsFound,omitempty"` // ForceSendFields is a list of field names (e.g. "GpsPointsFound") 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. "GpsPointsFound") 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 *InsufficientGpsFailureDetails) MarshalJSON() ([]byte, error) { type NoMethod InsufficientGpsFailureDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LatLng: An object that represents a latitude/longitude pair. This is // expressed as a pair of doubles to represent degrees latitude and degrees // longitude. Unless specified otherwise, this object must conform to the WGS84 // standard. Values must be within normalized ranges. type LatLng struct { // Latitude: The latitude in degrees. It must be in the range [-90.0, +90.0]. Latitude float64 `json:"latitude,omitempty"` // Longitude: The longitude in degrees. It must be in the range [-180.0, // +180.0]. Longitude float64 `json:"longitude,omitempty"` // ForceSendFields is a list of field names (e.g. "Latitude") 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. "Latitude") 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 *LatLng) MarshalJSON() ([]byte, error) { type NoMethod LatLng return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *LatLng) UnmarshalJSON(data []byte) error { type NoMethod LatLng var s1 struct { Latitude gensupport.JSONFloat64 `json:"latitude"` Longitude gensupport.JSONFloat64 `json:"longitude"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Latitude = float64(s1.Latitude) s.Longitude = float64(s1.Longitude) return nil } // LatLngBounds: A rectangle in geographical coordinates. type LatLngBounds struct { // Northeast: The northeast corner of these bounds. Northeast *LatLng `json:"northeast,omitempty"` // Southwest: The southwest corner of these bounds. Southwest *LatLng `json:"southwest,omitempty"` // ForceSendFields is a list of field names (e.g. "Northeast") 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. "Northeast") 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 *LatLngBounds) MarshalJSON() ([]byte, error) { type NoMethod LatLngBounds return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Level: Level information containing level number and its corresponding name. type Level struct { // Name: Required. A name assigned to this Level, restricted to 3 characters. // Consider how the elevator buttons would be labeled for this level if there // was an elevator. Name string `json:"name,omitempty"` // Number: Optional. Floor number, used for ordering. 0 indicates the ground // level, 1 indicates the first level above ground level, -1 indicates the // first level under ground level. Non-integer values are OK. Number float64 `json:"number,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") 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. "Name") 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 *Level) MarshalJSON() ([]byte, error) { type NoMethod Level return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Level) UnmarshalJSON(data []byte) error { type NoMethod Level var s1 struct { Number gensupport.JSONFloat64 `json:"number"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Number = float64(s1.Number) return nil } // ListPhotoSequencesResponse: Response to list all photo sequences that belong // to a user. type ListPhotoSequencesResponse struct { // NextPageToken: Token to retrieve the next page of results, or empty if there // are no more results in the list. NextPageToken string `json:"nextPageToken,omitempty"` // PhotoSequences: List of photo sequences via Operation interface. The maximum // number of items returned is based on the pageSize field in the request. Each // item in the list can have three possible states, * `Operation.done` = false, // if the processing of PhotoSequence is not finished yet. * `Operation.done` = // true and `Operation.error` is populated, if there was an error in // processing. * `Operation.done` = true and `Operation.response` contains a // PhotoSequence message, In each sequence, only Id is populated. PhotoSequences []*Operation `json:"photoSequences,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 *ListPhotoSequencesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListPhotoSequencesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListPhotosResponse: Response to list all photos that belong to a user. type ListPhotosResponse struct { // NextPageToken: Token to retrieve the next page of results, or empty if there // are no more results in the list. NextPageToken string `json:"nextPageToken,omitempty"` // Photos: List of photos. The pageSize field in the request determines the // number of items returned. Photos []*Photo `json:"photos,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 *ListPhotosResponse) MarshalJSON() ([]byte, error) { type NoMethod ListPhotosResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Measurement3d: A Generic 3d measurement sample. type Measurement3d struct { // CaptureTime: The timestamp of the IMU measurement. CaptureTime string `json:"captureTime,omitempty"` // X: The sensor measurement in the x axis. X float64 `json:"x,omitempty"` // Y: The sensor measurement in the y axis. Y float64 `json:"y,omitempty"` // Z: The sensor measurement in the z axis. Z float64 `json:"z,omitempty"` // ForceSendFields is a list of field names (e.g. "CaptureTime") 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. "CaptureTime") 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 *Measurement3d) MarshalJSON() ([]byte, error) { type NoMethod Measurement3d return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Measurement3d) UnmarshalJSON(data []byte) error { type NoMethod Measurement3d var s1 struct { X gensupport.JSONFloat64 `json:"x"` Y gensupport.JSONFloat64 `json:"y"` Z gensupport.JSONFloat64 `json:"z"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.X = float64(s1.X) s.Y = float64(s1.Y) s.Z = float64(s1.Z) return nil } // NoOverlapGpsFailureDetails: Details related to // PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS. type NoOverlapGpsFailureDetails struct { // GpsEndTime: Time of last recorded GPS point. GpsEndTime string `json:"gpsEndTime,omitempty"` // GpsStartTime: Time of first recorded GPS point. GpsStartTime string `json:"gpsStartTime,omitempty"` // VideoEndTime: End time of video. VideoEndTime string `json:"videoEndTime,omitempty"` // VideoStartTime: Start time of video. VideoStartTime string `json:"videoStartTime,omitempty"` // ForceSendFields is a list of field names (e.g. "GpsEndTime") 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. "GpsEndTime") 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 *NoOverlapGpsFailureDetails) MarshalJSON() ([]byte, error) { type NoMethod NoOverlapGpsFailureDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NotOutdoorsFailureDetails: Details related to // ProcessingFailureReason#NOT_OUTDOORS. If there are multiple indoor frames // found, the first frame is recorded here. type NotOutdoorsFailureDetails struct { // StartTime: Relative time (from the start of the video stream) when an indoor // frame was found. StartTime string `json:"startTime,omitempty"` // ForceSendFields is a list of field names (e.g. "StartTime") 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. "StartTime") 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 *NotOutdoorsFailureDetails) MarshalJSON() ([]byte, error) { type NoMethod NotOutdoorsFailureDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Operation: This resource represents a long-running operation that is the // result of a network API call. type Operation struct { // Done: If the value is `false`, it means the operation is still in progress. // If `true`, the operation is completed, and either `error` or `response` is // available. Done bool `json:"done,omitempty"` // Error: The error result of the operation in case of failure or cancellation. Error *Status `json:"error,omitempty"` // Metadata: Service-specific metadata associated with the operation. It // typically contains progress information and common metadata such as create // time. Some services might not provide such metadata. Any method that returns // a long-running operation should document the metadata type, if any. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: The server-assigned name, which is only unique within the same service // that originally returns it. If you use the default HTTP mapping, the `name` // should be a resource name ending with `operations/{unique_id}`. Name string `json:"name,omitempty"` // Response: The normal, successful response of the operation. If the original // method returns no data on success, such as `Delete`, the response is // `google.protobuf.Empty`. If the original method is standard // `Get`/`Create`/`Update`, the response should be the resource. For other // methods, the response should have the type `XxxResponse`, where `Xxx` is the // original method name. For example, if the original method name is // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Done") 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. "Done") 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 *Operation) MarshalJSON() ([]byte, error) { type NoMethod Operation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Photo: Photo is used to store 360 photos along with photo metadata. type Photo struct { // CaptureTime: Optional. Absolute time when the photo was captured. When the // photo has no exif timestamp, this is used to set a timestamp in the photo // metadata. CaptureTime string `json:"captureTime,omitempty"` // Connections: Optional. Connections to other photos. A connection represents // the link from this photo to another photo. Connections []*Connection `json:"connections,omitempty"` // DownloadUrl: Output only. The download URL for the photo bytes. This field // is set only when GetPhotoRequest.view is set to // PhotoView.INCLUDE_DOWNLOAD_URL. DownloadUrl string `json:"downloadUrl,omitempty"` // MapsPublishStatus: Output only. Status in Google Maps, whether this photo // was published or rejected. // // Possible values: // "UNSPECIFIED_MAPS_PUBLISH_STATUS" - The status of the photo is unknown. // "PUBLISHED" - The photo is published to the public through Google Maps. // "REJECTED_UNKNOWN" - The photo has been rejected for an unknown reason. MapsPublishStatus string `json:"mapsPublishStatus,omitempty"` // PhotoId: Required. Output only. Required when updating a photo. Output only // when creating a photo. Identifier for the photo, which is unique among all // photos in Google. PhotoId *PhotoId `json:"photoId,omitempty"` // Places: Optional. Places where this photo belongs. Places []*Place `json:"places,omitempty"` // Pose: Optional. Pose of the photo. Pose *Pose `json:"pose,omitempty"` // ShareLink: Output only. The share link for the photo. ShareLink string `json:"shareLink,omitempty"` // ThumbnailUrl: Output only. The thumbnail URL for showing a preview of the // given photo. ThumbnailUrl string `json:"thumbnailUrl,omitempty"` // TransferStatus: Output only. Status of rights transfer on this photo. // // Possible values: // "TRANSFER_STATUS_UNKNOWN" - The status of this transfer is unspecified. // "NEVER_TRANSFERRED" - This photo has never been in a transfer. // "PENDING" - This photo transfer has been initiated, but the receiver has // not yet responded. // "COMPLETED" - The photo transfer has been completed, and this photo has // been transferred to the recipient. // "REJECTED" - The recipient rejected this photo transfer. // "EXPIRED" - The photo transfer expired before the recipient took any // action. // "CANCELLED" - The sender cancelled this photo transfer. // "RECEIVED_VIA_TRANSFER" - The recipient owns this photo due to a rights // transfer. TransferStatus string `json:"transferStatus,omitempty"` // UploadReference: Input only. Required when creating a photo. Input only. The // resource URL where the photo bytes are uploaded to. UploadReference *UploadRef `json:"uploadReference,omitempty"` // UploadTime: Output only. Time when the image was uploaded. UploadTime string `json:"uploadTime,omitempty"` // ViewCount: Output only. View count of the photo. ViewCount int64 `json:"viewCount,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CaptureTime") 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. "CaptureTime") 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 *Photo) MarshalJSON() ([]byte, error) { type NoMethod Photo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PhotoId: Identifier for a Photo. type PhotoId struct { // Id: A unique identifier for a photo. Id string `json:"id,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *PhotoId) MarshalJSON() ([]byte, error) { type NoMethod PhotoId return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PhotoResponse: Response payload for a single Photo in batch operations // including BatchGetPhotos and BatchUpdatePhotos. type PhotoResponse struct { // Photo: The Photo resource, if the request was successful. Photo *Photo `json:"photo,omitempty"` // Status: The status for the operation to get or update a single photo in the // batch request. Status *Status `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "Photo") 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. "Photo") 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 *PhotoResponse) MarshalJSON() ([]byte, error) { type NoMethod PhotoResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PhotoSequence: A sequence of 360 photos along with metadata. type PhotoSequence struct { // CaptureTimeOverride: Optional. Absolute time when the photo sequence starts // to be captured. If the photo sequence is a video, this is the start time of // the video. If this field is populated in input, it overrides the capture // time in the video or XDM file. CaptureTimeOverride string `json:"captureTimeOverride,omitempty"` // DistanceMeters: Output only. The computed distance of the photo sequence in // meters. DistanceMeters float64 `json:"distanceMeters,omitempty"` // FailureDetails: Output only. If this sequence has `failure_reason` set, this // may contain additional details about the failure. FailureDetails *ProcessingFailureDetails `json:"failureDetails,omitempty"` // FailureReason: Output only. If this sequence has processing_state = FAILED, // this will contain the reason why it failed. If the processing_state is any // other value, this field will be unset. // // Possible values: // "PROCESSING_FAILURE_REASON_UNSPECIFIED" - The failure reason is // unspecified, this is the default value. // "LOW_RESOLUTION" - Video frame's resolution is too small. // "DUPLICATE" - This video has been uploaded before. // "INSUFFICIENT_GPS" - Too few GPS points. // "NO_OVERLAP_GPS" - No overlap between the time frame of GPS track and the // time frame of video. // "INVALID_GPS" - GPS is invalid (e.x. all GPS points are at (0,0)) // "FAILED_TO_REFINE_POSITIONS" - The sequence of photos could not be // accurately located in the world. // "TAKEDOWN" - The sequence was taken down for policy reasons. // "CORRUPT_VIDEO" - The video file was corrupt or could not be decoded. // "INTERNAL" - A permanent failure in the underlying system occurred. // "INVALID_VIDEO_FORMAT" - The video format is invalid or unsupported. // "INVALID_VIDEO_DIMENSIONS" - Invalid image aspect ratio found. // "INVALID_CAPTURE_TIME" - Invalid capture time. Timestamps were from the // future. // "GPS_DATA_GAP" - GPS data contains a gap greater than 5 seconds in // duration. // "JUMPY_GPS" - GPS data is too erratic to be processed. // "INVALID_IMU" - IMU (Accelerometer, Gyroscope, etc.) data are not valid. // They may be missing required fields (x, y, z or time), may not be formatted // correctly, or any other issue that prevents our systems from parsing it. // "INSUFFICIENT_IMU" - Too few IMU points. // "INSUFFICIENT_OVERLAP_TIME_SERIES" - Insufficient overlap in the time // frame between GPS, IMU, and other time series data. // "IMU_DATA_GAP" - IMU (Accelerometer, Gyroscope, etc.) data contain gaps // greater than 0.1 seconds in duration. // "UNSUPPORTED_CAMERA" - The camera is not supported. // "NOT_OUTDOORS" - Some frames were indoors, which is unsupported. // "INSUFFICIENT_VIDEO_FRAMES" - Not enough video frames. // "INSUFFICIENT_MOVEMENT" - Not enough moving data. // "MAST_DOWN" - Mast is down. // "CAMERA_COVERED" - Camera is covered. FailureReason string `json:"failureReason,omitempty"` // Filename: Output only. The filename of the upload. Does not include the // directory path. Only available if the sequence was uploaded on a platform // that provides the filename. Filename string `json:"filename,omitempty"` // GpsSource: Input only. If both raw_gps_timeline and the Camera Motion // Metadata Track (CAMM) contain GPS measurements, indicate which takes // precedence. // // Possible values: // "PHOTO_SEQUENCE" - GPS in raw_gps_timeline takes precedence if it exists. // "CAMERA_MOTION_METADATA_TRACK" - GPS in Camera Motion Metadata Track // (CAMM) takes precedence if it exists. GpsSource string `json:"gpsSource,omitempty"` // Id: Output only. Unique identifier for the photo sequence. This also acts as // a long running operation ID if uploading is performed asynchronously. Id string `json:"id,omitempty"` // Imu: Input only. Three axis IMU data for the collection. If this data is too // large to put in the request, then it should be put in the CAMM track for the // video. This data always takes precedence over the equivalent CAMM data, if // it exists. Imu *Imu `json:"imu,omitempty"` // Photos: Output only. Photos with increasing timestamps. Photos []*Photo `json:"photos,omitempty"` // ProcessingState: Output only. The processing state of this sequence. // // Possible values: // "PROCESSING_STATE_UNSPECIFIED" - The state is unspecified, this is the // default value. // "PENDING" - The sequence has not yet started processing. // "PROCESSING" - The sequence is currently in processing. // "PROCESSED" - The sequence has finished processing including refining // position. // "FAILED" - The sequence failed processing. See FailureReason for more // details. ProcessingState string `json:"processingState,omitempty"` // RawGpsTimeline: Input only. Raw GPS measurements with increasing timestamps // from the device that aren't time synced with each photo. These raw // measurements will be used to infer the pose of each frame. Required in input // when InputType is VIDEO and raw GPS measurements are not in Camera Motion // Metadata Track (CAMM). User can indicate which takes precedence using // gps_source if raw GPS measurements are provided in both raw_gps_timeline and // Camera Motion Metadata Track (CAMM). RawGpsTimeline []*Pose `json:"rawGpsTimeline,omitempty"` // SequenceBounds: Output only. A rectangular box that encapsulates every image // in this photo sequence. SequenceBounds *LatLngBounds `json:"sequenceBounds,omitempty"` // UploadReference: Input only. Required when creating photo sequence. The // resource name where the bytes of the photo sequence (in the form of video) // are uploaded. UploadReference *UploadRef `json:"uploadReference,omitempty"` // UploadTime: Output only. The time this photo sequence was created in uSV // Store service. UploadTime string `json:"uploadTime,omitempty"` // ViewCount: Output only. The total number of views that all the published // images in this PhotoSequence have received. ViewCount int64 `json:"viewCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CaptureTimeOverride") 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. "CaptureTimeOverride") 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 *PhotoSequence) MarshalJSON() ([]byte, error) { type NoMethod PhotoSequence return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *PhotoSequence) UnmarshalJSON(data []byte) error { type NoMethod PhotoSequence var s1 struct { DistanceMeters gensupport.JSONFloat64 `json:"distanceMeters"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.DistanceMeters = float64(s1.DistanceMeters) return nil } // Place: Place metadata for an entity. type Place struct { // LanguageCode: Output only. The language_code that the name is localized // with. This should be the language_code specified in the request, but may be // a fallback. LanguageCode string `json:"languageCode,omitempty"` // Name: Output only. The name of the place, localized to the language_code. Name string `json:"name,omitempty"` // PlaceId: Place identifier, as described in // https://developers.google.com/places/place-id. PlaceId string `json:"placeId,omitempty"` // ForceSendFields is a list of field names (e.g. "LanguageCode") 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. "LanguageCode") 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 *Place) MarshalJSON() ([]byte, error) { type NoMethod Place return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Pose: Raw pose measurement for an entity. type Pose struct { // AccuracyMeters: The estimated horizontal accuracy of this pose in meters // with 68% confidence (one standard deviation). For example, on Android, this // value is available from this method: // https://developer.android.com/reference/android/location/Location#getAccuracy(). // Other platforms have different methods of obtaining similar accuracy // estimations. AccuracyMeters float64 `json:"accuracyMeters,omitempty"` // Altitude: Altitude of the pose in meters above WGS84 ellipsoid. NaN // indicates an unmeasured quantity. Altitude float64 `json:"altitude,omitempty"` // GpsRecordTimestampUnixEpoch: Time of the GPS record since UTC epoch. GpsRecordTimestampUnixEpoch string `json:"gpsRecordTimestampUnixEpoch,omitempty"` // Heading: The following pose parameters pertain to the center of the photo. // They match https://developers.google.com/streetview/spherical-metadata. // Compass heading, measured at the center of the photo in degrees clockwise // from North. Value must be >=0 and <360. NaN indicates an unmeasured // quantity. Heading float64 `json:"heading,omitempty"` // LatLngPair: Latitude and longitude pair of the pose, as explained here: // https://cloud.google.com/datastore/docs/reference/rest/Shared.Types/LatLng // When creating a Photo, if the latitude and longitude pair are not provided, // the geolocation from the exif header is used. A latitude and longitude pair // not provided in the photo or exif header causes the photo process to fail. LatLngPair *LatLng `json:"latLngPair,omitempty"` // Level: Level (the floor in a building) used to configure vertical // navigation. Level *Level `json:"level,omitempty"` // Pitch: Pitch, measured at the center of the photo in degrees. Value must be // >=-90 and <= 90. A value of -90 means looking directly down, and a value of // 90 means looking directly up. NaN indicates an unmeasured quantity. Pitch float64 `json:"pitch,omitempty"` // Roll: Roll, measured in degrees. Value must be >= 0 and <360. A value of 0 // means level with the horizon. NaN indicates an unmeasured quantity. Roll float64 `json:"roll,omitempty"` // ForceSendFields is a list of field names (e.g. "AccuracyMeters") 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. "AccuracyMeters") 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 *Pose) MarshalJSON() ([]byte, error) { type NoMethod Pose return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Pose) UnmarshalJSON(data []byte) error { type NoMethod Pose var s1 struct { AccuracyMeters gensupport.JSONFloat64 `json:"accuracyMeters"` Altitude gensupport.JSONFloat64 `json:"altitude"` Heading gensupport.JSONFloat64 `json:"heading"` Pitch gensupport.JSONFloat64 `json:"pitch"` Roll gensupport.JSONFloat64 `json:"roll"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.AccuracyMeters = float64(s1.AccuracyMeters) s.Altitude = float64(s1.Altitude) s.Heading = float64(s1.Heading) s.Pitch = float64(s1.Pitch) s.Roll = float64(s1.Roll) return nil } // ProcessingFailureDetails: Additional details to accompany the // ProcessingFailureReason enum. This message is always expected to be used in // conjunction with ProcessingFailureReason, and the oneof value set in this // message should match the FailureReason. type ProcessingFailureDetails struct { // GpsDataGapDetails: See GpsDataGapFailureDetails. GpsDataGapDetails *GpsDataGapFailureDetails `json:"gpsDataGapDetails,omitempty"` // ImuDataGapDetails: See ImuDataGapFailureDetails. ImuDataGapDetails *ImuDataGapFailureDetails `json:"imuDataGapDetails,omitempty"` // InsufficientGpsDetails: See InsufficientGpsFailureDetails. InsufficientGpsDetails *InsufficientGpsFailureDetails `json:"insufficientGpsDetails,omitempty"` // NoOverlapGpsDetails: See NoOverlapGpsFailureDetails. NoOverlapGpsDetails *NoOverlapGpsFailureDetails `json:"noOverlapGpsDetails,omitempty"` // NotOutdoorsDetails: See NotOutdoorsFailureDetails. NotOutdoorsDetails *NotOutdoorsFailureDetails `json:"notOutdoorsDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "GpsDataGapDetails") 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. "GpsDataGapDetails") 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 *ProcessingFailureDetails) MarshalJSON() ([]byte, error) { type NoMethod ProcessingFailureDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Status: The `Status` type defines a logical error model that is suitable for // different programming environments, including REST APIs and RPC APIs. It is // used by gRPC (https://github.com/grpc). Each `Status` message contains three // pieces of data: error code, error message, and error details. You can find // out more about this error model and how to work with it in the API Design // Guide (https://cloud.google.com/apis/design/errors). type Status struct { // Code: The status code, which should be an enum value of google.rpc.Code. Code int64 `json:"code,omitempty"` // Details: A list of messages that carry the error details. There is a common // set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in English. Any // user-facing error message should be localized and sent in the // google.rpc.Status.details field, or localized by the client. Message string `json:"message,omitempty"` // ForceSendFields is a list of field names (e.g. "Code") 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. "Code") 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 *Status) MarshalJSON() ([]byte, error) { type NoMethod Status return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // UpdatePhotoRequest: Request to update the metadata of a Photo. Updating the // pixels of a photo is not supported. type UpdatePhotoRequest struct { // Photo: Required. Photo object containing the new metadata. Photo *Photo `json:"photo,omitempty"` // UpdateMask: Required. Mask that identifies fields on the photo metadata to // update. If not present, the old Photo metadata is entirely replaced with the // new Photo metadata in this request. The update fails if invalid fields are // specified. Multiple fields can be specified in a comma-delimited list. The // following fields are valid: * `pose.heading` * `pose.lat_lng_pair` * // `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` // * `places` > Note: When updateMask contains repeated fields, the entire set // of repeated values get replaced with the new contents. For example, if // updateMask contains `connections` and `UpdatePhotoRequest.photo.connections` // is empty, all connections are removed. UpdateMask string `json:"updateMask,omitempty"` // ForceSendFields is a list of field names (e.g. "Photo") 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. "Photo") 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 *UpdatePhotoRequest) MarshalJSON() ([]byte, error) { type NoMethod UpdatePhotoRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // UploadRef: Upload reference for media files. type UploadRef struct { // UploadUrl: An upload reference should be unique for each user. It follows // the form: // "https://streetviewpublish.googleapis.com/media/user/{account_id}/photo/{uplo // ad_reference}" UploadUrl string `json:"uploadUrl,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "UploadUrl") 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. "UploadUrl") 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 *UploadRef) MarshalJSON() ([]byte, error) { type NoMethod UploadRef return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type PhotoCreateCall struct { s *Service photo *Photo urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: After the client finishes uploading the photo with the returned // UploadRef, CreatePhoto publishes the uploaded Photo to Street View on Google // Maps. Currently, the only way to set heading, pitch, and roll in CreatePhoto // is through the Photo Sphere XMP metadata // (https://developers.google.com/streetview/spherical-metadata) in the photo // bytes. CreatePhoto ignores the `pose.heading`, `pose.pitch`, `pose.roll`, // `pose.altitude`, and `pose.level` fields in Pose. This method returns the // following error codes: * google.rpc.Code.INVALID_ARGUMENT if the request is // malformed or if the uploaded photo is not a 360 photo. * // google.rpc.Code.NOT_FOUND if the upload reference does not exist. * // google.rpc.Code.RESOURCE_EXHAUSTED if the account has reached the storage // limit. func (r *PhotoService) Create(photo *Photo) *PhotoCreateCall { c := &PhotoCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.photo = photo 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 *PhotoCreateCall) Fields(s ...googleapi.Field) *PhotoCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotoCreateCall) Context(ctx context.Context) *PhotoCreateCall { 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 *PhotoCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoCreateCall) 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.photo) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photo.create" call. // Any non-2xx status code is an error. Response headers are in either // *Photo.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 *PhotoCreateCall) Do(opts ...googleapi.CallOption) (*Photo, 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 := &Photo{ 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 PhotoDeleteCall struct { s *Service photoId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a Photo and its metadata. This method returns the following // error codes: * google.rpc.Code.PERMISSION_DENIED if the requesting user did // not create the requested photo. * google.rpc.Code.NOT_FOUND if the photo ID // does not exist. // // - photoId: ID of the Photo. func (r *PhotoService) Delete(photoId string) *PhotoDeleteCall { c := &PhotoDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.photoId = photoId 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 *PhotoDeleteCall) Fields(s ...googleapi.Field) *PhotoDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotoDeleteCall) Context(ctx context.Context) *PhotoDeleteCall { 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 *PhotoDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoDeleteCall) 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/photo/{photoId}") 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{ "photoId": c.photoId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photo.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 *PhotoDeleteCall) 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 PhotoGetCall struct { s *Service photoId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets the metadata of the specified Photo. This method returns the // following error codes: * google.rpc.Code.PERMISSION_DENIED if the requesting // user did not create the requested Photo. * google.rpc.Code.NOT_FOUND if the // requested Photo does not exist. * google.rpc.Code.UNAVAILABLE if the // requested Photo is still being indexed. // // - photoId: ID of the Photo. func (r *PhotoService) Get(photoId string) *PhotoGetCall { c := &PhotoGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.photoId = photoId return c } // LanguageCode sets the optional parameter "languageCode": The BCP-47 language // code, such as "en-US" or "sr-Latn". For more information, see // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If // language_code is unspecified, the user's language preference for Google // services is used. func (c *PhotoGetCall) LanguageCode(languageCode string) *PhotoGetCall { c.urlParams_.Set("languageCode", languageCode) return c } // View sets the optional parameter "view": Required. Specifies if a download // URL for the photo bytes should be returned in the Photo response. // // Possible values: // // "BASIC" - Server responses do not include the download URL for the photo // // bytes. The default value. // // "INCLUDE_DOWNLOAD_URL" - Server responses include the download URL for the // // photo bytes. func (c *PhotoGetCall) View(view string) *PhotoGetCall { c.urlParams_.Set("view", view) 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 *PhotoGetCall) Fields(s ...googleapi.Field) *PhotoGetCall { 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 *PhotoGetCall) IfNoneMatch(entityTag string) *PhotoGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PhotoGetCall) Context(ctx context.Context) *PhotoGetCall { 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 *PhotoGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoGetCall) 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/photo/{photoId}") 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{ "photoId": c.photoId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photo.get" call. // Any non-2xx status code is an error. Response headers are in either // *Photo.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 *PhotoGetCall) Do(opts ...googleapi.CallOption) (*Photo, 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 := &Photo{ 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 PhotoStartUploadCall struct { s *Service empty *Empty urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // StartUpload: Creates an upload session to start uploading photo bytes. The // method uses the upload URL of the returned UploadRef to upload the bytes for // the Photo. In addition to the photo requirements shown in // https://support.google.com/maps/answer/7012050?ref_topic=6275604, the photo // must meet the following requirements: * Photo Sphere XMP metadata must be // included in the photo metadata. See // https://developers.google.com/streetview/spherical-metadata for the required // fields. * The pixel size of the photo must meet the size requirements listed // in https://support.google.com/maps/answer/7012050?ref_topic=6275604, and the // photo must be a full 360 horizontally. After the upload completes, the // method uses UploadRef with CreatePhoto to create the Photo object entry. func (r *PhotoService) StartUpload(empty *Empty) *PhotoStartUploadCall { c := &PhotoStartUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.empty = empty 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 *PhotoStartUploadCall) Fields(s ...googleapi.Field) *PhotoStartUploadCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotoStartUploadCall) Context(ctx context.Context) *PhotoStartUploadCall { 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 *PhotoStartUploadCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoStartUploadCall) 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.empty) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo:startUpload") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photo.startUpload" call. // Any non-2xx status code is an error. Response headers are in either // *UploadRef.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 *PhotoStartUploadCall) Do(opts ...googleapi.CallOption) (*UploadRef, 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 := &UploadRef{ 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 PhotoUpdateCall struct { s *Service id string photo *Photo urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Update: Updates the metadata of a Photo, such as pose, place association, // connections, etc. Changing the pixels of a photo is not supported. Only the // fields specified in the updateMask field are used. If `updateMask` is not // present, the update applies to all fields. This method returns the following // error codes: * google.rpc.Code.PERMISSION_DENIED if the requesting user did // not create the requested photo. * google.rpc.Code.INVALID_ARGUMENT if the // request is malformed. * google.rpc.Code.NOT_FOUND if the requested photo // does not exist. * google.rpc.Code.UNAVAILABLE if the requested Photo is // still being indexed. // // - id: A unique identifier for a photo. func (r *PhotoService) Update(id string, photo *Photo) *PhotoUpdateCall { c := &PhotoUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id c.photo = photo return c } // UpdateMask sets the optional parameter "updateMask": Required. Mask that // identifies fields on the photo metadata to update. If not present, the old // Photo metadata is entirely replaced with the new Photo metadata in this // request. The update fails if invalid fields are specified. Multiple fields // can be specified in a comma-delimited list. The following fields are valid: // * `pose.heading` * `pose.lat_lng_pair` * `pose.pitch` * `pose.roll` * // `pose.level` * `pose.altitude` * `connections` * `places` > Note: When // updateMask contains repeated fields, the entire set of repeated values get // replaced with the new contents. For example, if updateMask contains // `connections` and `UpdatePhotoRequest.photo.connections` is empty, all // connections are removed. func (c *PhotoUpdateCall) UpdateMask(updateMask string) *PhotoUpdateCall { 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 *PhotoUpdateCall) Fields(s ...googleapi.Field) *PhotoUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotoUpdateCall) Context(ctx context.Context) *PhotoUpdateCall { 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 *PhotoUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoUpdateCall) 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.photo) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo/{id}") 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{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photo.update" call. // Any non-2xx status code is an error. Response headers are in either // *Photo.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 *PhotoUpdateCall) Do(opts ...googleapi.CallOption) (*Photo, 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 := &Photo{ 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 PhotoSequenceCreateCall struct { s *Service photosequence *PhotoSequence urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: After the client finishes uploading the PhotoSequence with the // returned UploadRef, CreatePhotoSequence extracts a sequence of 360 photos // from a video or Extensible Device Metadata (XDM, http://www.xdm.org/) to be // published to Street View on Google Maps. `CreatePhotoSequence` returns an // Operation, with the PhotoSequence Id set in the `Operation.name` field. This // method returns the following error codes: * google.rpc.Code.INVALID_ARGUMENT // if the request is malformed. * google.rpc.Code.NOT_FOUND if the upload // reference does not exist. func (r *PhotoSequenceService) Create(photosequence *PhotoSequence) *PhotoSequenceCreateCall { c := &PhotoSequenceCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.photosequence = photosequence return c } // InputType sets the optional parameter "inputType": Required. The input form // of PhotoSequence. // // Possible values: // // "INPUT_TYPE_UNSPECIFIED" - Not specified. Server will return // // google.rpc.Code.INVALID_ARGUMENT. // // "VIDEO" - 360 Video. // "XDM" - Extensible Device Metadata, http://www.xdm.org func (c *PhotoSequenceCreateCall) InputType(inputType string) *PhotoSequenceCreateCall { c.urlParams_.Set("inputType", inputType) 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 *PhotoSequenceCreateCall) Fields(s ...googleapi.Field) *PhotoSequenceCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotoSequenceCreateCall) Context(ctx context.Context) *PhotoSequenceCreateCall { 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 *PhotoSequenceCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoSequenceCreateCall) 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.photosequence) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photoSequence") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photoSequence.create" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.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 *PhotoSequenceCreateCall) Do(opts ...googleapi.CallOption) (*Operation, 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 := &Operation{ 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 PhotoSequenceDeleteCall struct { s *Service sequenceId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a PhotoSequence and its metadata. This method returns the // following error codes: * google.rpc.Code.PERMISSION_DENIED if the requesting // user did not create the requested photo sequence. * // google.rpc.Code.NOT_FOUND if the photo sequence ID does not exist. * // google.rpc.Code.FAILED_PRECONDITION if the photo sequence ID is not yet // finished processing. // // - sequenceId: ID of the PhotoSequence. func (r *PhotoSequenceService) Delete(sequenceId string) *PhotoSequenceDeleteCall { c := &PhotoSequenceDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.sequenceId = sequenceId 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 *PhotoSequenceDeleteCall) Fields(s ...googleapi.Field) *PhotoSequenceDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotoSequenceDeleteCall) Context(ctx context.Context) *PhotoSequenceDeleteCall { 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 *PhotoSequenceDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoSequenceDeleteCall) 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/photoSequence/{sequenceId}") 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{ "sequenceId": c.sequenceId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photoSequence.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 *PhotoSequenceDeleteCall) 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 PhotoSequenceGetCall struct { s *Service sequenceId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets the metadata of the specified PhotoSequence via the Operation // interface. This method returns the following three types of responses: * // `Operation.done` = false, if the processing of PhotoSequence is not finished // yet. * `Operation.done` = true and `Operation.error` is populated, if there // was an error in processing. * `Operation.done` = true and // `Operation.response` is poulated, which contains a PhotoSequence message. // This method returns the following error codes: * // google.rpc.Code.PERMISSION_DENIED if the requesting user did not create the // requested PhotoSequence. * google.rpc.Code.NOT_FOUND if the requested // PhotoSequence does not exist. // // - sequenceId: ID of the photo sequence. func (r *PhotoSequenceService) Get(sequenceId string) *PhotoSequenceGetCall { c := &PhotoSequenceGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.sequenceId = sequenceId return c } // Filter sets the optional parameter "filter": The filter expression. For // example: `published_status=PUBLISHED`. The filters supported are: // `published_status`. See https://google.aip.dev/160 for more information. func (c *PhotoSequenceGetCall) Filter(filter string) *PhotoSequenceGetCall { c.urlParams_.Set("filter", filter) return c } // View sets the optional parameter "view": Specifies if a download URL for the // photo sequence should be returned in `download_url` of individual photos in // the PhotoSequence response. > Note: Currently not implemented. // // Possible values: // // "BASIC" - Server responses do not include the download URL for the photo // // bytes. The default value. // // "INCLUDE_DOWNLOAD_URL" - Server responses include the download URL for the // // photo bytes. func (c *PhotoSequenceGetCall) View(view string) *PhotoSequenceGetCall { c.urlParams_.Set("view", view) 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 *PhotoSequenceGetCall) Fields(s ...googleapi.Field) *PhotoSequenceGetCall { 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 *PhotoSequenceGetCall) IfNoneMatch(entityTag string) *PhotoSequenceGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PhotoSequenceGetCall) Context(ctx context.Context) *PhotoSequenceGetCall { 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 *PhotoSequenceGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoSequenceGetCall) 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/photoSequence/{sequenceId}") 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{ "sequenceId": c.sequenceId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photoSequence.get" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.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 *PhotoSequenceGetCall) Do(opts ...googleapi.CallOption) (*Operation, 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 := &Operation{ 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 PhotoSequenceStartUploadCall struct { s *Service empty *Empty urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // StartUpload: Creates an upload session to start uploading photo sequence // data. The upload URL of the returned UploadRef is used to upload the data // for the `photoSequence`. After the upload is complete, the UploadRef is used // with CreatePhotoSequence to create the PhotoSequence object entry. func (r *PhotoSequenceService) StartUpload(empty *Empty) *PhotoSequenceStartUploadCall { c := &PhotoSequenceStartUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.empty = empty 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 *PhotoSequenceStartUploadCall) Fields(s ...googleapi.Field) *PhotoSequenceStartUploadCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotoSequenceStartUploadCall) Context(ctx context.Context) *PhotoSequenceStartUploadCall { 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 *PhotoSequenceStartUploadCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoSequenceStartUploadCall) 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.empty) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photoSequence:startUpload") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photoSequence.startUpload" call. // Any non-2xx status code is an error. Response headers are in either // *UploadRef.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 *PhotoSequenceStartUploadCall) Do(opts ...googleapi.CallOption) (*UploadRef, 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 := &UploadRef{ 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 PhotoSequencesListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists all the PhotoSequences that belong to the user, in descending // CreatePhotoSequence timestamp order. func (r *PhotoSequencesService) List() *PhotoSequencesListCall { c := &PhotoSequencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Filter sets the optional parameter "filter": The filter expression. For // example: `imagery_type=SPHERICAL`. The filters supported are: // `imagery_type`, `processing_state`, `min_latitude`, `max_latitude`, // `min_longitude`, `max_longitude`, `filename_query`, // `min_capture_time_seconds`, `max_capture_time_seconds. See // https://google.aip.dev/160 for more information. Filename queries should // sent as a Phrase in order to support multiple words and special characters // by adding escaped quotes. Ex: filename_query="example of a phrase.mp4" func (c *PhotoSequencesListCall) Filter(filter string) *PhotoSequencesListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": The maximum number of photo // sequences to return. `pageSize` must be non-negative. If `pageSize` is zero // or is not provided, the default page size of 100 is used. The number of // photo sequences returned in the response may be less than `pageSize` if the // number of matches is less than `pageSize`. This is currently unimplemented // but is in process. func (c *PhotoSequencesListCall) PageSize(pageSize int64) *PhotoSequencesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The nextPageToken value // returned from a previous ListPhotoSequences request, if any. func (c *PhotoSequencesListCall) PageToken(pageToken string) *PhotoSequencesListCall { 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 *PhotoSequencesListCall) Fields(s ...googleapi.Field) *PhotoSequencesListCall { 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 *PhotoSequencesListCall) IfNoneMatch(entityTag string) *PhotoSequencesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PhotoSequencesListCall) Context(ctx context.Context) *PhotoSequencesListCall { 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 *PhotoSequencesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotoSequencesListCall) 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/photoSequences") 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 "streetviewpublish.photoSequences.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListPhotoSequencesResponse.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 *PhotoSequencesListCall) Do(opts ...googleapi.CallOption) (*ListPhotoSequencesResponse, 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 := &ListPhotoSequencesResponse{ 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 *PhotoSequencesListCall) Pages(ctx context.Context, f func(*ListPhotoSequencesResponse) 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 PhotosBatchDeleteCall struct { s *Service batchdeletephotosrequest *BatchDeletePhotosRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BatchDelete: Deletes a list of Photos and their metadata. Note that if // BatchDeletePhotos fails, either critical fields are missing or there is an // authentication error. Even if BatchDeletePhotos succeeds, individual photos // in the batch may have failures. These failures are specified in each // PhotoResponse.status in BatchDeletePhotosResponse.results. See DeletePhoto // for specific failures that can occur per photo. func (r *PhotosService) BatchDelete(batchdeletephotosrequest *BatchDeletePhotosRequest) *PhotosBatchDeleteCall { c := &PhotosBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.batchdeletephotosrequest = batchdeletephotosrequest 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 *PhotosBatchDeleteCall) Fields(s ...googleapi.Field) *PhotosBatchDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotosBatchDeleteCall) Context(ctx context.Context) *PhotosBatchDeleteCall { 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 *PhotosBatchDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotosBatchDeleteCall) 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.batchdeletephotosrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photos:batchDelete") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photos.batchDelete" call. // Any non-2xx status code is an error. Response headers are in either // *BatchDeletePhotosResponse.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 *PhotosBatchDeleteCall) Do(opts ...googleapi.CallOption) (*BatchDeletePhotosResponse, 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 := &BatchDeletePhotosResponse{ 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 PhotosBatchGetCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // BatchGet: Gets the metadata of the specified Photo batch. Note that if // BatchGetPhotos fails, either critical fields are missing or there is an // authentication error. Even if BatchGetPhotos succeeds, individual photos in // the batch may have failures. These failures are specified in each // PhotoResponse.status in BatchGetPhotosResponse.results. See GetPhoto for // specific failures that can occur per photo. func (r *PhotosService) BatchGet() *PhotosBatchGetCall { c := &PhotosBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // LanguageCode sets the optional parameter "languageCode": The BCP-47 language // code, such as "en-US" or "sr-Latn". For more information, see // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If // language_code is unspecified, the user's language preference for Google // services is used. func (c *PhotosBatchGetCall) LanguageCode(languageCode string) *PhotosBatchGetCall { c.urlParams_.Set("languageCode", languageCode) return c } // PhotoIds sets the optional parameter "photoIds": Required. IDs of the // Photos. For HTTP GET requests, the URL query parameter should be // `photoIds=&photoIds=&...`. func (c *PhotosBatchGetCall) PhotoIds(photoIds ...string) *PhotosBatchGetCall { c.urlParams_.SetMulti("photoIds", append([]string{}, photoIds...)) return c } // View sets the optional parameter "view": Required. Specifies if a download // URL for the photo bytes should be returned in the Photo response. // // Possible values: // // "BASIC" - Server responses do not include the download URL for the photo // // bytes. The default value. // // "INCLUDE_DOWNLOAD_URL" - Server responses include the download URL for the // // photo bytes. func (c *PhotosBatchGetCall) View(view string) *PhotosBatchGetCall { c.urlParams_.Set("view", view) 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 *PhotosBatchGetCall) Fields(s ...googleapi.Field) *PhotosBatchGetCall { 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 *PhotosBatchGetCall) IfNoneMatch(entityTag string) *PhotosBatchGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PhotosBatchGetCall) Context(ctx context.Context) *PhotosBatchGetCall { 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 *PhotosBatchGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotosBatchGetCall) 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/photos:batchGet") 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 "streetviewpublish.photos.batchGet" call. // Any non-2xx status code is an error. Response headers are in either // *BatchGetPhotosResponse.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 *PhotosBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetPhotosResponse, 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 := &BatchGetPhotosResponse{ 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 PhotosBatchUpdateCall struct { s *Service batchupdatephotosrequest *BatchUpdatePhotosRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // BatchUpdate: Updates the metadata of Photos, such as pose, place // association, connections, etc. Changing the pixels of photos is not // supported. Note that if BatchUpdatePhotos fails, either critical fields are // missing or there is an authentication error. Even if BatchUpdatePhotos // succeeds, individual photos in the batch may have failures. These failures // are specified in each PhotoResponse.status in // BatchUpdatePhotosResponse.results. See UpdatePhoto for specific failures // that can occur per photo. Only the fields specified in updateMask field are // used. If `updateMask` is not present, the update applies to all fields. The // number of UpdatePhotoRequest messages in a BatchUpdatePhotosRequest must not // exceed 20. > Note: To update Pose.altitude, Pose.latLngPair has to be filled // as well. Otherwise, the request will fail. func (r *PhotosService) BatchUpdate(batchupdatephotosrequest *BatchUpdatePhotosRequest) *PhotosBatchUpdateCall { c := &PhotosBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.batchupdatephotosrequest = batchupdatephotosrequest 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 *PhotosBatchUpdateCall) Fields(s ...googleapi.Field) *PhotosBatchUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *PhotosBatchUpdateCall) Context(ctx context.Context) *PhotosBatchUpdateCall { 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 *PhotosBatchUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotosBatchUpdateCall) 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.batchupdatephotosrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photos:batchUpdate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "streetviewpublish.photos.batchUpdate" call. // Any non-2xx status code is an error. Response headers are in either // *BatchUpdatePhotosResponse.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 *PhotosBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdatePhotosResponse, 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 := &BatchUpdatePhotosResponse{ 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 PhotosListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists all the Photos that belong to the user. > Note: Recently created // photos that are still being indexed are not returned in the response. func (r *PhotosService) List() *PhotosListCall { c := &PhotosListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Filter sets the optional parameter "filter": The filter expression. For // example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. The filters supported are: // `placeId`, `min_latitude`, `max_latitude`, `min_longitude`, `max_longitude`. // See https://google.aip.dev/160 for more information. func (c *PhotosListCall) Filter(filter string) *PhotosListCall { c.urlParams_.Set("filter", filter) return c } // LanguageCode sets the optional parameter "languageCode": The BCP-47 language // code, such as "en-US" or "sr-Latn". For more information, see // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If // language_code is unspecified, the user's language preference for Google // services is used. func (c *PhotosListCall) LanguageCode(languageCode string) *PhotosListCall { c.urlParams_.Set("languageCode", languageCode) return c } // PageSize sets the optional parameter "pageSize": The maximum number of // photos to return. `pageSize` must be non-negative. If `pageSize` is zero or // is not provided, the default page size of 100 is used. The number of photos // returned in the response may be less than `pageSize` if the number of photos // that belong to the user is less than `pageSize`. func (c *PhotosListCall) PageSize(pageSize int64) *PhotosListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The nextPageToken value // returned from a previous ListPhotos request, if any. func (c *PhotosListCall) PageToken(pageToken string) *PhotosListCall { c.urlParams_.Set("pageToken", pageToken) return c } // View sets the optional parameter "view": Required. Specifies if a download // URL for the photos bytes should be returned in the Photos response. // // Possible values: // // "BASIC" - Server responses do not include the download URL for the photo // // bytes. The default value. // // "INCLUDE_DOWNLOAD_URL" - Server responses include the download URL for the // // photo bytes. func (c *PhotosListCall) View(view string) *PhotosListCall { c.urlParams_.Set("view", view) 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 *PhotosListCall) Fields(s ...googleapi.Field) *PhotosListCall { 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 *PhotosListCall) IfNoneMatch(entityTag string) *PhotosListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *PhotosListCall) Context(ctx context.Context) *PhotosListCall { 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 *PhotosListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *PhotosListCall) 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/photos") 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 "streetviewpublish.photos.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListPhotosResponse.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 *PhotosListCall) Do(opts ...googleapi.CallOption) (*ListPhotosResponse, 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 := &ListPhotosResponse{ 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 *PhotosListCall) Pages(ctx context.Context, f func(*ListPhotosResponse) 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) } }