mirror of
https://github.com/rclone/rclone.git
synced 2024-12-11 17:51:12 +01:00
1535 lines
53 KiB
Go
1535 lines
53 KiB
Go
|
// Package poly provides access to the Poly API.
|
||
|
//
|
||
|
// See https://developers.google.com/poly/
|
||
|
//
|
||
|
// Usage example:
|
||
|
//
|
||
|
// import "google.golang.org/api/poly/v1"
|
||
|
// ...
|
||
|
// polyService, err := poly.New(oauthHttpClient)
|
||
|
package poly // import "google.golang.org/api/poly/v1"
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"encoding/json"
|
||
|
"errors"
|
||
|
"fmt"
|
||
|
context "golang.org/x/net/context"
|
||
|
ctxhttp "golang.org/x/net/context/ctxhttp"
|
||
|
gensupport "google.golang.org/api/gensupport"
|
||
|
googleapi "google.golang.org/api/googleapi"
|
||
|
"io"
|
||
|
"net/http"
|
||
|
"net/url"
|
||
|
"strconv"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
// Always reference these packages, just in case the auto-generated code
|
||
|
// below doesn't.
|
||
|
var _ = bytes.NewBuffer
|
||
|
var _ = strconv.Itoa
|
||
|
var _ = fmt.Sprintf
|
||
|
var _ = json.NewDecoder
|
||
|
var _ = io.Copy
|
||
|
var _ = url.Parse
|
||
|
var _ = gensupport.MarshalJSON
|
||
|
var _ = googleapi.Version
|
||
|
var _ = errors.New
|
||
|
var _ = strings.Replace
|
||
|
var _ = context.Canceled
|
||
|
var _ = ctxhttp.Do
|
||
|
|
||
|
const apiId = "poly:v1"
|
||
|
const apiName = "poly"
|
||
|
const apiVersion = "v1"
|
||
|
const basePath = "https://poly.googleapis.com/"
|
||
|
|
||
|
func New(client *http.Client) (*Service, error) {
|
||
|
if client == nil {
|
||
|
return nil, errors.New("client is nil")
|
||
|
}
|
||
|
s := &Service{client: client, BasePath: basePath}
|
||
|
s.Assets = NewAssetsService(s)
|
||
|
s.Users = NewUsersService(s)
|
||
|
return s, nil
|
||
|
}
|
||
|
|
||
|
type Service struct {
|
||
|
client *http.Client
|
||
|
BasePath string // API endpoint base URL
|
||
|
UserAgent string // optional additional User-Agent fragment
|
||
|
|
||
|
Assets *AssetsService
|
||
|
|
||
|
Users *UsersService
|
||
|
}
|
||
|
|
||
|
func (s *Service) userAgent() string {
|
||
|
if s.UserAgent == "" {
|
||
|
return googleapi.UserAgent
|
||
|
}
|
||
|
return googleapi.UserAgent + " " + s.UserAgent
|
||
|
}
|
||
|
|
||
|
func NewAssetsService(s *Service) *AssetsService {
|
||
|
rs := &AssetsService{s: s}
|
||
|
return rs
|
||
|
}
|
||
|
|
||
|
type AssetsService struct {
|
||
|
s *Service
|
||
|
}
|
||
|
|
||
|
func NewUsersService(s *Service) *UsersService {
|
||
|
rs := &UsersService{s: s}
|
||
|
rs.Assets = NewUsersAssetsService(s)
|
||
|
rs.Likedassets = NewUsersLikedassetsService(s)
|
||
|
return rs
|
||
|
}
|
||
|
|
||
|
type UsersService struct {
|
||
|
s *Service
|
||
|
|
||
|
Assets *UsersAssetsService
|
||
|
|
||
|
Likedassets *UsersLikedassetsService
|
||
|
}
|
||
|
|
||
|
func NewUsersAssetsService(s *Service) *UsersAssetsService {
|
||
|
rs := &UsersAssetsService{s: s}
|
||
|
return rs
|
||
|
}
|
||
|
|
||
|
type UsersAssetsService struct {
|
||
|
s *Service
|
||
|
}
|
||
|
|
||
|
func NewUsersLikedassetsService(s *Service) *UsersLikedassetsService {
|
||
|
rs := &UsersLikedassetsService{s: s}
|
||
|
return rs
|
||
|
}
|
||
|
|
||
|
type UsersLikedassetsService struct {
|
||
|
s *Service
|
||
|
}
|
||
|
|
||
|
// Asset: Represents and describes an asset in the Poly library. An
|
||
|
// asset is a 3D model
|
||
|
// or scene created using [Tilt
|
||
|
// Brush](//www.tiltbrush.com),
|
||
|
// [Blocks](//vr.google.com/blocks/), or any 3D program that produces a
|
||
|
// file
|
||
|
// that can be upload to Poly.
|
||
|
type Asset struct {
|
||
|
// AuthorName: The author's publicly visible name. Use this name when
|
||
|
// giving credit to the
|
||
|
// author. For more information, see
|
||
|
// [Licensing](/poly/discover/licensing).
|
||
|
AuthorName string `json:"authorName,omitempty"`
|
||
|
|
||
|
// CreateTime: For published assets, the time when the asset was
|
||
|
// published.
|
||
|
// For unpublished assets, the time when the asset was created.
|
||
|
CreateTime string `json:"createTime,omitempty"`
|
||
|
|
||
|
// Description: The human-readable description, set by the asset's
|
||
|
// author.
|
||
|
Description string `json:"description,omitempty"`
|
||
|
|
||
|
// DisplayName: The human-readable name, set by the asset's author.
|
||
|
DisplayName string `json:"displayName,omitempty"`
|
||
|
|
||
|
// Formats: A list of Formats where each
|
||
|
// format describes one representation of the asset.
|
||
|
Formats []*Format `json:"formats,omitempty"`
|
||
|
|
||
|
// IsCurated: Whether this asset has been curated by the Poly team.
|
||
|
IsCurated bool `json:"isCurated,omitempty"`
|
||
|
|
||
|
// License: The license under which the author has made the asset
|
||
|
// available
|
||
|
// for use, if any.
|
||
|
//
|
||
|
// Possible values:
|
||
|
// "UNKNOWN" - Unknown license value.
|
||
|
// "CREATIVE_COMMONS_BY" - Creative Commons CC-BY 3.0.
|
||
|
// https://creativecommons.org/licenses/by/3.0/
|
||
|
// "ALL_RIGHTS_RESERVED" - Unlicensed: All Rights Reserved by the
|
||
|
// author. Unlicensed assets are
|
||
|
// **not** returned by List Assets.
|
||
|
License string `json:"license,omitempty"`
|
||
|
|
||
|
// Name: The unique identifier for the asset in the
|
||
|
// form:
|
||
|
// `assets/{ASSET_ID}`.
|
||
|
Name string `json:"name,omitempty"`
|
||
|
|
||
|
// PresentationParams: Hints for displaying the asset. Note that these
|
||
|
// parameters are not
|
||
|
// immutable; the author of an asset may change them post-publication.
|
||
|
PresentationParams *PresentationParams `json:"presentationParams,omitempty"`
|
||
|
|
||
|
// Thumbnail: The thumbnail image for the asset.
|
||
|
Thumbnail *File `json:"thumbnail,omitempty"`
|
||
|
|
||
|
// UpdateTime: The time when the asset was last modified. For published
|
||
|
// assets, whose
|
||
|
// contents are immutable, the update time changes only when
|
||
|
// metadata
|
||
|
// properties, such as visibility, are updated.
|
||
|
UpdateTime string `json:"updateTime,omitempty"`
|
||
|
|
||
|
// Visibility: The visibility of the asset and who can access it.
|
||
|
//
|
||
|
// Possible values:
|
||
|
// "VISIBILITY_UNSPECIFIED" - Unknown (and invalid) visibility.
|
||
|
// "PRIVATE" - Access to the asset and its underlying files and
|
||
|
// resources is restricted to
|
||
|
// the author.
|
||
|
// **Authentication:** You must supply an OAuth token that corresponds
|
||
|
// to the
|
||
|
// author's account.
|
||
|
// "UNLISTED" - Access to the asset and its underlying files and
|
||
|
// resources is available to
|
||
|
// anyone with the asset's name. Unlisted assets are **not**
|
||
|
// returned by List Assets.
|
||
|
// "PUBLIC" - Access to the asset and its underlying files and
|
||
|
// resources is available
|
||
|
// to anyone.
|
||
|
Visibility string `json:"visibility,omitempty"`
|
||
|
|
||
|
// ServerResponse contains the HTTP response code and headers from the
|
||
|
// server.
|
||
|
googleapi.ServerResponse `json:"-"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "AuthorName") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "AuthorName") to include in
|
||
|
// API requests with the JSON null value. By default, fields with empty
|
||
|
// values are omitted from API requests. However, any field with an
|
||
|
// empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *Asset) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod Asset
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// File: Represents a file in Poly, which can be a root,
|
||
|
// resource, or thumbnail file.
|
||
|
type File struct {
|
||
|
// ContentType: The MIME content-type, such as `image/png`.
|
||
|
// For more information, see
|
||
|
// [MIME
|
||
|
// types](//developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME
|
||
|
// _types).
|
||
|
ContentType string `json:"contentType,omitempty"`
|
||
|
|
||
|
// RelativePath: The path of the resource file relative to the root
|
||
|
// file.
|
||
|
// For root or thumbnail files, this is just the filename.
|
||
|
RelativePath string `json:"relativePath,omitempty"`
|
||
|
|
||
|
// Url: The URL where the file data can be retrieved.
|
||
|
Url string `json:"url,omitempty"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "ContentType") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "ContentType") to include
|
||
|
// in API requests with the JSON null value. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any field with
|
||
|
// an empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *File) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod File
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// Format: The same asset can be represented in different formats, for
|
||
|
// example,
|
||
|
// a [WaveFront .obj](//en.wikipedia.org/wiki/Wavefront_.obj_file) file
|
||
|
// with its
|
||
|
// corresponding .mtl file or a [Khronos glTF](//www.khronos.org/gltf)
|
||
|
// file
|
||
|
// with its corresponding .glb binary data. A format refers to a
|
||
|
// specific
|
||
|
// representation of an asset and contains all information needed
|
||
|
// to
|
||
|
// retrieve and describe this representation.
|
||
|
type Format struct {
|
||
|
// FormatComplexity: Complexity stats about this representation of the
|
||
|
// asset.
|
||
|
FormatComplexity *FormatComplexity `json:"formatComplexity,omitempty"`
|
||
|
|
||
|
// FormatType: A short string that identifies the format type of this
|
||
|
// representation.
|
||
|
// Possible values are: `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`.
|
||
|
FormatType string `json:"formatType,omitempty"`
|
||
|
|
||
|
// Resources: A list of dependencies of the root element. May include,
|
||
|
// but is not
|
||
|
// limited to, materials, textures, and shader programs.
|
||
|
Resources []*File `json:"resources,omitempty"`
|
||
|
|
||
|
// Root: The root of the file hierarchy. This will always be
|
||
|
// populated.
|
||
|
// For some format_types - such as `TILT`, which are self-contained
|
||
|
// -
|
||
|
// this is all of the data.
|
||
|
//
|
||
|
// Other types - such as `OBJ` - often reference other data
|
||
|
// elements.
|
||
|
// These are contained in the resources field.
|
||
|
Root *File `json:"root,omitempty"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "FormatComplexity") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "FormatComplexity") to
|
||
|
// include in API requests with the JSON null value. By default, fields
|
||
|
// with empty values are omitted from API requests. However, any field
|
||
|
// with an empty value appearing in NullFields will be sent to the
|
||
|
// server as null. It is an error if a field in this list has a
|
||
|
// non-empty value. This may be used to include null fields in Patch
|
||
|
// requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *Format) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod Format
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// FormatComplexity: Information on the complexity of this Format.
|
||
|
type FormatComplexity struct {
|
||
|
// LodHint: A non-negative integer that represents the level of detail
|
||
|
// (LOD) of this
|
||
|
// format relative to other formats of the same asset with the
|
||
|
// same
|
||
|
// format_type.
|
||
|
// This hint allows you to sort formats from the most-detailed (0)
|
||
|
// to
|
||
|
// least-detailed (integers greater than 0).
|
||
|
LodHint int64 `json:"lodHint,omitempty"`
|
||
|
|
||
|
// TriangleCount: The estimated number of triangles.
|
||
|
TriangleCount int64 `json:"triangleCount,omitempty,string"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "LodHint") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "LodHint") to include in
|
||
|
// API requests with the JSON null value. By default, fields with empty
|
||
|
// values are omitted from API requests. However, any field with an
|
||
|
// empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *FormatComplexity) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod FormatComplexity
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// ListAssetsResponse: A response message from a request to list.
|
||
|
type ListAssetsResponse struct {
|
||
|
// Assets: A list of assets that match the criteria specified in the
|
||
|
// request.
|
||
|
Assets []*Asset `json:"assets,omitempty"`
|
||
|
|
||
|
// NextPageToken: The continuation token for retrieving the next page.
|
||
|
// If empty,
|
||
|
// indicates that there are no more pages. To get the next page, submit
|
||
|
// the
|
||
|
// same request specifying this value as the
|
||
|
// page_token.
|
||
|
NextPageToken string `json:"nextPageToken,omitempty"`
|
||
|
|
||
|
// TotalSize: The total number of assets in the list, without
|
||
|
// pagination.
|
||
|
TotalSize int64 `json:"totalSize,omitempty"`
|
||
|
|
||
|
// ServerResponse contains the HTTP response code and headers from the
|
||
|
// server.
|
||
|
googleapi.ServerResponse `json:"-"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "Assets") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "Assets") to include in API
|
||
|
// requests with the JSON null value. By default, fields with empty
|
||
|
// values are omitted from API requests. However, any field with an
|
||
|
// empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *ListAssetsResponse) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod ListAssetsResponse
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// ListLikedAssetsResponse: A response message from a request to list.
|
||
|
type ListLikedAssetsResponse struct {
|
||
|
// Assets: A list of assets that match the criteria specified in the
|
||
|
// request.
|
||
|
Assets []*Asset `json:"assets,omitempty"`
|
||
|
|
||
|
// NextPageToken: The continuation token for retrieving the next page.
|
||
|
// If empty,
|
||
|
// indicates that there are no more pages. To get the next page, submit
|
||
|
// the
|
||
|
// same request specifying this value as the
|
||
|
// page_token.
|
||
|
NextPageToken string `json:"nextPageToken,omitempty"`
|
||
|
|
||
|
// TotalSize: The total number of assets in the list, without
|
||
|
// pagination.
|
||
|
TotalSize int64 `json:"totalSize,omitempty"`
|
||
|
|
||
|
// ServerResponse contains the HTTP response code and headers from the
|
||
|
// server.
|
||
|
googleapi.ServerResponse `json:"-"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "Assets") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "Assets") to include in API
|
||
|
// requests with the JSON null value. By default, fields with empty
|
||
|
// values are omitted from API requests. However, any field with an
|
||
|
// empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *ListLikedAssetsResponse) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod ListLikedAssetsResponse
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// ListUserAssetsResponse: A response message from a request to list.
|
||
|
type ListUserAssetsResponse struct {
|
||
|
// NextPageToken: The continuation token for retrieving the next page.
|
||
|
// If empty,
|
||
|
// indicates that there are no more pages. To get the next page, submit
|
||
|
// the
|
||
|
// same request specifying this value as the
|
||
|
// page_token.
|
||
|
NextPageToken string `json:"nextPageToken,omitempty"`
|
||
|
|
||
|
// TotalSize: The total number of assets in the list, without
|
||
|
// pagination.
|
||
|
TotalSize int64 `json:"totalSize,omitempty"`
|
||
|
|
||
|
// UserAssets: A list of UserAssets matching the request.
|
||
|
UserAssets []*UserAsset `json:"userAssets,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 values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "NextPageToken") to include
|
||
|
// in API requests with the JSON null value. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any field with
|
||
|
// an empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *ListUserAssetsResponse) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod ListUserAssetsResponse
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// PresentationParams: Hints for displaying the asset, based on
|
||
|
// information available when the asset
|
||
|
// was uploaded.
|
||
|
type PresentationParams struct {
|
||
|
// ColorSpace: The materials' diffuse/albedo color. This does not apply
|
||
|
// to vertex colors
|
||
|
// or texture maps.
|
||
|
//
|
||
|
// Possible values:
|
||
|
// "UNKNOWN" - Invalid color value.
|
||
|
// "LINEAR" - Linear color values. Default.
|
||
|
// "GAMMA" - Colors should be converted to linear by assuming gamma =
|
||
|
// 2.0.
|
||
|
ColorSpace string `json:"colorSpace,omitempty"`
|
||
|
|
||
|
// OrientingRotation: A rotation that should be applied to the object
|
||
|
// root to make it upright.
|
||
|
// More precisely, this quaternion transforms from "object space" (the
|
||
|
// space
|
||
|
// in which the object is defined) to "presentation space", a
|
||
|
// coordinate
|
||
|
// system where +Y is up, +X is right, -Z is forward. For example,
|
||
|
// if
|
||
|
// the object is the Eiffel Tower, in its local coordinate system
|
||
|
// the
|
||
|
// object might be laid out such that the base of the tower is on the
|
||
|
// YZ plane and the tip of the tower is towards positive X. In this
|
||
|
// case
|
||
|
// this quaternion would specify a rotation (of 90 degrees about the
|
||
|
// Z
|
||
|
// axis) such that in the presentation space the base of the tower
|
||
|
// is
|
||
|
// aligned with the XZ plane, and the tip of the tower lies towards
|
||
|
// +Y.
|
||
|
//
|
||
|
// This rotation is unrelated to the object's pose in the web
|
||
|
// preview,
|
||
|
// which is just a camera position setting and is *not* reflected in
|
||
|
// this
|
||
|
// rotation.
|
||
|
//
|
||
|
// Please note: this is applicable only to the gLTF.
|
||
|
OrientingRotation *Quaternion `json:"orientingRotation,omitempty"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "ColorSpace") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "ColorSpace") to include in
|
||
|
// API requests with the JSON null value. By default, fields with empty
|
||
|
// values are omitted from API requests. However, any field with an
|
||
|
// empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *PresentationParams) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod PresentationParams
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// Quaternion: A [Quaternion](//en.wikipedia.org/wiki/Quaternion).
|
||
|
// Please note: if in the
|
||
|
// response you see "w: 1" and nothing else this is the default value
|
||
|
// of
|
||
|
// [0, 0, 0, 1] where x,y, and z are 0.
|
||
|
type Quaternion struct {
|
||
|
// W: The scalar component.
|
||
|
W float64 `json:"w,omitempty"`
|
||
|
|
||
|
// X: The x component.
|
||
|
X float64 `json:"x,omitempty"`
|
||
|
|
||
|
// Y: The y component.
|
||
|
Y float64 `json:"y,omitempty"`
|
||
|
|
||
|
// Z: The z component.
|
||
|
Z float64 `json:"z,omitempty"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "W") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "W") to include in API
|
||
|
// requests with the JSON null value. By default, fields with empty
|
||
|
// values are omitted from API requests. However, any field with an
|
||
|
// empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *Quaternion) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod Quaternion
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
func (s *Quaternion) UnmarshalJSON(data []byte) error {
|
||
|
type NoMethod Quaternion
|
||
|
var s1 struct {
|
||
|
W gensupport.JSONFloat64 `json:"w"`
|
||
|
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.W = float64(s1.W)
|
||
|
s.X = float64(s1.X)
|
||
|
s.Y = float64(s1.Y)
|
||
|
s.Z = float64(s1.Z)
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// UserAsset: Data about the user's asset.
|
||
|
type UserAsset struct {
|
||
|
// Asset: An Asset.
|
||
|
Asset *Asset `json:"asset,omitempty"`
|
||
|
|
||
|
// ForceSendFields is a list of field names (e.g. "Asset") to
|
||
|
// unconditionally include in API requests. By default, fields with
|
||
|
// empty values are omitted from API requests. However, any non-pointer,
|
||
|
// non-interface field appearing in ForceSendFields will be sent to the
|
||
|
// server regardless of whether the field is empty or not. This may be
|
||
|
// used to include empty fields in Patch requests.
|
||
|
ForceSendFields []string `json:"-"`
|
||
|
|
||
|
// NullFields is a list of field names (e.g. "Asset") to include in API
|
||
|
// requests with the JSON null value. By default, fields with empty
|
||
|
// values are omitted from API requests. However, any field with an
|
||
|
// empty value appearing in NullFields will be sent to the server as
|
||
|
// null. It is an error if a field in this list has a non-empty value.
|
||
|
// This may be used to include null fields in Patch requests.
|
||
|
NullFields []string `json:"-"`
|
||
|
}
|
||
|
|
||
|
func (s *UserAsset) MarshalJSON() ([]byte, error) {
|
||
|
type NoMethod UserAsset
|
||
|
raw := NoMethod(*s)
|
||
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
||
|
}
|
||
|
|
||
|
// method id "poly.assets.get":
|
||
|
|
||
|
type AssetsGetCall struct {
|
||
|
s *Service
|
||
|
name string
|
||
|
urlParams_ gensupport.URLParams
|
||
|
ifNoneMatch_ string
|
||
|
ctx_ context.Context
|
||
|
header_ http.Header
|
||
|
}
|
||
|
|
||
|
// Get: Returns detailed information about an asset given its
|
||
|
// name.
|
||
|
// PRIVATE assets are returned only if
|
||
|
// the currently authenticated user (via OAuth token) is the author of
|
||
|
// the asset.
|
||
|
func (r *AssetsService) Get(name string) *AssetsGetCall {
|
||
|
c := &AssetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
||
|
c.name = name
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Fields allows partial responses to be retrieved. See
|
||
|
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
|
||
|
// for more information.
|
||
|
func (c *AssetsGetCall) Fields(s ...googleapi.Field) *AssetsGetCall {
|
||
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// IfNoneMatch sets the optional parameter which makes the operation
|
||
|
// fail if the object's ETag matches the given value. This is useful for
|
||
|
// getting updates only after the object has changed since the last
|
||
|
// request. Use googleapi.IsNotModified to check whether the response
|
||
|
// error from Do is the result of In-None-Match.
|
||
|
func (c *AssetsGetCall) IfNoneMatch(entityTag string) *AssetsGetCall {
|
||
|
c.ifNoneMatch_ = entityTag
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Context sets the context to be used in this call's Do method. Any
|
||
|
// pending HTTP request will be aborted if the provided context is
|
||
|
// canceled.
|
||
|
func (c *AssetsGetCall) Context(ctx context.Context) *AssetsGetCall {
|
||
|
c.ctx_ = ctx
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Header returns an http.Header that can be modified by the caller to
|
||
|
// add HTTP headers to the request.
|
||
|
func (c *AssetsGetCall) Header() http.Header {
|
||
|
if c.header_ == nil {
|
||
|
c.header_ = make(http.Header)
|
||
|
}
|
||
|
return c.header_
|
||
|
}
|
||
|
|
||
|
func (c *AssetsGetCall) doRequest(alt string) (*http.Response, error) {
|
||
|
reqHeaders := make(http.Header)
|
||
|
for k, v := range c.header_ {
|
||
|
reqHeaders[k] = v
|
||
|
}
|
||
|
reqHeaders.Set("User-Agent", c.s.userAgent())
|
||
|
if c.ifNoneMatch_ != "" {
|
||
|
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
|
||
|
}
|
||
|
var body io.Reader = nil
|
||
|
c.urlParams_.Set("alt", alt)
|
||
|
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
|
||
|
urls += "?" + c.urlParams_.Encode()
|
||
|
req, _ := http.NewRequest("GET", urls, body)
|
||
|
req.Header = reqHeaders
|
||
|
googleapi.Expand(req.URL, map[string]string{
|
||
|
"name": c.name,
|
||
|
})
|
||
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
||
|
}
|
||
|
|
||
|
// Do executes the "poly.assets.get" call.
|
||
|
// Exactly one of *Asset or error will be non-nil. Any non-2xx status
|
||
|
// code is an error. Response headers are in either
|
||
|
// *Asset.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 *AssetsGetCall) Do(opts ...googleapi.CallOption) (*Asset, error) {
|
||
|
gensupport.SetOptions(c.urlParams_, opts...)
|
||
|
res, err := c.doRequest("json")
|
||
|
if res != nil && res.StatusCode == http.StatusNotModified {
|
||
|
if res.Body != nil {
|
||
|
res.Body.Close()
|
||
|
}
|
||
|
return nil, &googleapi.Error{
|
||
|
Code: res.StatusCode,
|
||
|
Header: res.Header,
|
||
|
}
|
||
|
}
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
defer googleapi.CloseBody(res)
|
||
|
if err := googleapi.CheckResponse(res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
ret := &Asset{
|
||
|
ServerResponse: googleapi.ServerResponse{
|
||
|
Header: res.Header,
|
||
|
HTTPStatusCode: res.StatusCode,
|
||
|
},
|
||
|
}
|
||
|
target := &ret
|
||
|
if err := gensupport.DecodeResponse(target, res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return ret, nil
|
||
|
// {
|
||
|
// "description": "Returns detailed information about an asset given its name.\nPRIVATE assets are returned only if\n the currently authenticated user (via OAuth token) is the author of the asset.",
|
||
|
// "flatPath": "v1/assets/{assetsId}",
|
||
|
// "httpMethod": "GET",
|
||
|
// "id": "poly.assets.get",
|
||
|
// "parameterOrder": [
|
||
|
// "name"
|
||
|
// ],
|
||
|
// "parameters": {
|
||
|
// "name": {
|
||
|
// "description": "Required. An asset's name in the form `assets/{ASSET_ID}`.",
|
||
|
// "location": "path",
|
||
|
// "pattern": "^assets/[^/]+$",
|
||
|
// "required": true,
|
||
|
// "type": "string"
|
||
|
// }
|
||
|
// },
|
||
|
// "path": "v1/{+name}",
|
||
|
// "response": {
|
||
|
// "$ref": "Asset"
|
||
|
// }
|
||
|
// }
|
||
|
|
||
|
}
|
||
|
|
||
|
// method id "poly.assets.list":
|
||
|
|
||
|
type AssetsListCall struct {
|
||
|
s *Service
|
||
|
urlParams_ gensupport.URLParams
|
||
|
ifNoneMatch_ string
|
||
|
ctx_ context.Context
|
||
|
header_ http.Header
|
||
|
}
|
||
|
|
||
|
// List: Lists all public, remixable assets. These are assets with an
|
||
|
// access level of
|
||
|
// PUBLIC and published under the
|
||
|
// CC-By license.
|
||
|
func (r *AssetsService) List() *AssetsListCall {
|
||
|
c := &AssetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Category sets the optional parameter "category": Filter assets based
|
||
|
// on the specified category. Supported values are:
|
||
|
// `animals`, `architecture`, `art`, `food`, `nature`, `objects`,
|
||
|
// `people`, `scenes`,
|
||
|
// `technology`, and `transport`.
|
||
|
func (c *AssetsListCall) Category(category string) *AssetsListCall {
|
||
|
c.urlParams_.Set("category", category)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Curated sets the optional parameter "curated": Return only assets
|
||
|
// that have been curated by the Poly team.
|
||
|
func (c *AssetsListCall) Curated(curated bool) *AssetsListCall {
|
||
|
c.urlParams_.Set("curated", fmt.Sprint(curated))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Format sets the optional parameter "format": Return only assets with
|
||
|
// the matching format. Acceptable values are:
|
||
|
// `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`.
|
||
|
func (c *AssetsListCall) Format(format string) *AssetsListCall {
|
||
|
c.urlParams_.Set("format", format)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Keywords sets the optional parameter "keywords": One or more search
|
||
|
// terms to be matched against all text that Poly has
|
||
|
// indexed for assets, which includes display_name,
|
||
|
// description, and tags. Multiple keywords should be
|
||
|
// separated by spaces.
|
||
|
func (c *AssetsListCall) Keywords(keywords string) *AssetsListCall {
|
||
|
c.urlParams_.Set("keywords", keywords)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// MaxComplexity sets the optional parameter "maxComplexity": Returns
|
||
|
// assets that are of the specified complexity or less. Defaults
|
||
|
// to
|
||
|
// COMPLEX. For example, a request for
|
||
|
// MEDIUM assets also includes
|
||
|
// SIMPLE assets.
|
||
|
//
|
||
|
// Possible values:
|
||
|
// "COMPLEXITY_UNSPECIFIED"
|
||
|
// "COMPLEX"
|
||
|
// "MEDIUM"
|
||
|
// "SIMPLE"
|
||
|
func (c *AssetsListCall) MaxComplexity(maxComplexity string) *AssetsListCall {
|
||
|
c.urlParams_.Set("maxComplexity", maxComplexity)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// OrderBy sets the optional parameter "orderBy": Specifies an ordering
|
||
|
// for assets. Acceptable values are:
|
||
|
// `BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks
|
||
|
// assets
|
||
|
// based on a combination of popularity and other features.
|
||
|
func (c *AssetsListCall) OrderBy(orderBy string) *AssetsListCall {
|
||
|
c.urlParams_.Set("orderBy", orderBy)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// PageSize sets the optional parameter "pageSize": The maximum number
|
||
|
// of assets to be returned. This value must be between `1`
|
||
|
// and `100`. Defaults to `20`.
|
||
|
func (c *AssetsListCall) PageSize(pageSize int64) *AssetsListCall {
|
||
|
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// PageToken sets the optional parameter "pageToken": Specifies a
|
||
|
// continuation token from a previous search whose results were
|
||
|
// split into multiple pages. To get the next page, submit the same
|
||
|
// request
|
||
|
// specifying the value from next_page_token.
|
||
|
func (c *AssetsListCall) PageToken(pageToken string) *AssetsListCall {
|
||
|
c.urlParams_.Set("pageToken", pageToken)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Fields allows partial responses to be retrieved. See
|
||
|
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
|
||
|
// for more information.
|
||
|
func (c *AssetsListCall) Fields(s ...googleapi.Field) *AssetsListCall {
|
||
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// IfNoneMatch sets the optional parameter which makes the operation
|
||
|
// fail if the object's ETag matches the given value. This is useful for
|
||
|
// getting updates only after the object has changed since the last
|
||
|
// request. Use googleapi.IsNotModified to check whether the response
|
||
|
// error from Do is the result of In-None-Match.
|
||
|
func (c *AssetsListCall) IfNoneMatch(entityTag string) *AssetsListCall {
|
||
|
c.ifNoneMatch_ = entityTag
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Context sets the context to be used in this call's Do method. Any
|
||
|
// pending HTTP request will be aborted if the provided context is
|
||
|
// canceled.
|
||
|
func (c *AssetsListCall) Context(ctx context.Context) *AssetsListCall {
|
||
|
c.ctx_ = ctx
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Header returns an http.Header that can be modified by the caller to
|
||
|
// add HTTP headers to the request.
|
||
|
func (c *AssetsListCall) Header() http.Header {
|
||
|
if c.header_ == nil {
|
||
|
c.header_ = make(http.Header)
|
||
|
}
|
||
|
return c.header_
|
||
|
}
|
||
|
|
||
|
func (c *AssetsListCall) doRequest(alt string) (*http.Response, error) {
|
||
|
reqHeaders := make(http.Header)
|
||
|
for k, v := range c.header_ {
|
||
|
reqHeaders[k] = v
|
||
|
}
|
||
|
reqHeaders.Set("User-Agent", c.s.userAgent())
|
||
|
if c.ifNoneMatch_ != "" {
|
||
|
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
|
||
|
}
|
||
|
var body io.Reader = nil
|
||
|
c.urlParams_.Set("alt", alt)
|
||
|
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/assets")
|
||
|
urls += "?" + c.urlParams_.Encode()
|
||
|
req, _ := http.NewRequest("GET", urls, body)
|
||
|
req.Header = reqHeaders
|
||
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
||
|
}
|
||
|
|
||
|
// Do executes the "poly.assets.list" call.
|
||
|
// Exactly one of *ListAssetsResponse or error will be non-nil. Any
|
||
|
// non-2xx status code is an error. Response headers are in either
|
||
|
// *ListAssetsResponse.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 *AssetsListCall) Do(opts ...googleapi.CallOption) (*ListAssetsResponse, error) {
|
||
|
gensupport.SetOptions(c.urlParams_, opts...)
|
||
|
res, err := c.doRequest("json")
|
||
|
if res != nil && res.StatusCode == http.StatusNotModified {
|
||
|
if res.Body != nil {
|
||
|
res.Body.Close()
|
||
|
}
|
||
|
return nil, &googleapi.Error{
|
||
|
Code: res.StatusCode,
|
||
|
Header: res.Header,
|
||
|
}
|
||
|
}
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
defer googleapi.CloseBody(res)
|
||
|
if err := googleapi.CheckResponse(res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
ret := &ListAssetsResponse{
|
||
|
ServerResponse: googleapi.ServerResponse{
|
||
|
Header: res.Header,
|
||
|
HTTPStatusCode: res.StatusCode,
|
||
|
},
|
||
|
}
|
||
|
target := &ret
|
||
|
if err := gensupport.DecodeResponse(target, res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return ret, nil
|
||
|
// {
|
||
|
// "description": "Lists all public, remixable assets. These are assets with an access level of\nPUBLIC and published under the\nCC-By license.",
|
||
|
// "flatPath": "v1/assets",
|
||
|
// "httpMethod": "GET",
|
||
|
// "id": "poly.assets.list",
|
||
|
// "parameterOrder": [],
|
||
|
// "parameters": {
|
||
|
// "category": {
|
||
|
// "description": "Filter assets based on the specified category. Supported values are:\n`animals`, `architecture`, `art`, `food`, `nature`, `objects`, `people`, `scenes`,\n`technology`, and `transport`.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "curated": {
|
||
|
// "description": "Return only assets that have been curated by the Poly team.",
|
||
|
// "location": "query",
|
||
|
// "type": "boolean"
|
||
|
// },
|
||
|
// "format": {
|
||
|
// "description": "Return only assets with the matching format. Acceptable values are:\n`BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "keywords": {
|
||
|
// "description": "One or more search terms to be matched against all text that Poly has\nindexed for assets, which includes display_name,\ndescription, and tags. Multiple keywords should be\nseparated by spaces.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "maxComplexity": {
|
||
|
// "description": "Returns assets that are of the specified complexity or less. Defaults to\nCOMPLEX. For example, a request for\nMEDIUM assets also includes\nSIMPLE assets.",
|
||
|
// "enum": [
|
||
|
// "COMPLEXITY_UNSPECIFIED",
|
||
|
// "COMPLEX",
|
||
|
// "MEDIUM",
|
||
|
// "SIMPLE"
|
||
|
// ],
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "orderBy": {
|
||
|
// "description": "Specifies an ordering for assets. Acceptable values are:\n`BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets\nbased on a combination of popularity and other features.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "pageSize": {
|
||
|
// "description": "The maximum number of assets to be returned. This value must be between `1`\nand `100`. Defaults to `20`.",
|
||
|
// "format": "int32",
|
||
|
// "location": "query",
|
||
|
// "type": "integer"
|
||
|
// },
|
||
|
// "pageToken": {
|
||
|
// "description": "Specifies a continuation token from a previous search whose results were\nsplit into multiple pages. To get the next page, submit the same request\nspecifying the value from next_page_token.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// }
|
||
|
// },
|
||
|
// "path": "v1/assets",
|
||
|
// "response": {
|
||
|
// "$ref": "ListAssetsResponse"
|
||
|
// }
|
||
|
// }
|
||
|
|
||
|
}
|
||
|
|
||
|
// 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 *AssetsListCall) Pages(ctx context.Context, f func(*ListAssetsResponse) error) error {
|
||
|
c.ctx_ = ctx
|
||
|
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
|
||
|
for {
|
||
|
x, err := c.Do()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if err := f(x); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if x.NextPageToken == "" {
|
||
|
return nil
|
||
|
}
|
||
|
c.PageToken(x.NextPageToken)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// method id "poly.users.assets.list":
|
||
|
|
||
|
type UsersAssetsListCall struct {
|
||
|
s *Service
|
||
|
name string
|
||
|
urlParams_ gensupport.URLParams
|
||
|
ifNoneMatch_ string
|
||
|
ctx_ context.Context
|
||
|
header_ http.Header
|
||
|
}
|
||
|
|
||
|
// List: Lists assets authored by the given user. Only the value 'me',
|
||
|
// representing
|
||
|
// the currently-authenticated user, is supported. May include assets
|
||
|
// with an
|
||
|
// access level of PRIVATE or
|
||
|
// UNLISTED and assets which are
|
||
|
// All Rights Reserved for the
|
||
|
// currently-authenticated user.
|
||
|
func (r *UsersAssetsService) List(name string) *UsersAssetsListCall {
|
||
|
c := &UsersAssetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
||
|
c.name = name
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Format sets the optional parameter "format": Return only assets with
|
||
|
// the matching format. Acceptable values are:
|
||
|
// `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`.
|
||
|
func (c *UsersAssetsListCall) Format(format string) *UsersAssetsListCall {
|
||
|
c.urlParams_.Set("format", format)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// OrderBy sets the optional parameter "orderBy": Specifies an ordering
|
||
|
// for assets. Acceptable values are:
|
||
|
// `BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks
|
||
|
// assets
|
||
|
// based on a combination of popularity and other features.
|
||
|
func (c *UsersAssetsListCall) OrderBy(orderBy string) *UsersAssetsListCall {
|
||
|
c.urlParams_.Set("orderBy", orderBy)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// PageSize sets the optional parameter "pageSize": The maximum number
|
||
|
// of assets to be returned. This value must be between `1`
|
||
|
// and `100`. Defaults to `20`.
|
||
|
func (c *UsersAssetsListCall) PageSize(pageSize int64) *UsersAssetsListCall {
|
||
|
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// PageToken sets the optional parameter "pageToken": Specifies a
|
||
|
// continuation token from a previous search whose results were
|
||
|
// split into multiple pages. To get the next page, submit the same
|
||
|
// request
|
||
|
// specifying the value from
|
||
|
// next_page_token.
|
||
|
func (c *UsersAssetsListCall) PageToken(pageToken string) *UsersAssetsListCall {
|
||
|
c.urlParams_.Set("pageToken", pageToken)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Visibility sets the optional parameter "visibility": The visibility
|
||
|
// of the assets to be returned.
|
||
|
// Defaults to VISIBILITY_UNSPECIFIED which returns all assets.
|
||
|
//
|
||
|
// Possible values:
|
||
|
// "VISIBILITY_UNSPECIFIED"
|
||
|
// "PUBLISHED"
|
||
|
// "PRIVATE"
|
||
|
func (c *UsersAssetsListCall) Visibility(visibility string) *UsersAssetsListCall {
|
||
|
c.urlParams_.Set("visibility", visibility)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Fields allows partial responses to be retrieved. See
|
||
|
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
|
||
|
// for more information.
|
||
|
func (c *UsersAssetsListCall) Fields(s ...googleapi.Field) *UsersAssetsListCall {
|
||
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// IfNoneMatch sets the optional parameter which makes the operation
|
||
|
// fail if the object's ETag matches the given value. This is useful for
|
||
|
// getting updates only after the object has changed since the last
|
||
|
// request. Use googleapi.IsNotModified to check whether the response
|
||
|
// error from Do is the result of In-None-Match.
|
||
|
func (c *UsersAssetsListCall) IfNoneMatch(entityTag string) *UsersAssetsListCall {
|
||
|
c.ifNoneMatch_ = entityTag
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Context sets the context to be used in this call's Do method. Any
|
||
|
// pending HTTP request will be aborted if the provided context is
|
||
|
// canceled.
|
||
|
func (c *UsersAssetsListCall) Context(ctx context.Context) *UsersAssetsListCall {
|
||
|
c.ctx_ = ctx
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Header returns an http.Header that can be modified by the caller to
|
||
|
// add HTTP headers to the request.
|
||
|
func (c *UsersAssetsListCall) Header() http.Header {
|
||
|
if c.header_ == nil {
|
||
|
c.header_ = make(http.Header)
|
||
|
}
|
||
|
return c.header_
|
||
|
}
|
||
|
|
||
|
func (c *UsersAssetsListCall) doRequest(alt string) (*http.Response, error) {
|
||
|
reqHeaders := make(http.Header)
|
||
|
for k, v := range c.header_ {
|
||
|
reqHeaders[k] = v
|
||
|
}
|
||
|
reqHeaders.Set("User-Agent", c.s.userAgent())
|
||
|
if c.ifNoneMatch_ != "" {
|
||
|
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
|
||
|
}
|
||
|
var body io.Reader = nil
|
||
|
c.urlParams_.Set("alt", alt)
|
||
|
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/assets")
|
||
|
urls += "?" + c.urlParams_.Encode()
|
||
|
req, _ := http.NewRequest("GET", urls, body)
|
||
|
req.Header = reqHeaders
|
||
|
googleapi.Expand(req.URL, map[string]string{
|
||
|
"name": c.name,
|
||
|
})
|
||
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
||
|
}
|
||
|
|
||
|
// Do executes the "poly.users.assets.list" call.
|
||
|
// Exactly one of *ListUserAssetsResponse or error will be non-nil. Any
|
||
|
// non-2xx status code is an error. Response headers are in either
|
||
|
// *ListUserAssetsResponse.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 *UsersAssetsListCall) Do(opts ...googleapi.CallOption) (*ListUserAssetsResponse, error) {
|
||
|
gensupport.SetOptions(c.urlParams_, opts...)
|
||
|
res, err := c.doRequest("json")
|
||
|
if res != nil && res.StatusCode == http.StatusNotModified {
|
||
|
if res.Body != nil {
|
||
|
res.Body.Close()
|
||
|
}
|
||
|
return nil, &googleapi.Error{
|
||
|
Code: res.StatusCode,
|
||
|
Header: res.Header,
|
||
|
}
|
||
|
}
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
defer googleapi.CloseBody(res)
|
||
|
if err := googleapi.CheckResponse(res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
ret := &ListUserAssetsResponse{
|
||
|
ServerResponse: googleapi.ServerResponse{
|
||
|
Header: res.Header,
|
||
|
HTTPStatusCode: res.StatusCode,
|
||
|
},
|
||
|
}
|
||
|
target := &ret
|
||
|
if err := gensupport.DecodeResponse(target, res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return ret, nil
|
||
|
// {
|
||
|
// "description": "Lists assets authored by the given user. Only the value 'me', representing\nthe currently-authenticated user, is supported. May include assets with an\naccess level of PRIVATE or\nUNLISTED and assets which are\nAll Rights Reserved for the\ncurrently-authenticated user.",
|
||
|
// "flatPath": "v1/users/{usersId}/assets",
|
||
|
// "httpMethod": "GET",
|
||
|
// "id": "poly.users.assets.list",
|
||
|
// "parameterOrder": [
|
||
|
// "name"
|
||
|
// ],
|
||
|
// "parameters": {
|
||
|
// "format": {
|
||
|
// "description": "Return only assets with the matching format. Acceptable values are:\n`BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "name": {
|
||
|
// "description": "A valid user id. Currently, only the special value 'me', representing the\ncurrently-authenticated user is supported. To use 'me', you must pass\nan OAuth token with the request.",
|
||
|
// "location": "path",
|
||
|
// "pattern": "^users/[^/]+$",
|
||
|
// "required": true,
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "orderBy": {
|
||
|
// "description": "Specifies an ordering for assets. Acceptable values are:\n`BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets\nbased on a combination of popularity and other features.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "pageSize": {
|
||
|
// "description": "The maximum number of assets to be returned. This value must be between `1`\nand `100`. Defaults to `20`.",
|
||
|
// "format": "int32",
|
||
|
// "location": "query",
|
||
|
// "type": "integer"
|
||
|
// },
|
||
|
// "pageToken": {
|
||
|
// "description": "Specifies a continuation token from a previous search whose results were\nsplit into multiple pages. To get the next page, submit the same request\nspecifying the value from\nnext_page_token.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "visibility": {
|
||
|
// "description": "The visibility of the assets to be returned.\nDefaults to VISIBILITY_UNSPECIFIED which returns all assets.",
|
||
|
// "enum": [
|
||
|
// "VISIBILITY_UNSPECIFIED",
|
||
|
// "PUBLISHED",
|
||
|
// "PRIVATE"
|
||
|
// ],
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// }
|
||
|
// },
|
||
|
// "path": "v1/{+name}/assets",
|
||
|
// "response": {
|
||
|
// "$ref": "ListUserAssetsResponse"
|
||
|
// }
|
||
|
// }
|
||
|
|
||
|
}
|
||
|
|
||
|
// 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 *UsersAssetsListCall) Pages(ctx context.Context, f func(*ListUserAssetsResponse) error) error {
|
||
|
c.ctx_ = ctx
|
||
|
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
|
||
|
for {
|
||
|
x, err := c.Do()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if err := f(x); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if x.NextPageToken == "" {
|
||
|
return nil
|
||
|
}
|
||
|
c.PageToken(x.NextPageToken)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// method id "poly.users.likedassets.list":
|
||
|
|
||
|
type UsersLikedassetsListCall struct {
|
||
|
s *Service
|
||
|
name string
|
||
|
urlParams_ gensupport.URLParams
|
||
|
ifNoneMatch_ string
|
||
|
ctx_ context.Context
|
||
|
header_ http.Header
|
||
|
}
|
||
|
|
||
|
// List: Lists assets that the user has liked. Only the value 'me',
|
||
|
// representing
|
||
|
// the currently-authenticated user, is supported. May include assets
|
||
|
// with an
|
||
|
// access level of UNLISTED.
|
||
|
func (r *UsersLikedassetsService) List(name string) *UsersLikedassetsListCall {
|
||
|
c := &UsersLikedassetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
||
|
c.name = name
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Format sets the optional parameter "format": Return only assets with
|
||
|
// the matching format. Acceptable values are:
|
||
|
// `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`.
|
||
|
func (c *UsersLikedassetsListCall) Format(format string) *UsersLikedassetsListCall {
|
||
|
c.urlParams_.Set("format", format)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// OrderBy sets the optional parameter "orderBy": Specifies an ordering
|
||
|
// for assets. Acceptable values are:
|
||
|
// `BEST`, `NEWEST`, `OLDEST`, 'LIKED_TIME'. Defaults to `LIKED_TIME`,
|
||
|
// which
|
||
|
// ranks assets based on how recently they were liked.
|
||
|
func (c *UsersLikedassetsListCall) OrderBy(orderBy string) *UsersLikedassetsListCall {
|
||
|
c.urlParams_.Set("orderBy", orderBy)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// PageSize sets the optional parameter "pageSize": The maximum number
|
||
|
// of assets to be returned. This value must be between `1`
|
||
|
// and `100`. Defaults to `20`.
|
||
|
func (c *UsersLikedassetsListCall) PageSize(pageSize int64) *UsersLikedassetsListCall {
|
||
|
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// PageToken sets the optional parameter "pageToken": Specifies a
|
||
|
// continuation token from a previous search whose results were
|
||
|
// split into multiple pages. To get the next page, submit the same
|
||
|
// request
|
||
|
// specifying the value from
|
||
|
// next_page_token.
|
||
|
func (c *UsersLikedassetsListCall) PageToken(pageToken string) *UsersLikedassetsListCall {
|
||
|
c.urlParams_.Set("pageToken", pageToken)
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Fields allows partial responses to be retrieved. See
|
||
|
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
|
||
|
// for more information.
|
||
|
func (c *UsersLikedassetsListCall) Fields(s ...googleapi.Field) *UsersLikedassetsListCall {
|
||
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// IfNoneMatch sets the optional parameter which makes the operation
|
||
|
// fail if the object's ETag matches the given value. This is useful for
|
||
|
// getting updates only after the object has changed since the last
|
||
|
// request. Use googleapi.IsNotModified to check whether the response
|
||
|
// error from Do is the result of In-None-Match.
|
||
|
func (c *UsersLikedassetsListCall) IfNoneMatch(entityTag string) *UsersLikedassetsListCall {
|
||
|
c.ifNoneMatch_ = entityTag
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Context sets the context to be used in this call's Do method. Any
|
||
|
// pending HTTP request will be aborted if the provided context is
|
||
|
// canceled.
|
||
|
func (c *UsersLikedassetsListCall) Context(ctx context.Context) *UsersLikedassetsListCall {
|
||
|
c.ctx_ = ctx
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// Header returns an http.Header that can be modified by the caller to
|
||
|
// add HTTP headers to the request.
|
||
|
func (c *UsersLikedassetsListCall) Header() http.Header {
|
||
|
if c.header_ == nil {
|
||
|
c.header_ = make(http.Header)
|
||
|
}
|
||
|
return c.header_
|
||
|
}
|
||
|
|
||
|
func (c *UsersLikedassetsListCall) doRequest(alt string) (*http.Response, error) {
|
||
|
reqHeaders := make(http.Header)
|
||
|
for k, v := range c.header_ {
|
||
|
reqHeaders[k] = v
|
||
|
}
|
||
|
reqHeaders.Set("User-Agent", c.s.userAgent())
|
||
|
if c.ifNoneMatch_ != "" {
|
||
|
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
|
||
|
}
|
||
|
var body io.Reader = nil
|
||
|
c.urlParams_.Set("alt", alt)
|
||
|
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/likedassets")
|
||
|
urls += "?" + c.urlParams_.Encode()
|
||
|
req, _ := http.NewRequest("GET", urls, body)
|
||
|
req.Header = reqHeaders
|
||
|
googleapi.Expand(req.URL, map[string]string{
|
||
|
"name": c.name,
|
||
|
})
|
||
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
||
|
}
|
||
|
|
||
|
// Do executes the "poly.users.likedassets.list" call.
|
||
|
// Exactly one of *ListLikedAssetsResponse or error will be non-nil. Any
|
||
|
// non-2xx status code is an error. Response headers are in either
|
||
|
// *ListLikedAssetsResponse.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 *UsersLikedassetsListCall) Do(opts ...googleapi.CallOption) (*ListLikedAssetsResponse, error) {
|
||
|
gensupport.SetOptions(c.urlParams_, opts...)
|
||
|
res, err := c.doRequest("json")
|
||
|
if res != nil && res.StatusCode == http.StatusNotModified {
|
||
|
if res.Body != nil {
|
||
|
res.Body.Close()
|
||
|
}
|
||
|
return nil, &googleapi.Error{
|
||
|
Code: res.StatusCode,
|
||
|
Header: res.Header,
|
||
|
}
|
||
|
}
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
defer googleapi.CloseBody(res)
|
||
|
if err := googleapi.CheckResponse(res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
ret := &ListLikedAssetsResponse{
|
||
|
ServerResponse: googleapi.ServerResponse{
|
||
|
Header: res.Header,
|
||
|
HTTPStatusCode: res.StatusCode,
|
||
|
},
|
||
|
}
|
||
|
target := &ret
|
||
|
if err := gensupport.DecodeResponse(target, res); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return ret, nil
|
||
|
// {
|
||
|
// "description": "Lists assets that the user has liked. Only the value 'me', representing\nthe currently-authenticated user, is supported. May include assets with an\naccess level of UNLISTED.",
|
||
|
// "flatPath": "v1/users/{usersId}/likedassets",
|
||
|
// "httpMethod": "GET",
|
||
|
// "id": "poly.users.likedassets.list",
|
||
|
// "parameterOrder": [
|
||
|
// "name"
|
||
|
// ],
|
||
|
// "parameters": {
|
||
|
// "format": {
|
||
|
// "description": "Return only assets with the matching format. Acceptable values are:\n`BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "name": {
|
||
|
// "description": "A valid user id. Currently, only the special value 'me', representing the\ncurrently-authenticated user is supported. To use 'me', you must pass\nan OAuth token with the request.",
|
||
|
// "location": "path",
|
||
|
// "pattern": "^users/[^/]+$",
|
||
|
// "required": true,
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "orderBy": {
|
||
|
// "description": "Specifies an ordering for assets. Acceptable values are:\n`BEST`, `NEWEST`, `OLDEST`, 'LIKED_TIME'. Defaults to `LIKED_TIME`, which\nranks assets based on how recently they were liked.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// },
|
||
|
// "pageSize": {
|
||
|
// "description": "The maximum number of assets to be returned. This value must be between `1`\nand `100`. Defaults to `20`.",
|
||
|
// "format": "int32",
|
||
|
// "location": "query",
|
||
|
// "type": "integer"
|
||
|
// },
|
||
|
// "pageToken": {
|
||
|
// "description": "Specifies a continuation token from a previous search whose results were\nsplit into multiple pages. To get the next page, submit the same request\nspecifying the value from\nnext_page_token.",
|
||
|
// "location": "query",
|
||
|
// "type": "string"
|
||
|
// }
|
||
|
// },
|
||
|
// "path": "v1/{+name}/likedassets",
|
||
|
// "response": {
|
||
|
// "$ref": "ListLikedAssetsResponse"
|
||
|
// }
|
||
|
// }
|
||
|
|
||
|
}
|
||
|
|
||
|
// 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 *UsersLikedassetsListCall) Pages(ctx context.Context, f func(*ListLikedAssetsResponse) error) error {
|
||
|
c.ctx_ = ctx
|
||
|
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
|
||
|
for {
|
||
|
x, err := c.Do()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if err := f(x); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if x.NextPageToken == "" {
|
||
|
return nil
|
||
|
}
|
||
|
c.PageToken(x.NextPageToken)
|
||
|
}
|
||
|
}
|