|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809 |
- // 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"`
-
- // Metadata: Application-defined opaque metadata for this asset. This
- // field is only
- // returned when querying for the signed-in user's own assets, not for
- // public
- // assets. This string is limited to 1K chars. It is up to the creator
- // of
- // the asset to define the format for this string (for example, JSON).
- Metadata string `json:"metadata,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)
- }
-
- // AssetImportMessage: A message generated by the asset import process.
- type AssetImportMessage struct {
- // Code: The code associated with this message.
- //
- // Possible values:
- // "CODE_UNSPECIFIED" - Unknown error code.
- // "NO_IMPORTABLE_FILE" - The asset import did not include any file
- // that we can import (i.e. an OBJ
- // file).
- // "EMPTY_MODEL" - When generating the preview for the import, no
- // geometry was found.
- // "OBJ_PARSE_ERROR" - A problem was encountered while parsing the OBJ
- // file. The converter makes
- // a 'best effort' attempt to continue when encountering such issues.
- // In
- // some cases the resulting preview model may still be acceptable.
- // The
- // details can be found in the parse error message.
- // "EXPIRED" - The importer was not able to import the model before
- // the expiration time.
- // "IMAGE_ERROR" - The importer encountered a problem reading an image
- // file.
- // "EXTRA_FILES_WITH_ARCHIVE" - Multiple files were encountered in
- // addition to a ZIP archive. When
- // uploading an archive only one file is permitted.
- // "DEFAULT_MATERIALS" - Default materials are used in the model. This
- // means that one or more
- // faces is using default materials either because no usemtl statement
- // was
- // specified or because the requested material was not found due to
- // a
- // missing material file or bad material name. This does not cover the
- // case
- // of missing textures.
- // "FATAL_ERROR" - The importer encountered a fatal error and was
- // unable to import the
- // model.
- // "INVALID_ELEMENT_TYPE" - The import includes a file of an
- // unsupported element type. The file path
- // is specified.
- Code string `json:"code,omitempty"`
-
- // FilePath: An optional file path. Only present for those error codes
- // that specify it.
- FilePath string `json:"filePath,omitempty"`
-
- // ImageError: An optional image error. Only present for
- // INVALID_IMAGE_FILE.
- ImageError *ImageError `json:"imageError,omitempty"`
-
- // ObjParseError: An optional OBJ parse error. Only present for
- // OBJ_PARSE_ERROR.
- ObjParseError *ObjParseError `json:"objParseError,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Code") to
- // unconditionally include in API requests. By default, fields with
- // empty values are omitted from API requests. However, any non-pointer,
- // non-interface field appearing in ForceSendFields will be sent to the
- // server regardless of whether the field is empty or not. This may be
- // used to include empty fields in Patch requests.
- ForceSendFields []string `json:"-"`
-
- // NullFields is a list of field names (e.g. "Code") to include in API
- // requests with the JSON null value. By default, fields with empty
- // values are omitted from API requests. However, any field with an
- // empty value appearing in NullFields will be sent to the server as
- // null. It is an error if a field in this list has a non-empty value.
- // This may be used to include null fields in Patch requests.
- NullFields []string `json:"-"`
- }
-
- func (s *AssetImportMessage) MarshalJSON() ([]byte, error) {
- type NoMethod AssetImportMessage
- 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)
- }
-
- // ImageError: A message resulting from reading an image file.
- type ImageError struct {
- // Code: The type of image error encountered. Optional for older image
- // errors.
- //
- // Possible values:
- // "CODE_UNSPECIFIED" - Unknown error code.
- // "INVALID_IMAGE" - We were unable to read the image file.
- // "IMAGE_TOO_BIG" - The image size is too large.
- // "WRONG_IMAGE_TYPE" - The image data does not match the expected
- // MIME type of the image.
- Code string `json:"code,omitempty"`
-
- // FilePath: The file path in the import of the image that was rejected.
- FilePath string `json:"filePath,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Code") to
- // unconditionally include in API requests. By default, fields with
- // empty values are omitted from API requests. However, any non-pointer,
- // non-interface field appearing in ForceSendFields will be sent to the
- // server regardless of whether the field is empty or not. This may be
- // used to include empty fields in Patch requests.
- ForceSendFields []string `json:"-"`
-
- // NullFields is a list of field names (e.g. "Code") to include in API
- // requests with the JSON null value. By default, fields with empty
- // values are omitted from API requests. However, any field with an
- // empty value appearing in NullFields will be sent to the server as
- // null. It is an error if a field in this list has a non-empty value.
- // This may be used to include null fields in Patch requests.
- NullFields []string `json:"-"`
- }
-
- func (s *ImageError) MarshalJSON() ([]byte, error) {
- type NoMethod ImageError
- 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)
- }
-
- // ObjParseError: Details of an error resulting from parsing an OBJ file
- type ObjParseError struct {
- // Code: The type of problem found (required).
- //
- // Possible values:
- // "CODE_UNSPECIFIED" - Unknown error code.
- // "INCONSISTENT_VERTEX_REFS" - Vertex references are specified in an
- // inconsistent style for a face (e.g.
- // some vertices specify texture vertices but some don't).
- // "INVALID_COMMAND" - The command is invalid.
- // "INVALID_NUMBER" - A invalid number was specified.
- // "INVALID_VERTEX_REF" - An invalid vertex reference was specified.
- // "MISSING_GEOMETRIC_VERTEX" - A vertex reference does not specify a
- // geometric vertex.
- // "MISSING_TOKEN" - An expected token was not found.
- // "TOO_FEW_DIMENSIONS" - The vertex specified too few dimensions for
- // its usage.
- // "TOO_FEW_VERTICES" - The face specified too few vertices.
- // "TOO_MANY_DIMENSIONS" - The vertex specified too many dimensions
- // for its usage.
- // "UNSUPPORTED_COMMAND" - This command is a valid OBJ command but is
- // not supported. This error is
- // only generated for the first instance of such a command.
- // "UNUSED_TOKENS" - This line ended with unparsed token characters.
- // "VERTEX_NOT_FOUND" - The specified vertex was not found.
- // "NUMBER_OUT_OF_RANGE" - The specified number was too large or small
- // for its usage.
- // "INVALID_VALUE" - The specified parameter value was not recognized.
- // "INVALID_TEXTURE_OPTION" - The specified texture option is not
- // valid.
- // "TOO_MANY_PROBLEMS" - The maximum number of problems to report was
- // reached. Parsing continues,
- // but further problems will be ignored.
- // "MISSING_FILE_NAME" - An expected file name was not specified.
- // "FILE_NOT_FOUND" - The specified file was not found in the import.
- // "UNKNOWN_MATERIAL" - The specified material was not found in any
- // material definition in the
- // import.
- // "NO_MATERIAL_DEFINED" - Material parameters were specified before
- // the first material definition.
- // "INVALID_SMOOTHING_GROUP" - The smoothing group is not valid.
- // "MISSING_VERTEX_COLORS" - Vertex colors were specified for only
- // some vertices of a face.
- // "FILE_SUBSTITUTION" - A missing file was found at a different file
- // path.
- // "LINE_TOO_LONG" - A line in an OBJ or MTL file exceeded the maximum
- // line length.
- // "INVALID_FILE_PATH" - The file path was invalid. Only relative
- // paths are supported.
- Code string `json:"code,omitempty"`
-
- // EndIndex: The ending character index at which the problem was found.
- EndIndex int64 `json:"endIndex,omitempty"`
-
- // FilePath: The file path in which the problem was found.
- FilePath string `json:"filePath,omitempty"`
-
- // Line: The text of the line. Note that this may be truncated if the
- // line was very
- // long. This may not include the error if it occurs after line
- // truncation.
- Line string `json:"line,omitempty"`
-
- // LineNumber: Line number at which the problem was found.
- LineNumber int64 `json:"lineNumber,omitempty"`
-
- // StartIndex: The starting character index at which the problem was
- // found.
- StartIndex int64 `json:"startIndex,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Code") to
- // unconditionally include in API requests. By default, fields with
- // empty values are omitted from API requests. However, any non-pointer,
- // non-interface field appearing in ForceSendFields will be sent to the
- // server regardless of whether the field is empty or not. This may be
- // used to include empty fields in Patch requests.
- ForceSendFields []string `json:"-"`
-
- // NullFields is a list of field names (e.g. "Code") to include in API
- // requests with the JSON null value. By default, fields with empty
- // values are omitted from API requests. However, any field with an
- // empty value appearing in NullFields will be sent to the server as
- // null. It is an error if a field in this list has a non-empty value.
- // This may be used to include null fields in Patch requests.
- NullFields []string `json:"-"`
- }
-
- func (s *ObjParseError) MarshalJSON() ([]byte, error) {
- type NoMethod ObjParseError
- 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 {
- // BackgroundColor: A background color which could be used for
- // displaying the 3D asset in a
- // 'thumbnail' or 'palette' style view. Authors have the option to set
- // this
- // background color when publishing or editing their asset.
- //
- // This is represented as a six-digit hexademical triplet specifying
- // the
- // RGB components of the background color, e.g. #FF0000 for Red.
- BackgroundColor string `json:"backgroundColor,omitempty"`
-
- // 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. "BackgroundColor") 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. "BackgroundColor") 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
- }
-
- // StartAssetImportResponse: A response message from a request to
- // list.
- // This is returned in the response field of the Operation.
- type StartAssetImportResponse struct {
- // AssetId: The id of newly created asset. If this is empty when the
- // operation is
- // complete it means the import failed. Please refer to
- // the
- // asset_import_message field to understand what went wrong.
- AssetId string `json:"assetId,omitempty"`
-
- // AssetImportId: The id of the asset import.
- AssetImportId string `json:"assetImportId,omitempty"`
-
- // AssetImportMessages: The message from the asset import. This will
- // contain any warnings
- // (or - in the case of failure - errors) that occurred during import.
- AssetImportMessages []*AssetImportMessage `json:"assetImportMessages,omitempty"`
-
- // PublishUrl: The publish URL for the asset.
- PublishUrl string `json:"publishUrl,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "AssetId") 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. "AssetId") 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 *StartAssetImportResponse) MarshalJSON() ([]byte, error) {
- type NoMethod StartAssetImportResponse
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
- }
-
- // 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)
- }
- }
|