blob: e2ab62621818817b1535645f27dafba6eb8379a7 [file] [log] [blame]
// Copyright 2019 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package poly provides access to the Poly API.
//
// For product documentation, see: https://developers.google.com/poly/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/poly/v1"
// ...
// ctx := context.Background()
// polyService, err := poly.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// polyService, err := poly.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// polyService, err := poly.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package poly // import "google.golang.org/api/poly/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "poly:v1"
const apiName = "poly"
const apiVersion = "v1"
const basePath = "https://poly.googleapis.com/"
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.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"`
// RemixInfo: The remix info for the asset.
RemixInfo *RemixInfo `json:"remixInfo,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
}
// RemixInfo: Info about the sources of this asset (i.e. assets that
// were remixed to
// create this asset).
type RemixInfo struct {
// SourceAsset: Resource ids for the sources of this remix, of the
// form:
// `assets/{ASSET_ID}`
SourceAsset []string `json:"sourceAsset,omitempty"`
// ForceSendFields is a list of field names (e.g. "SourceAsset") 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. "SourceAsset") 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 *RemixInfo) MarshalJSON() ([]byte, error) {
type NoMethod RemixInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// StartAssetImportResponse: A response message from a request
// to
// startImport. 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
// assetImportMessages 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)
reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191123")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "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\n 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)
reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191123")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/assets")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "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\nof PUBLIC 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`,\n`scenes`, `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\nnext_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)
reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191123")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/assets")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "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\nVISIBILITY_UNSPECIFIED\nwhich 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)
reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191123")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/likedassets")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "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)
}
}