blob: 0fde3da4bb09e2aa4d8fbefef309db21b939da14 [file] [log] [blame]
// Copyright 2020 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 drive provides access to the Drive API.
//
// For product documentation, see: https://developers.google.com/drive/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/drive/v3"
// ...
// ctx := context.Background()
// driveService, err := drive.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
//
// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
//
// driveService, err := drive.NewService(ctx, option.WithScopes(drive.DriveScriptsScope))
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// driveService, err := drive.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, ...)
// driveService, err := drive.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package drive // import "google.golang.org/api/drive/v3"
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"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
const apiId = "drive:v3"
const apiName = "drive"
const apiVersion = "v3"
const basePath = "https://www.googleapis.com/drive/v3/"
// OAuth2 scopes used by this API.
const (
// See, edit, create, and delete all of your Google Drive files
DriveScope = "https://www.googleapis.com/auth/drive"
// View and manage its own configuration data in your Google Drive
DriveAppdataScope = "https://www.googleapis.com/auth/drive.appdata"
// View and manage Google Drive files and folders that you have opened
// or created with this app
DriveFileScope = "https://www.googleapis.com/auth/drive.file"
// View and manage metadata of files in your Google Drive
DriveMetadataScope = "https://www.googleapis.com/auth/drive.metadata"
// View metadata for files in your Google Drive
DriveMetadataReadonlyScope = "https://www.googleapis.com/auth/drive.metadata.readonly"
// View the photos, videos and albums in your Google Photos
DrivePhotosReadonlyScope = "https://www.googleapis.com/auth/drive.photos.readonly"
// See and download all your Google Drive files
DriveReadonlyScope = "https://www.googleapis.com/auth/drive.readonly"
// Modify your Google Apps Script scripts' behavior
DriveScriptsScope = "https://www.googleapis.com/auth/drive.scripts"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/drive.appdata",
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive.metadata",
"https://www.googleapis.com/auth/drive.metadata.readonly",
"https://www.googleapis.com/auth/drive.photos.readonly",
"https://www.googleapis.com/auth/drive.readonly",
"https://www.googleapis.com/auth/drive.scripts",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
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.About = NewAboutService(s)
s.Changes = NewChangesService(s)
s.Channels = NewChannelsService(s)
s.Comments = NewCommentsService(s)
s.Drives = NewDrivesService(s)
s.Files = NewFilesService(s)
s.Permissions = NewPermissionsService(s)
s.Replies = NewRepliesService(s)
s.Revisions = NewRevisionsService(s)
s.Teamdrives = NewTeamdrivesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
About *AboutService
Changes *ChangesService
Channels *ChannelsService
Comments *CommentsService
Drives *DrivesService
Files *FilesService
Permissions *PermissionsService
Replies *RepliesService
Revisions *RevisionsService
Teamdrives *TeamdrivesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewAboutService(s *Service) *AboutService {
rs := &AboutService{s: s}
return rs
}
type AboutService struct {
s *Service
}
func NewChangesService(s *Service) *ChangesService {
rs := &ChangesService{s: s}
return rs
}
type ChangesService struct {
s *Service
}
func NewChannelsService(s *Service) *ChannelsService {
rs := &ChannelsService{s: s}
return rs
}
type ChannelsService struct {
s *Service
}
func NewCommentsService(s *Service) *CommentsService {
rs := &CommentsService{s: s}
return rs
}
type CommentsService struct {
s *Service
}
func NewDrivesService(s *Service) *DrivesService {
rs := &DrivesService{s: s}
return rs
}
type DrivesService struct {
s *Service
}
func NewFilesService(s *Service) *FilesService {
rs := &FilesService{s: s}
return rs
}
type FilesService struct {
s *Service
}
func NewPermissionsService(s *Service) *PermissionsService {
rs := &PermissionsService{s: s}
return rs
}
type PermissionsService struct {
s *Service
}
func NewRepliesService(s *Service) *RepliesService {
rs := &RepliesService{s: s}
return rs
}
type RepliesService struct {
s *Service
}
func NewRevisionsService(s *Service) *RevisionsService {
rs := &RevisionsService{s: s}
return rs
}
type RevisionsService struct {
s *Service
}
func NewTeamdrivesService(s *Service) *TeamdrivesService {
rs := &TeamdrivesService{s: s}
return rs
}
type TeamdrivesService struct {
s *Service
}
// About: Information about the user, the user's Drive, and system
// capabilities.
type About struct {
// AppInstalled: Whether the user has installed the requesting app.
AppInstalled bool `json:"appInstalled,omitempty"`
// CanCreateDrives: Whether the user can create shared drives.
CanCreateDrives bool `json:"canCreateDrives,omitempty"`
// CanCreateTeamDrives: Deprecated - use canCreateDrives instead.
CanCreateTeamDrives bool `json:"canCreateTeamDrives,omitempty"`
// DriveThemes: A list of themes that are supported for shared drives.
DriveThemes []*AboutDriveThemes `json:"driveThemes,omitempty"`
// ExportFormats: A map of source MIME type to possible targets for all
// supported exports.
ExportFormats map[string][]string `json:"exportFormats,omitempty"`
// FolderColorPalette: The currently supported folder colors as RGB hex
// strings.
FolderColorPalette []string `json:"folderColorPalette,omitempty"`
// ImportFormats: A map of source MIME type to possible targets for all
// supported imports.
ImportFormats map[string][]string `json:"importFormats,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#about".
Kind string `json:"kind,omitempty"`
// MaxImportSizes: A map of maximum import sizes by MIME type, in bytes.
MaxImportSizes map[string]string `json:"maxImportSizes,omitempty"`
// MaxUploadSize: The maximum upload size in bytes.
MaxUploadSize int64 `json:"maxUploadSize,omitempty,string"`
// StorageQuota: The user's storage quota limits and usage. All fields
// are measured in bytes.
StorageQuota *AboutStorageQuota `json:"storageQuota,omitempty"`
// TeamDriveThemes: Deprecated - use driveThemes instead.
TeamDriveThemes []*AboutTeamDriveThemes `json:"teamDriveThemes,omitempty"`
// User: The authenticated user.
User *User `json:"user,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AppInstalled") 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. "AppInstalled") 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 *About) MarshalJSON() ([]byte, error) {
type NoMethod About
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AboutDriveThemes struct {
// BackgroundImageLink: A link to this theme's background image.
BackgroundImageLink string `json:"backgroundImageLink,omitempty"`
// ColorRgb: The color of this theme as an RGB hex string.
ColorRgb string `json:"colorRgb,omitempty"`
// Id: The ID of the theme.
Id string `json:"id,omitempty"`
// ForceSendFields is a list of field names (e.g. "BackgroundImageLink")
// 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. "BackgroundImageLink") 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 *AboutDriveThemes) MarshalJSON() ([]byte, error) {
type NoMethod AboutDriveThemes
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AboutStorageQuota: The user's storage quota limits and usage. All
// fields are measured in bytes.
type AboutStorageQuota struct {
// Limit: The usage limit, if applicable. This will not be present if
// the user has unlimited storage.
Limit int64 `json:"limit,omitempty,string"`
// Usage: The total usage across all services.
Usage int64 `json:"usage,omitempty,string"`
// UsageInDrive: The usage by all files in Google Drive.
UsageInDrive int64 `json:"usageInDrive,omitempty,string"`
// UsageInDriveTrash: The usage by trashed files in Google Drive.
UsageInDriveTrash int64 `json:"usageInDriveTrash,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Limit") 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. "Limit") 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 *AboutStorageQuota) MarshalJSON() ([]byte, error) {
type NoMethod AboutStorageQuota
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AboutTeamDriveThemes struct {
// BackgroundImageLink: Deprecated - use driveThemes/backgroundImageLink
// instead.
BackgroundImageLink string `json:"backgroundImageLink,omitempty"`
// ColorRgb: Deprecated - use driveThemes/colorRgb instead.
ColorRgb string `json:"colorRgb,omitempty"`
// Id: Deprecated - use driveThemes/id instead.
Id string `json:"id,omitempty"`
// ForceSendFields is a list of field names (e.g. "BackgroundImageLink")
// 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. "BackgroundImageLink") 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 *AboutTeamDriveThemes) MarshalJSON() ([]byte, error) {
type NoMethod AboutTeamDriveThemes
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Change: A change to a file or shared drive.
type Change struct {
// ChangeType: The type of the change. Possible values are file and
// drive.
ChangeType string `json:"changeType,omitempty"`
// Drive: The updated state of the shared drive. Present if the
// changeType is drive, the user is still a member of the shared drive,
// and the shared drive has not been deleted.
Drive *Drive `json:"drive,omitempty"`
// DriveId: The ID of the shared drive associated with this change.
DriveId string `json:"driveId,omitempty"`
// File: The updated state of the file. Present if the type is file and
// the file has not been removed from this list of changes.
File *File `json:"file,omitempty"`
// FileId: The ID of the file which has changed.
FileId string `json:"fileId,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#change".
Kind string `json:"kind,omitempty"`
// Removed: Whether the file or shared drive has been removed from this
// list of changes, for example by deletion or loss of access.
Removed bool `json:"removed,omitempty"`
// TeamDrive: Deprecated - use drive instead.
TeamDrive *TeamDrive `json:"teamDrive,omitempty"`
// TeamDriveId: Deprecated - use driveId instead.
TeamDriveId string `json:"teamDriveId,omitempty"`
// Time: The time of this change (RFC 3339 date-time).
Time string `json:"time,omitempty"`
// Type: Deprecated - use changeType instead.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "ChangeType") 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. "ChangeType") 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 *Change) MarshalJSON() ([]byte, error) {
type NoMethod Change
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChangeList: A list of changes for a user.
type ChangeList struct {
// Changes: The list of changes. If nextPageToken is populated, then
// this list may be incomplete and an additional page of results should
// be fetched.
Changes []*Change `json:"changes,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#changeList".
Kind string `json:"kind,omitempty"`
// NewStartPageToken: The starting page token for future changes. This
// will be present only if the end of the current changes list has been
// reached.
NewStartPageToken string `json:"newStartPageToken,omitempty"`
// NextPageToken: The page token for the next page of changes. This will
// be absent if the end of the changes list has been reached. If the
// token is rejected for any reason, it should be discarded, and
// pagination should be restarted from the first page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Changes") 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. "Changes") 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 *ChangeList) MarshalJSON() ([]byte, error) {
type NoMethod ChangeList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Channel: An notification channel used to watch for resource changes.
type Channel struct {
// Address: The address where notifications are delivered for this
// channel.
Address string `json:"address,omitempty"`
// Expiration: Date and time of notification channel expiration,
// expressed as a Unix timestamp, in milliseconds. Optional.
Expiration int64 `json:"expiration,omitempty,string"`
// Id: A UUID or similar unique string that identifies this channel.
Id string `json:"id,omitempty"`
// Kind: Identifies this as a notification channel used to watch for
// changes to a resource, which is "api#channel".
Kind string `json:"kind,omitempty"`
// Params: Additional parameters controlling delivery channel behavior.
// Optional.
Params map[string]string `json:"params,omitempty"`
// Payload: A Boolean value to indicate whether payload is wanted.
// Optional.
Payload bool `json:"payload,omitempty"`
// ResourceId: An opaque ID that identifies the resource being watched
// on this channel. Stable across different API versions.
ResourceId string `json:"resourceId,omitempty"`
// ResourceUri: A version-specific identifier for the watched resource.
ResourceUri string `json:"resourceUri,omitempty"`
// Token: An arbitrary string delivered to the target address with each
// notification delivered over this channel. Optional.
Token string `json:"token,omitempty"`
// Type: The type of delivery mechanism used for this channel.
Type string `json:"type,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Address") 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. "Address") 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 *Channel) MarshalJSON() ([]byte, error) {
type NoMethod Channel
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Comment: A comment on a file.
type Comment struct {
// Anchor: A region of the document represented as a JSON string. See
// anchor documentation for details on how to define and interpret
// anchor properties.
Anchor string `json:"anchor,omitempty"`
// Author: The author of the comment. The author's email address and
// permission ID will not be populated.
Author *User `json:"author,omitempty"`
// Content: The plain text content of the comment. This field is used
// for setting the content, while htmlContent should be displayed.
Content string `json:"content,omitempty"`
// CreatedTime: The time at which the comment was created (RFC 3339
// date-time).
CreatedTime string `json:"createdTime,omitempty"`
// Deleted: Whether the comment has been deleted. A deleted comment has
// no content.
Deleted bool `json:"deleted,omitempty"`
// HtmlContent: The content of the comment with HTML formatting.
HtmlContent string `json:"htmlContent,omitempty"`
// Id: The ID of the comment.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#comment".
Kind string `json:"kind,omitempty"`
// ModifiedTime: The last time the comment or any of its replies was
// modified (RFC 3339 date-time).
ModifiedTime string `json:"modifiedTime,omitempty"`
// QuotedFileContent: The file content to which the comment refers,
// typically within the anchor region. For a text file, for example,
// this would be the text at the location of the comment.
QuotedFileContent *CommentQuotedFileContent `json:"quotedFileContent,omitempty"`
// Replies: The full list of replies to the comment in chronological
// order.
Replies []*Reply `json:"replies,omitempty"`
// Resolved: Whether the comment has been resolved by one of its
// replies.
Resolved bool `json:"resolved,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Anchor") 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. "Anchor") 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 *Comment) MarshalJSON() ([]byte, error) {
type NoMethod Comment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommentQuotedFileContent: The file content to which the comment
// refers, typically within the anchor region. For a text file, for
// example, this would be the text at the location of the comment.
type CommentQuotedFileContent struct {
// MimeType: The MIME type of the quoted content.
MimeType string `json:"mimeType,omitempty"`
// Value: The quoted content itself. This is interpreted as plain text
// if set through the API.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "MimeType") 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. "MimeType") 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 *CommentQuotedFileContent) MarshalJSON() ([]byte, error) {
type NoMethod CommentQuotedFileContent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommentList: A list of comments on a file.
type CommentList struct {
// Comments: The list of comments. If nextPageToken is populated, then
// this list may be incomplete and an additional page of results should
// be fetched.
Comments []*Comment `json:"comments,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#commentList".
Kind string `json:"kind,omitempty"`
// NextPageToken: The page token for the next page of comments. This
// will be absent if the end of the comments list has been reached. If
// the token is rejected for any reason, it should be discarded, and
// pagination should be restarted from the first page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Comments") 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. "Comments") 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 *CommentList) MarshalJSON() ([]byte, error) {
type NoMethod CommentList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContentRestriction: A restriction for accessing the content of the
// file.
type ContentRestriction struct {
// ReadOnly: Whether the content of the file is read-only. If a file is
// read-only, a new revision of the file may not be added, comments may
// not be added or modified, and the title of the file may not be
// modified.
ReadOnly bool `json:"readOnly,omitempty"`
// Reason: Reason for why the content of the file is restricted. This is
// only mutable on requests that also set readOnly=true.
Reason string `json:"reason,omitempty"`
// RestrictingUser: The user who set the content restriction. Only
// populated if readOnly is true.
RestrictingUser *User `json:"restrictingUser,omitempty"`
// RestrictionTime: The time at which the content restriction was set
// (formatted RFC 3339 timestamp). Only populated if readOnly is true.
RestrictionTime string `json:"restrictionTime,omitempty"`
// Type: The type of the content restriction. Currently the only
// possible value is globalContentRestriction.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "ReadOnly") 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. "ReadOnly") 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 *ContentRestriction) MarshalJSON() ([]byte, error) {
type NoMethod ContentRestriction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Drive: Representation of a shared drive.
type Drive struct {
// BackgroundImageFile: An image file and cropping parameters from which
// a background image for this shared drive is set. This is a write only
// field; it can only be set on drive.drives.update requests that don't
// set themeId. When specified, all fields of the backgroundImageFile
// must be set.
BackgroundImageFile *DriveBackgroundImageFile `json:"backgroundImageFile,omitempty"`
// BackgroundImageLink: A short-lived link to this shared drive's
// background image.
BackgroundImageLink string `json:"backgroundImageLink,omitempty"`
// Capabilities: Capabilities the current user has on this shared drive.
Capabilities *DriveCapabilities `json:"capabilities,omitempty"`
// ColorRgb: The color of this shared drive as an RGB hex string. It can
// only be set on a drive.drives.update request that does not set
// themeId.
ColorRgb string `json:"colorRgb,omitempty"`
// CreatedTime: The time at which the shared drive was created (RFC 3339
// date-time).
CreatedTime string `json:"createdTime,omitempty"`
// Hidden: Whether the shared drive is hidden from default view.
Hidden bool `json:"hidden,omitempty"`
// Id: The ID of this shared drive which is also the ID of the top level
// folder of this shared drive.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#drive".
Kind string `json:"kind,omitempty"`
// Name: The name of this shared drive.
Name string `json:"name,omitempty"`
// Restrictions: A set of restrictions that apply to this shared drive
// or items inside this shared drive.
Restrictions *DriveRestrictions `json:"restrictions,omitempty"`
// ThemeId: The ID of the theme from which the background image and
// color will be set. The set of possible driveThemes can be retrieved
// from a drive.about.get response. When not specified on a
// drive.drives.create request, a random theme is chosen from which the
// background image and color are set. This is a write-only field; it
// can only be set on requests that don't set colorRgb or
// backgroundImageFile.
ThemeId string `json:"themeId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "BackgroundImageFile")
// 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. "BackgroundImageFile") 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 *Drive) MarshalJSON() ([]byte, error) {
type NoMethod Drive
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DriveBackgroundImageFile: An image file and cropping parameters from
// which a background image for this shared drive is set. This is a
// write only field; it can only be set on drive.drives.update requests
// that don't set themeId. When specified, all fields of the
// backgroundImageFile must be set.
type DriveBackgroundImageFile struct {
// Id: The ID of an image file in Google Drive to use for the background
// image.
Id string `json:"id,omitempty"`
// Width: The width of the cropped image in the closed range of 0 to 1.
// This value represents the width of the cropped image divided by the
// width of the entire image. The height is computed by applying a width
// to height aspect ratio of 80 to 9. The resulting image must be at
// least 1280 pixels wide and 144 pixels high.
Width float64 `json:"width,omitempty"`
// XCoordinate: The X coordinate of the upper left corner of the
// cropping area in the background image. This is a value in the closed
// range of 0 to 1. This value represents the horizontal distance from
// the left side of the entire image to the left side of the cropping
// area divided by the width of the entire image.
XCoordinate float64 `json:"xCoordinate,omitempty"`
// YCoordinate: The Y coordinate of the upper left corner of the
// cropping area in the background image. This is a value in the closed
// range of 0 to 1. This value represents the vertical distance from the
// top side of the entire image to the top side of the cropping area
// divided by the height of the entire image.
YCoordinate float64 `json:"yCoordinate,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *DriveBackgroundImageFile) MarshalJSON() ([]byte, error) {
type NoMethod DriveBackgroundImageFile
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *DriveBackgroundImageFile) UnmarshalJSON(data []byte) error {
type NoMethod DriveBackgroundImageFile
var s1 struct {
Width gensupport.JSONFloat64 `json:"width"`
XCoordinate gensupport.JSONFloat64 `json:"xCoordinate"`
YCoordinate gensupport.JSONFloat64 `json:"yCoordinate"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Width = float64(s1.Width)
s.XCoordinate = float64(s1.XCoordinate)
s.YCoordinate = float64(s1.YCoordinate)
return nil
}
// DriveCapabilities: Capabilities the current user has on this shared
// drive.
type DriveCapabilities struct {
// CanAddChildren: Whether the current user can add children to folders
// in this shared drive.
CanAddChildren bool `json:"canAddChildren,omitempty"`
// CanChangeCopyRequiresWriterPermissionRestriction: Whether the current
// user can change the copyRequiresWriterPermission restriction of this
// shared drive.
CanChangeCopyRequiresWriterPermissionRestriction bool `json:"canChangeCopyRequiresWriterPermissionRestriction,omitempty"`
// CanChangeDomainUsersOnlyRestriction: Whether the current user can
// change the domainUsersOnly restriction of this shared drive.
CanChangeDomainUsersOnlyRestriction bool `json:"canChangeDomainUsersOnlyRestriction,omitempty"`
// CanChangeDriveBackground: Whether the current user can change the
// background of this shared drive.
CanChangeDriveBackground bool `json:"canChangeDriveBackground,omitempty"`
// CanChangeDriveMembersOnlyRestriction: Whether the current user can
// change the driveMembersOnly restriction of this shared drive.
CanChangeDriveMembersOnlyRestriction bool `json:"canChangeDriveMembersOnlyRestriction,omitempty"`
// CanComment: Whether the current user can comment on files in this
// shared drive.
CanComment bool `json:"canComment,omitempty"`
// CanCopy: Whether the current user can copy files in this shared
// drive.
CanCopy bool `json:"canCopy,omitempty"`
// CanDeleteChildren: Whether the current user can delete children from
// folders in this shared drive.
CanDeleteChildren bool `json:"canDeleteChildren,omitempty"`
// CanDeleteDrive: Whether the current user can delete this shared
// drive. Attempting to delete the shared drive may still fail if there
// are untrashed items inside the shared drive.
CanDeleteDrive bool `json:"canDeleteDrive,omitempty"`
// CanDownload: Whether the current user can download files in this
// shared drive.
CanDownload bool `json:"canDownload,omitempty"`
// CanEdit: Whether the current user can edit files in this shared drive
CanEdit bool `json:"canEdit,omitempty"`
// CanListChildren: Whether the current user can list the children of
// folders in this shared drive.
CanListChildren bool `json:"canListChildren,omitempty"`
// CanManageMembers: Whether the current user can add members to this
// shared drive or remove them or change their role.
CanManageMembers bool `json:"canManageMembers,omitempty"`
// CanReadRevisions: Whether the current user can read the revisions
// resource of files in this shared drive.
CanReadRevisions bool `json:"canReadRevisions,omitempty"`
// CanRename: Whether the current user can rename files or folders in
// this shared drive.
CanRename bool `json:"canRename,omitempty"`
// CanRenameDrive: Whether the current user can rename this shared
// drive.
CanRenameDrive bool `json:"canRenameDrive,omitempty"`
// CanShare: Whether the current user can share files or folders in this
// shared drive.
CanShare bool `json:"canShare,omitempty"`
// CanTrashChildren: Whether the current user can trash children from
// folders in this shared drive.
CanTrashChildren bool `json:"canTrashChildren,omitempty"`
// ForceSendFields is a list of field names (e.g. "CanAddChildren") 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. "CanAddChildren") 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 *DriveCapabilities) MarshalJSON() ([]byte, error) {
type NoMethod DriveCapabilities
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DriveRestrictions: A set of restrictions that apply to this shared
// drive or items inside this shared drive.
type DriveRestrictions struct {
// AdminManagedRestrictions: Whether administrative privileges on this
// shared drive are required to modify restrictions.
AdminManagedRestrictions bool `json:"adminManagedRestrictions,omitempty"`
// CopyRequiresWriterPermission: Whether the options to copy, print, or
// download files inside this shared drive, should be disabled for
// readers and commenters. When this restriction is set to true, it will
// override the similarly named field to true for any file inside this
// shared drive.
CopyRequiresWriterPermission bool `json:"copyRequiresWriterPermission,omitempty"`
// DomainUsersOnly: Whether access to this shared drive and items inside
// this shared drive is restricted to users of the domain to which this
// shared drive belongs. This restriction may be overridden by other
// sharing policies controlled outside of this shared drive.
DomainUsersOnly bool `json:"domainUsersOnly,omitempty"`
// DriveMembersOnly: Whether access to items inside this shared drive is
// restricted to its members.
DriveMembersOnly bool `json:"driveMembersOnly,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AdminManagedRestrictions") 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. "AdminManagedRestrictions")
// 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 *DriveRestrictions) MarshalJSON() ([]byte, error) {
type NoMethod DriveRestrictions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DriveList: A list of shared drives.
type DriveList struct {
// Drives: The list of shared drives. If nextPageToken is populated,
// then this list may be incomplete and an additional page of results
// should be fetched.
Drives []*Drive `json:"drives,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#driveList".
Kind string `json:"kind,omitempty"`
// NextPageToken: The page token for the next page of shared drives.
// This will be absent if the end of the list has been reached. If the
// token is rejected for any reason, it should be discarded, and
// pagination should be restarted from the first page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Drives") 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. "Drives") 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 *DriveList) MarshalJSON() ([]byte, error) {
type NoMethod DriveList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// File: The metadata for a file.
type File struct {
// AppProperties: A collection of arbitrary key-value pairs which are
// private to the requesting app.
// Entries with null values are cleared in update and copy requests.
AppProperties map[string]string `json:"appProperties,omitempty"`
// Capabilities: Capabilities the current user has on this file. Each
// capability corresponds to a fine-grained action that a user may take.
Capabilities *FileCapabilities `json:"capabilities,omitempty"`
// ContentHints: Additional information about the content of the file.
// These fields are never populated in responses.
ContentHints *FileContentHints `json:"contentHints,omitempty"`
// ContentRestrictions: Restrictions for accessing the content of the
// file. Only populated if such a restriction exists.
ContentRestrictions []*ContentRestriction `json:"contentRestrictions,omitempty"`
// CopyRequiresWriterPermission: Whether the options to copy, print, or
// download this file, should be disabled for readers and commenters.
CopyRequiresWriterPermission bool `json:"copyRequiresWriterPermission,omitempty"`
// CreatedTime: The time at which the file was created (RFC 3339
// date-time).
CreatedTime string `json:"createdTime,omitempty"`
// Description: A short description of the file.
Description string `json:"description,omitempty"`
// DriveId: ID of the shared drive the file resides in. Only populated
// for items in shared drives.
DriveId string `json:"driveId,omitempty"`
// ExplicitlyTrashed: Whether the file has been explicitly trashed, as
// opposed to recursively trashed from a parent folder.
ExplicitlyTrashed bool `json:"explicitlyTrashed,omitempty"`
// ExportLinks: Links for exporting Google Docs to specific formats.
ExportLinks map[string]string `json:"exportLinks,omitempty"`
// FileExtension: The final component of fullFileExtension. This is only
// available for files with binary content in Google Drive.
FileExtension string `json:"fileExtension,omitempty"`
// FolderColorRgb: The color for a folder as an RGB hex string. The
// supported colors are published in the folderColorPalette field of the
// About resource.
// If an unsupported color is specified, the closest color in the
// palette will be used instead.
FolderColorRgb string `json:"folderColorRgb,omitempty"`
// FullFileExtension: The full file extension extracted from the name
// field. May contain multiple concatenated extensions, such as
// "tar.gz". This is only available for files with binary content in
// Google Drive.
// This is automatically updated when the name field changes, however it
// is not cleared if the new name does not contain a valid extension.
FullFileExtension string `json:"fullFileExtension,omitempty"`
// HasAugmentedPermissions: Whether there are permissions directly on
// this file. This field is only populated for items in shared drives.
HasAugmentedPermissions bool `json:"hasAugmentedPermissions,omitempty"`
// HasThumbnail: Whether this file has a thumbnail. This does not
// indicate whether the requesting app has access to the thumbnail. To
// check access, look for the presence of the thumbnailLink field.
HasThumbnail bool `json:"hasThumbnail,omitempty"`
// HeadRevisionId: The ID of the file's head revision. This is currently
// only available for files with binary content in Google Drive.
HeadRevisionId string `json:"headRevisionId,omitempty"`
// IconLink: A static, unauthenticated link to the file's icon.
IconLink string `json:"iconLink,omitempty"`
// Id: The ID of the file.
Id string `json:"id,omitempty"`
// ImageMediaMetadata: Additional metadata about image media, if
// available.
ImageMediaMetadata *FileImageMediaMetadata `json:"imageMediaMetadata,omitempty"`
// IsAppAuthorized: Whether the file was created or opened by the
// requesting app.
IsAppAuthorized bool `json:"isAppAuthorized,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#file".
Kind string `json:"kind,omitempty"`
// LastModifyingUser: The last user to modify the file.
LastModifyingUser *User `json:"lastModifyingUser,omitempty"`
// Md5Checksum: The MD5 checksum for the content of the file. This is
// only applicable to files with binary content in Google Drive.
Md5Checksum string `json:"md5Checksum,omitempty"`
// MimeType: The MIME type of the file.
// Google Drive will attempt to automatically detect an appropriate
// value from uploaded content if no value is provided. The value cannot
// be changed unless a new revision is uploaded.
// If a file is created with a Google Doc MIME type, the uploaded
// content will be imported if possible. The supported import formats
// are published in the About resource.
MimeType string `json:"mimeType,omitempty"`
// ModifiedByMe: Whether the file has been modified by this user.
ModifiedByMe bool `json:"modifiedByMe,omitempty"`
// ModifiedByMeTime: The last time the file was modified by the user
// (RFC 3339 date-time).
ModifiedByMeTime string `json:"modifiedByMeTime,omitempty"`
// ModifiedTime: The last time the file was modified by anyone (RFC 3339
// date-time).
// Note that setting modifiedTime will also update modifiedByMeTime for
// the user.
ModifiedTime string `json:"modifiedTime,omitempty"`
// Name: The name of the file. This is not necessarily unique within a
// folder. Note that for immutable items such as the top level folders
// of shared drives, My Drive root folder, and Application Data folder
// the name is constant.
Name string `json:"name,omitempty"`
// OriginalFilename: The original filename of the uploaded content if
// available, or else the original value of the name field. This is only
// available for files with binary content in Google Drive.
OriginalFilename string `json:"originalFilename,omitempty"`
// OwnedByMe: Whether the user owns the file. Not populated for items in
// shared drives.
OwnedByMe bool `json:"ownedByMe,omitempty"`
// Owners: The owners of the file. Currently, only certain legacy files
// may have more than one owner. Not populated for items in shared
// drives.
Owners []*User `json:"owners,omitempty"`
// Parents: The IDs of the parent folders which contain the file.
// If not specified as part of a create request, the file will be placed
// directly in the user's My Drive folder. If not specified as part of a
// copy request, the file will inherit any discoverable parents of the
// source file. Update requests must use the addParents and
// removeParents parameters to modify the parents list.
Parents []string `json:"parents,omitempty"`
// PermissionIds: List of permission IDs for users with access to this
// file.
PermissionIds []string `json:"permissionIds,omitempty"`
// Permissions: The full list of permissions for the file. This is only
// available if the requesting user can share the file. Not populated
// for items in shared drives.
Permissions []*Permission `json:"permissions,omitempty"`
// Properties: A collection of arbitrary key-value pairs which are
// visible to all apps.
// Entries with null values are cleared in update and copy requests.
Properties map[string]string `json:"properties,omitempty"`
// QuotaBytesUsed: The number of storage quota bytes used by the file.
// This includes the head revision as well as previous revisions with
// keepForever enabled.
QuotaBytesUsed int64 `json:"quotaBytesUsed,omitempty,string"`
// Shared: Whether the file has been shared. Not populated for items in
// shared drives.
Shared bool `json:"shared,omitempty"`
// SharedWithMeTime: The time at which the file was shared with the
// user, if applicable (RFC 3339 date-time).
SharedWithMeTime string `json:"sharedWithMeTime,omitempty"`
// SharingUser: The user who shared the file with the requesting user,
// if applicable.
SharingUser *User `json:"sharingUser,omitempty"`
// ShortcutDetails: Shortcut file details. Only populated for shortcut
// files, which have the mimeType field set to
// application/vnd.google-apps.shortcut.
ShortcutDetails *FileShortcutDetails `json:"shortcutDetails,omitempty"`
// Size: The size of the file's content in bytes. This is only
// applicable to files with binary content in Google Drive.
Size int64 `json:"size,omitempty,string"`
// Spaces: The list of spaces which contain the file. The currently
// supported values are 'drive', 'appDataFolder' and 'photos'.
Spaces []string `json:"spaces,omitempty"`
// Starred: Whether the user has starred the file.
Starred bool `json:"starred,omitempty"`
// TeamDriveId: Deprecated - use driveId instead.
TeamDriveId string `json:"teamDriveId,omitempty"`
// ThumbnailLink: A short-lived link to the file's thumbnail, if
// available. Typically lasts on the order of hours. Only populated when
// the requesting app can access the file's content.
ThumbnailLink string `json:"thumbnailLink,omitempty"`
// ThumbnailVersion: The thumbnail version for use in thumbnail cache
// invalidation.
ThumbnailVersion int64 `json:"thumbnailVersion,omitempty,string"`
// Trashed: Whether the file has been trashed, either explicitly or from
// a trashed parent folder. Only the owner may trash a file. The trashed
// item is excluded from all files.list responses returned for any user
// who does not own the file. However, all users with access to the file
// can see the trashed item metadata in an API response. All users with
// access can copy, download, export, and share the file.
Trashed bool `json:"trashed,omitempty"`
// TrashedTime: The time that the item was trashed (RFC 3339 date-time).
// Only populated for items in shared drives.
TrashedTime string `json:"trashedTime,omitempty"`
// TrashingUser: If the file has been explicitly trashed, the user who
// trashed it. Only populated for items in shared drives.
TrashingUser *User `json:"trashingUser,omitempty"`
// Version: A monotonically increasing version number for the file. This
// reflects every change made to the file on the server, even those not
// visible to the user.
Version int64 `json:"version,omitempty,string"`
// VideoMediaMetadata: Additional metadata about video media. This may
// not be available immediately upon upload.
VideoMediaMetadata *FileVideoMediaMetadata `json:"videoMediaMetadata,omitempty"`
// ViewedByMe: Whether the file has been viewed by this user.
ViewedByMe bool `json:"viewedByMe,omitempty"`
// ViewedByMeTime: The last time the file was viewed by the user (RFC
// 3339 date-time).
ViewedByMeTime string `json:"viewedByMeTime,omitempty"`
// ViewersCanCopyContent: Deprecated - use copyRequiresWriterPermission
// instead.
ViewersCanCopyContent bool `json:"viewersCanCopyContent,omitempty"`
// WebContentLink: A link for downloading the content of the file in a
// browser. This is only available for files with binary content in
// Google Drive.
WebContentLink string `json:"webContentLink,omitempty"`
// WebViewLink: A link for opening the file in a relevant Google editor
// or viewer in a browser.
WebViewLink string `json:"webViewLink,omitempty"`
// WritersCanShare: Whether users with only writer permission can modify
// the file's permissions. Not populated for items in shared drives.
WritersCanShare bool `json:"writersCanShare,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AppProperties") 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. "AppProperties") 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)
}
// FileCapabilities: Capabilities the current user has on this file.
// Each capability corresponds to a fine-grained action that a user may
// take.
type FileCapabilities struct {
// CanAddChildren: Whether the current user can add children to this
// folder. This is always false when the item is not a folder.
CanAddChildren bool `json:"canAddChildren,omitempty"`
// CanAddFolderFromAnotherDrive: Whether the current user can add a
// folder from another drive (different shared drive or My Drive) to
// this folder. This is false when the item is not a folder. Only
// populated for items in shared drives.
CanAddFolderFromAnotherDrive bool `json:"canAddFolderFromAnotherDrive,omitempty"`
// CanAddMyDriveParent: Whether the current user can add a parent for
// the item without removing an existing parent in the same request. Not
// populated for shared drive files.
CanAddMyDriveParent bool `json:"canAddMyDriveParent,omitempty"`
// CanChangeCopyRequiresWriterPermission: Whether the current user can
// change the copyRequiresWriterPermission restriction of this file.
CanChangeCopyRequiresWriterPermission bool `json:"canChangeCopyRequiresWriterPermission,omitempty"`
// CanChangeViewersCanCopyContent: Deprecated
CanChangeViewersCanCopyContent bool `json:"canChangeViewersCanCopyContent,omitempty"`
// CanComment: Whether the current user can comment on this file.
CanComment bool `json:"canComment,omitempty"`
// CanCopy: Whether the current user can copy this file. For an item in
// a shared drive, whether the current user can copy non-folder
// descendants of this item, or this item itself if it is not a folder.
CanCopy bool `json:"canCopy,omitempty"`
// CanDelete: Whether the current user can delete this file.
CanDelete bool `json:"canDelete,omitempty"`
// CanDeleteChildren: Whether the current user can delete children of
// this folder. This is false when the item is not a folder. Only
// populated for items in shared drives.
CanDeleteChildren bool `json:"canDeleteChildren,omitempty"`
// CanDownload: Whether the current user can download this file.
CanDownload bool `json:"canDownload,omitempty"`
// CanEdit: Whether the current user can edit this file. Other factors
// may limit the type of changes a user can make to a file. For example,
// see canChangeCopyRequiresWriterPermission or canModifyContent.
CanEdit bool `json:"canEdit,omitempty"`
// CanListChildren: Whether the current user can list the children of
// this folder. This is always false when the item is not a folder.
CanListChildren bool `json:"canListChildren,omitempty"`
// CanModifyContent: Whether the current user can modify the content of
// this file.
CanModifyContent bool `json:"canModifyContent,omitempty"`
// CanModifyContentRestriction: Whether the current user can modify
// restrictions on content of this file.
CanModifyContentRestriction bool `json:"canModifyContentRestriction,omitempty"`
// CanMoveChildrenOutOfDrive: Whether the current user can move children
// of this folder outside of the shared drive. This is false when the
// item is not a folder. Only populated for items in shared drives.
CanMoveChildrenOutOfDrive bool `json:"canMoveChildrenOutOfDrive,omitempty"`
// CanMoveChildrenOutOfTeamDrive: Deprecated - use
// canMoveChildrenOutOfDrive instead.
CanMoveChildrenOutOfTeamDrive bool `json:"canMoveChildrenOutOfTeamDrive,omitempty"`
// CanMoveChildrenWithinDrive: Whether the current user can move
// children of this folder within this drive. This is false when the
// item is not a folder. Note that a request to move the child may still
// fail depending on the current user's access to the child and to the
// destination folder.
CanMoveChildrenWithinDrive bool `json:"canMoveChildrenWithinDrive,omitempty"`
// CanMoveChildrenWithinTeamDrive: Deprecated - use
// canMoveChildrenWithinDrive instead.
CanMoveChildrenWithinTeamDrive bool `json:"canMoveChildrenWithinTeamDrive,omitempty"`
// CanMoveItemIntoTeamDrive: Deprecated - use canMoveItemOutOfDrive
// instead.
CanMoveItemIntoTeamDrive bool `json:"canMoveItemIntoTeamDrive,omitempty"`
// CanMoveItemOutOfDrive: Whether the current user can move this item
// outside of this drive by changing its parent. Note that a request to
// change the parent of the item may still fail depending on the new
// parent that is being added.
CanMoveItemOutOfDrive bool `json:"canMoveItemOutOfDrive,omitempty"`
// CanMoveItemOutOfTeamDrive: Deprecated - use canMoveItemOutOfDrive
// instead.
CanMoveItemOutOfTeamDrive bool `json:"canMoveItemOutOfTeamDrive,omitempty"`
// CanMoveItemWithinDrive: Whether the current user can move this item
// within this drive. Note that a request to change the parent of the
// item may still fail depending on the new parent that is being added
// and the parent that is being removed.
CanMoveItemWithinDrive bool `json:"canMoveItemWithinDrive,omitempty"`
// CanMoveItemWithinTeamDrive: Deprecated - use canMoveItemWithinDrive
// instead.
CanMoveItemWithinTeamDrive bool `json:"canMoveItemWithinTeamDrive,omitempty"`
// CanMoveTeamDriveItem: Deprecated - use canMoveItemWithinDrive or
// canMoveItemOutOfDrive instead.
CanMoveTeamDriveItem bool `json:"canMoveTeamDriveItem,omitempty"`
// CanReadDrive: Whether the current user can read the shared drive to
// which this file belongs. Only populated for items in shared drives.
CanReadDrive bool `json:"canReadDrive,omitempty"`
// CanReadRevisions: Whether the current user can read the revisions
// resource of this file. For a shared drive item, whether revisions of
// non-folder descendants of this item, or this item itself if it is not
// a folder, can be read.
CanReadRevisions bool `json:"canReadRevisions,omitempty"`
// CanReadTeamDrive: Deprecated - use canReadDrive instead.
CanReadTeamDrive bool `json:"canReadTeamDrive,omitempty"`
// CanRemoveChildren: Whether the current user can remove children from
// this folder. This is always false when the item is not a folder. For
// a folder in a shared drive, use canDeleteChildren or canTrashChildren
// instead.
CanRemoveChildren bool `json:"canRemoveChildren,omitempty"`
// CanRemoveMyDriveParent: Whether the current user can remove a parent
// from the item without adding another parent in the same request. Not
// populated for shared drive files.
CanRemoveMyDriveParent bool `json:"canRemoveMyDriveParent,omitempty"`
// CanRename: Whether the current user can rename this file.
CanRename bool `json:"canRename,omitempty"`
// CanShare: Whether the current user can modify the sharing settings
// for this file.
CanShare bool `json:"canShare,omitempty"`
// CanTrash: Whether the current user can move this file to trash.
CanTrash bool `json:"canTrash,omitempty"`
// CanTrashChildren: Whether the current user can trash children of this
// folder. This is false when the item is not a folder. Only populated
// for items in shared drives.
CanTrashChildren bool `json:"canTrashChildren,omitempty"`
// CanUntrash: Whether the current user can restore this file from
// trash.
CanUntrash bool `json:"canUntrash,omitempty"`
// ForceSendFields is a list of field names (e.g. "CanAddChildren") 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. "CanAddChildren") 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 *FileCapabilities) MarshalJSON() ([]byte, error) {
type NoMethod FileCapabilities
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FileContentHints: Additional information about the content of the
// file. These fields are never populated in responses.
type FileContentHints struct {
// IndexableText: Text to be indexed for the file to improve fullText
// queries. This is limited to 128KB in length and may contain HTML
// elements.
IndexableText string `json:"indexableText,omitempty"`
// Thumbnail: A thumbnail for the file. This will only be used if Google
// Drive cannot generate a standard thumbnail.
Thumbnail *FileContentHintsThumbnail `json:"thumbnail,omitempty"`
// ForceSendFields is a list of field names (e.g. "IndexableText") 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. "IndexableText") 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 *FileContentHints) MarshalJSON() ([]byte, error) {
type NoMethod FileContentHints
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FileContentHintsThumbnail: A thumbnail for the file. This will only
// be used if Google Drive cannot generate a standard thumbnail.
type FileContentHintsThumbnail struct {
// Image: The thumbnail data encoded with URL-safe Base64 (RFC 4648
// section 5).
Image string `json:"image,omitempty"`
// MimeType: The MIME type of the thumbnail.
MimeType string `json:"mimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Image") 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. "Image") 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 *FileContentHintsThumbnail) MarshalJSON() ([]byte, error) {
type NoMethod FileContentHintsThumbnail
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FileImageMediaMetadata: Additional metadata about image media, if
// available.
type FileImageMediaMetadata struct {
// Aperture: The aperture used to create the photo (f-number).
Aperture float64 `json:"aperture,omitempty"`
// CameraMake: The make of the camera used to create the photo.
CameraMake string `json:"cameraMake,omitempty"`
// CameraModel: The model of the camera used to create the photo.
CameraModel string `json:"cameraModel,omitempty"`
// ColorSpace: The color space of the photo.
ColorSpace string `json:"colorSpace,omitempty"`
// ExposureBias: The exposure bias of the photo (APEX value).
ExposureBias float64 `json:"exposureBias,omitempty"`
// ExposureMode: The exposure mode used to create the photo.
ExposureMode string `json:"exposureMode,omitempty"`
// ExposureTime: The length of the exposure, in seconds.
ExposureTime float64 `json:"exposureTime,omitempty"`
// FlashUsed: Whether a flash was used to create the photo.
FlashUsed bool `json:"flashUsed,omitempty"`
// FocalLength: The focal length used to create the photo, in
// millimeters.
FocalLength float64 `json:"focalLength,omitempty"`
// Height: The height of the image in pixels.
Height int64 `json:"height,omitempty"`
// IsoSpeed: The ISO speed used to create the photo.
IsoSpeed int64 `json:"isoSpeed,omitempty"`
// Lens: The lens used to create the photo.
Lens string `json:"lens,omitempty"`
// Location: Geographic location information stored in the image.
Location *FileImageMediaMetadataLocation `json:"location,omitempty"`
// MaxApertureValue: The smallest f-number of the lens at the focal
// length used to create the photo (APEX value).
MaxApertureValue float64 `json:"maxApertureValue,omitempty"`
// MeteringMode: The metering mode used to create the photo.
MeteringMode string `json:"meteringMode,omitempty"`
// Rotation: The number of clockwise 90 degree rotations applied from
// the image's original orientation.
Rotation int64 `json:"rotation,omitempty"`
// Sensor: The type of sensor used to create the photo.
Sensor string `json:"sensor,omitempty"`
// SubjectDistance: The distance to the subject of the photo, in meters.
SubjectDistance int64 `json:"subjectDistance,omitempty"`
// Time: The date and time the photo was taken (EXIF DateTime).
Time string `json:"time,omitempty"`
// WhiteBalance: The white balance mode used to create the photo.
WhiteBalance string `json:"whiteBalance,omitempty"`
// Width: The width of the image in pixels.
Width int64 `json:"width,omitempty"`
// ForceSendFields is a list of field names (e.g. "Aperture") 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. "Aperture") 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 *FileImageMediaMetadata) MarshalJSON() ([]byte, error) {
type NoMethod FileImageMediaMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *FileImageMediaMetadata) UnmarshalJSON(data []byte) error {
type NoMethod FileImageMediaMetadata
var s1 struct {
Aperture gensupport.JSONFloat64 `json:"aperture"`
ExposureBias gensupport.JSONFloat64 `json:"exposureBias"`
ExposureTime gensupport.JSONFloat64 `json:"exposureTime"`
FocalLength gensupport.JSONFloat64 `json:"focalLength"`
MaxApertureValue gensupport.JSONFloat64 `json:"maxApertureValue"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Aperture = float64(s1.Aperture)
s.ExposureBias = float64(s1.ExposureBias)
s.ExposureTime = float64(s1.ExposureTime)
s.FocalLength = float64(s1.FocalLength)
s.MaxApertureValue = float64(s1.MaxApertureValue)
return nil
}
// FileImageMediaMetadataLocation: Geographic location information
// stored in the image.
type FileImageMediaMetadataLocation struct {
// Altitude: The altitude stored in the image.
Altitude float64 `json:"altitude,omitempty"`
// Latitude: The latitude stored in the image.
Latitude float64 `json:"latitude,omitempty"`
// Longitude: The longitude stored in the image.
Longitude float64 `json:"longitude,omitempty"`
// ForceSendFields is a list of field names (e.g. "Altitude") 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. "Altitude") 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 *FileImageMediaMetadataLocation) MarshalJSON() ([]byte, error) {
type NoMethod FileImageMediaMetadataLocation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *FileImageMediaMetadataLocation) UnmarshalJSON(data []byte) error {
type NoMethod FileImageMediaMetadataLocation
var s1 struct {
Altitude gensupport.JSONFloat64 `json:"altitude"`
Latitude gensupport.JSONFloat64 `json:"latitude"`
Longitude gensupport.JSONFloat64 `json:"longitude"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Altitude = float64(s1.Altitude)
s.Latitude = float64(s1.Latitude)
s.Longitude = float64(s1.Longitude)
return nil
}
// FileShortcutDetails: Shortcut file details. Only populated for
// shortcut files, which have the mimeType field set to
// application/vnd.google-apps.shortcut.
type FileShortcutDetails struct {
// TargetId: The ID of the file that this shortcut points to.
TargetId string `json:"targetId,omitempty"`
// TargetMimeType: The MIME type of the file that this shortcut points
// to. The value of this field is a snapshot of the target's MIME type,
// captured when the shortcut is created.
TargetMimeType string `json:"targetMimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "TargetId") 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. "TargetId") 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 *FileShortcutDetails) MarshalJSON() ([]byte, error) {
type NoMethod FileShortcutDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FileVideoMediaMetadata: Additional metadata about video media. This
// may not be available immediately upon upload.
type FileVideoMediaMetadata struct {
// DurationMillis: The duration of the video in milliseconds.
DurationMillis int64 `json:"durationMillis,omitempty,string"`
// Height: The height of the video in pixels.
Height int64 `json:"height,omitempty"`
// Width: The width of the video in pixels.
Width int64 `json:"width,omitempty"`
// ForceSendFields is a list of field names (e.g. "DurationMillis") 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. "DurationMillis") 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 *FileVideoMediaMetadata) MarshalJSON() ([]byte, error) {
type NoMethod FileVideoMediaMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FileList: A list of files.
type FileList struct {
// Files: The list of files. If nextPageToken is populated, then this
// list may be incomplete and an additional page of results should be
// fetched.
Files []*File `json:"files,omitempty"`
// IncompleteSearch: Whether the search process was incomplete. If true,
// then some search results may be missing, since all documents were not
// searched. This may occur when searching multiple drives with the
// "allDrives" corpora, but all corpora could not be searched. When this
// happens, it is suggested that clients narrow their query by choosing
// a different corpus such as "user" or "drive".
IncompleteSearch bool `json:"incompleteSearch,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#fileList".
Kind string `json:"kind,omitempty"`
// NextPageToken: The page token for the next page of files. This will
// be absent if the end of the files list has been reached. If the token
// is rejected for any reason, it should be discarded, and pagination
// should be restarted from the first page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Files") 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. "Files") 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 *FileList) MarshalJSON() ([]byte, error) {
type NoMethod FileList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GeneratedIds: A list of generated file IDs which can be provided in
// create requests.
type GeneratedIds struct {
// Ids: The IDs generated for the requesting user in the specified
// space.
Ids []string `json:"ids,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#generatedIds".
Kind string `json:"kind,omitempty"`
// Space: The type of file that can be created with these IDs.
Space string `json:"space,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Ids") 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. "Ids") 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 *GeneratedIds) MarshalJSON() ([]byte, error) {
type NoMethod GeneratedIds
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Permission: A permission for a file. A permission grants a user,
// group, domain or the world access to a file or a folder hierarchy.
type Permission struct {
// AllowFileDiscovery: Whether the permission allows the file to be
// discovered through search. This is only applicable for permissions of
// type domain or anyone.
AllowFileDiscovery bool `json:"allowFileDiscovery,omitempty"`
// Deleted: Whether the account associated with this permission has been
// deleted. This field only pertains to user and group permissions.
Deleted bool `json:"deleted,omitempty"`
// DisplayName: The "pretty" name of the value of the permission. The
// following is a list of examples for each type of permission:
// - user - User's full name, as defined for their Google account, such
// as "Joe Smith."
// - group - Name of the Google Group, such as "The Company
// Administrators."
// - domain - String domain name, such as "thecompany.com."
// - anyone - No displayName is present.
DisplayName string `json:"displayName,omitempty"`
// Domain: The domain to which this permission refers.
Domain string `json:"domain,omitempty"`
// EmailAddress: The email address of the user or group to which this
// permission refers.
EmailAddress string `json:"emailAddress,omitempty"`
// ExpirationTime: The time at which this permission will expire (RFC
// 3339 date-time). Expiration times have the following restrictions:
//
// - They can only be set on user and group permissions
// - The time must be in the future
// - The time cannot be more than a year in the future
ExpirationTime string `json:"expirationTime,omitempty"`
// Id: The ID of this permission. This is a unique identifier for the
// grantee, and is published in User resources as permissionId. IDs
// should be treated as opaque values.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#permission".
Kind string `json:"kind,omitempty"`
// PermissionDetails: Details of whether the permissions on this shared
// drive item are inherited or directly on this item. This is an
// output-only field which is present only for shared drive items.
PermissionDetails []*PermissionPermissionDetails `json:"permissionDetails,omitempty"`
// PhotoLink: A link to the user's profile photo, if available.
PhotoLink string `json:"photoLink,omitempty"`
// Role: The role granted by this permission. While new values may be
// supported in the future, the following are currently allowed:
// - owner
// - organizer
// - fileOrganizer
// - writer
// - commenter
// - reader
Role string `json:"role,omitempty"`
// TeamDrivePermissionDetails: Deprecated - use permissionDetails
// instead.
TeamDrivePermissionDetails []*PermissionTeamDrivePermissionDetails `json:"teamDrivePermissionDetails,omitempty"`
// Type: The type of the grantee. Valid values are:
// - user
// - group
// - domain
// - anyone When creating a permission, if type is user or group, you
// must provide an emailAddress for the user or group. When type is
// domain, you must provide a domain. There isn't extra information
// required for a anyone type.
Type string `json:"type,omitempty"`
// View: Indicates the view for this permission. Only populated for
// permissions that belong to a view. published is the only supported
// value.
View string `json:"view,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AllowFileDiscovery")
// 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. "AllowFileDiscovery") 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 *Permission) MarshalJSON() ([]byte, error) {
type NoMethod Permission
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type PermissionPermissionDetails struct {
// Inherited: Whether this permission is inherited. This field is always
// populated. This is an output-only field.
Inherited bool `json:"inherited,omitempty"`
// InheritedFrom: The ID of the item from which this permission is
// inherited. This is an output-only field.
InheritedFrom string `json:"inheritedFrom,omitempty"`
// PermissionType: The permission type for this user. While new values
// may be added in future, the following are currently possible:
// - file
// - member
PermissionType string `json:"permissionType,omitempty"`
// Role: The primary role for this user. While new values may be added
// in the future, the following are currently possible:
// - organizer
// - fileOrganizer
// - writer
// - commenter
// - reader
Role string `json:"role,omitempty"`
// ForceSendFields is a list of field names (e.g. "Inherited") 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. "Inherited") 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 *PermissionPermissionDetails) MarshalJSON() ([]byte, error) {
type NoMethod PermissionPermissionDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type PermissionTeamDrivePermissionDetails struct {
// Inherited: Deprecated - use permissionDetails/inherited instead.
Inherited bool `json:"inherited,omitempty"`
// InheritedFrom: Deprecated - use permissionDetails/inheritedFrom
// instead.
InheritedFrom string `json:"inheritedFrom,omitempty"`
// Role: Deprecated - use permissionDetails/role instead.
Role string `json:"role,omitempty"`
// TeamDrivePermissionType: Deprecated - use
// permissionDetails/permissionType instead.
TeamDrivePermissionType string `json:"teamDrivePermissionType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Inherited") 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. "Inherited") 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 *PermissionTeamDrivePermissionDetails) MarshalJSON() ([]byte, error) {
type NoMethod PermissionTeamDrivePermissionDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PermissionList: A list of permissions for a file.
type PermissionList struct {
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#permissionList".
Kind string `json:"kind,omitempty"`
// NextPageToken: The page token for the next page of permissions. This
// field will be absent if the end of the permissions list has been
// reached. If the token is rejected for any reason, it should be
// discarded, and pagination should be restarted from the first page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Permissions: The list of permissions. If nextPageToken is populated,
// then this list may be incomplete and an additional page of results
// should be fetched.
Permissions []*Permission `json:"permissions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") 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 *PermissionList) MarshalJSON() ([]byte, error) {
type NoMethod PermissionList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Reply: A reply to a comment on a file.
type Reply struct {
// Action: The action the reply performed to the parent comment. Valid
// values are:
// - resolve
// - reopen
Action string `json:"action,omitempty"`
// Author: The author of the reply. The author's email address and
// permission ID will not be populated.
Author *User `json:"author,omitempty"`
// Content: The plain text content of the reply. This field is used for
// setting the content, while htmlContent should be displayed. This is
// required on creates if no action is specified.
Content string `json:"content,omitempty"`
// CreatedTime: The time at which the reply was created (RFC 3339
// date-time).
CreatedTime string `json:"createdTime,omitempty"`
// Deleted: Whether the reply has been deleted. A deleted reply has no
// content.
Deleted bool `json:"deleted,omitempty"`
// HtmlContent: The content of the reply with HTML formatting.
HtmlContent string `json:"htmlContent,omitempty"`
// Id: The ID of the reply.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#reply".
Kind string `json:"kind,omitempty"`
// ModifiedTime: The last time the reply was modified (RFC 3339
// date-time).
ModifiedTime string `json:"modifiedTime,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Action") 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. "Action") 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 *Reply) MarshalJSON() ([]byte, error) {
type NoMethod Reply
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ReplyList: A list of replies to a comment on a file.
type ReplyList struct {
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#replyList".
Kind string `json:"kind,omitempty"`
// NextPageToken: The page token for the next page of replies. This will
// be absent if the end of the replies list has been reached. If the
// token is rejected for any reason, it should be discarded, and
// pagination should be restarted from the first page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Replies: The list of replies. If nextPageToken is populated, then
// this list may be incomplete and an additional page of results should
// be fetched.
Replies []*Reply `json:"replies,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") 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 *ReplyList) MarshalJSON() ([]byte, error) {
type NoMethod ReplyList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Revision: The metadata for a revision to a file.
type Revision struct {
// ExportLinks: Links for exporting Google Docs to specific formats.
ExportLinks map[string]string `json:"exportLinks,omitempty"`
// Id: The ID of the revision.
Id string `json:"id,omitempty"`
// KeepForever: Whether to keep this revision forever, even if it is no
// longer the head revision. If not set, the revision will be
// automatically purged 30 days after newer content is uploaded. This
// can be set on a maximum of 200 revisions for a file.
// This field is only applicable to files with binary content in Drive.
KeepForever bool `json:"keepForever,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#revision".
Kind string `json:"kind,omitempty"`
// LastModifyingUser: The last user to modify this revision.
LastModifyingUser *User `json:"lastModifyingUser,omitempty"`
// Md5Checksum: The MD5 checksum of the revision's content. This is only
// applicable to files with binary content in Drive.
Md5Checksum string `json:"md5Checksum,omitempty"`
// MimeType: The MIME type of the revision.
MimeType string `json:"mimeType,omitempty"`
// ModifiedTime: The last time the revision was modified (RFC 3339
// date-time).
ModifiedTime string `json:"modifiedTime,omitempty"`
// OriginalFilename: The original filename used to create this revision.
// This is only applicable to files with binary content in Drive.
OriginalFilename string `json:"originalFilename,omitempty"`
// PublishAuto: Whether subsequent revisions will be automatically
// republished. This is only applicable to Google Docs.
PublishAuto bool `json:"publishAuto,omitempty"`
// Published: Whether this revision is published. This is only
// applicable to Google Docs.
Published bool `json:"published,omitempty"`
// PublishedLink: A link to the published revision.
PublishedLink string `json:"publishedLink,omitempty"`
// PublishedOutsideDomain: Whether this revision is published outside
// the domain. This is only applicable to Google Docs.
PublishedOutsideDomain bool `json:"publishedOutsideDomain,omitempty"`
// Size: The size of the revision's content in bytes. This is only
// applicable to files with binary content in Drive.
Size int64 `json:"size,omitempty,string"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ExportLinks") 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. "ExportLinks") 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 *Revision) MarshalJSON() ([]byte, error) {
type NoMethod Revision
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevisionList: A list of revisions of a file.
type RevisionList struct {
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#revisionList".
Kind string `json:"kind,omitempty"`
// NextPageToken: The page token for the next page of revisions. This
// will be absent if the end of the revisions list has been reached. If
// the token is rejected for any reason, it should be discarded, and
// pagination should be restarted from the first page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Revisions: The list of revisions. If nextPageToken is populated, then
// this list may be incomplete and an additional page of results should
// be fetched.
Revisions []*Revision `json:"revisions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") 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 *RevisionList) MarshalJSON() ([]byte, error) {
type NoMethod RevisionList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type StartPageToken struct {
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#startPageToken".
Kind string `json:"kind,omitempty"`
// StartPageToken: The starting page token for listing changes.
StartPageToken string `json:"startPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") 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 *StartPageToken) MarshalJSON() ([]byte, error) {
type NoMethod StartPageToken
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TeamDrive: Deprecated: use the drive collection instead.
type TeamDrive struct {
// BackgroundImageFile: An image file and cropping parameters from which
// a background image for this Team Drive is set. This is a write only
// field; it can only be set on drive.teamdrives.update requests that
// don't set themeId. When specified, all fields of the
// backgroundImageFile must be set.
BackgroundImageFile *TeamDriveBackgroundImageFile `json:"backgroundImageFile,omitempty"`
// BackgroundImageLink: A short-lived link to this Team Drive's
// background image.
BackgroundImageLink string `json:"backgroundImageLink,omitempty"`
// Capabilities: Capabilities the current user has on this Team Drive.
Capabilities *TeamDriveCapabilities `json:"capabilities,omitempty"`
// ColorRgb: The color of this Team Drive as an RGB hex string. It can
// only be set on a drive.teamdrives.update request that does not set
// themeId.
ColorRgb string `json:"colorRgb,omitempty"`
// CreatedTime: The time at which the Team Drive was created (RFC 3339
// date-time).
CreatedTime string `json:"createdTime,omitempty"`
// Id: The ID of this Team Drive which is also the ID of the top level
// folder of this Team Drive.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#teamDrive".
Kind string `json:"kind,omitempty"`
// Name: The name of this Team Drive.
Name string `json:"name,omitempty"`
// Restrictions: A set of restrictions that apply to this Team Drive or
// items inside this Team Drive.
Restrictions *TeamDriveRestrictions `json:"restrictions,omitempty"`
// ThemeId: The ID of the theme from which the background image and
// color will be set. The set of possible teamDriveThemes can be
// retrieved from a drive.about.get response. When not specified on a
// drive.teamdrives.create request, a random theme is chosen from which
// the background image and color are set. This is a write-only field;
// it can only be set on requests that don't set colorRgb or
// backgroundImageFile.
ThemeId string `json:"themeId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "BackgroundImageFile")
// 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. "BackgroundImageFile") 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 *TeamDrive) MarshalJSON() ([]byte, error) {
type NoMethod TeamDrive
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TeamDriveBackgroundImageFile: An image file and cropping parameters
// from which a background image for this Team Drive is set. This is a
// write only field; it can only be set on drive.teamdrives.update
// requests that don't set themeId. When specified, all fields of the
// backgroundImageFile must be set.
type TeamDriveBackgroundImageFile struct {
// Id: The ID of an image file in Drive to use for the background image.
Id string `json:"id,omitempty"`
// Width: The width of the cropped image in the closed range of 0 to 1.
// This value represents the width of the cropped image divided by the
// width of the entire image. The height is computed by applying a width
// to height aspect ratio of 80 to 9. The resulting image must be at
// least 1280 pixels wide and 144 pixels high.
Width float64 `json:"width,omitempty"`
// XCoordinate: The X coordinate of the upper left corner of the
// cropping area in the background image. This is a value in the closed
// range of 0 to 1. This value represents the horizontal distance from
// the left side of the entire image to the left side of the cropping
// area divided by the width of the entire image.
XCoordinate float64 `json:"xCoordinate,omitempty"`
// YCoordinate: The Y coordinate of the upper left corner of the
// cropping area in the background image. This is a value in the closed
// range of 0 to 1. This value represents the vertical distance from the
// top side of the entire image to the top side of the cropping area
// divided by the height of the entire image.
YCoordinate float64 `json:"yCoordinate,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *TeamDriveBackgroundImageFile) MarshalJSON() ([]byte, error) {
type NoMethod TeamDriveBackgroundImageFile
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *TeamDriveBackgroundImageFile) UnmarshalJSON(data []byte) error {
type NoMethod TeamDriveBackgroundImageFile
var s1 struct {
Width gensupport.JSONFloat64 `json:"width"`
XCoordinate gensupport.JSONFloat64 `json:"xCoordinate"`
YCoordinate gensupport.JSONFloat64 `json:"yCoordinate"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Width = float64(s1.Width)
s.XCoordinate = float64(s1.XCoordinate)
s.YCoordinate = float64(s1.YCoordinate)
return nil
}
// TeamDriveCapabilities: Capabilities the current user has on this Team
// Drive.
type TeamDriveCapabilities struct {
// CanAddChildren: Whether the current user can add children to folders
// in this Team Drive.
CanAddChildren bool `json:"canAddChildren,omitempty"`
// CanChangeCopyRequiresWriterPermissionRestriction: Whether the current
// user can change the copyRequiresWriterPermission restriction of this
// Team Drive.
CanChangeCopyRequiresWriterPermissionRestriction bool `json:"canChangeCopyRequiresWriterPermissionRestriction,omitempty"`
// CanChangeDomainUsersOnlyRestriction: Whether the current user can
// change the domainUsersOnly restriction of this Team Drive.
CanChangeDomainUsersOnlyRestriction bool `json:"canChangeDomainUsersOnlyRestriction,omitempty"`
// CanChangeTeamDriveBackground: Whether the current user can change the
// background of this Team Drive.
CanChangeTeamDriveBackground bool `json:"canChangeTeamDriveBackground,omitempty"`
// CanChangeTeamMembersOnlyRestriction: Whether the current user can
// change the teamMembersOnly restriction of this Team Drive.
CanChangeTeamMembersOnlyRestriction bool `json:"canChangeTeamMembersOnlyRestriction,omitempty"`
// CanComment: Whether the current user can comment on files in this
// Team Drive.
CanComment bool `json:"canComment,omitempty"`
// CanCopy: Whether the current user can copy files in this Team Drive.
CanCopy bool `json:"canCopy,omitempty"`
// CanDeleteChildren: Whether the current user can delete children from
// folders in this Team Drive.
CanDeleteChildren bool `json:"canDeleteChildren,omitempty"`
// CanDeleteTeamDrive: Whether the current user can delete this Team
// Drive. Attempting to delete the Team Drive may still fail if there
// are untrashed items inside the Team Drive.
CanDeleteTeamDrive bool `json:"canDeleteTeamDrive,omitempty"`
// CanDownload: Whether the current user can download files in this Team
// Drive.
CanDownload bool `json:"canDownload,omitempty"`
// CanEdit: Whether the current user can edit files in this Team Drive
CanEdit bool `json:"canEdit,omitempty"`
// CanListChildren: Whether the current user can list the children of
// folders in this Team Drive.
CanListChildren bool `json:"canListChildren,omitempty"`
// CanManageMembers: Whether the current user can add members to this
// Team Drive or remove them or change their role.
CanManageMembers bool `json:"canManageMembers,omitempty"`
// CanReadRevisions: Whether the current user can read the revisions
// resource of files in this Team Drive.
CanReadRevisions bool `json:"canReadRevisions,omitempty"`
// CanRemoveChildren: Deprecated - use canDeleteChildren or
// canTrashChildren instead.
CanRemoveChildren bool `json:"canRemoveChildren,omitempty"`
// CanRename: Whether the current user can rename files or folders in
// this Team Drive.
CanRename bool `json:"canRename,omitempty"`
// CanRenameTeamDrive: Whether the current user can rename this Team
// Drive.
CanRenameTeamDrive bool `json:"canRenameTeamDrive,omitempty"`
// CanShare: Whether the current user can share files or folders in this
// Team Drive.
CanShare bool `json:"canShare,omitempty"`
// CanTrashChildren: Whether the current user can trash children from
// folders in this Team Drive.
CanTrashChildren bool `json:"canTrashChildren,omitempty"`
// ForceSendFields is a list of field names (e.g. "CanAddChildren") 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. "CanAddChildren") 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 *TeamDriveCapabilities) MarshalJSON() ([]byte, error) {
type NoMethod TeamDriveCapabilities
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TeamDriveRestrictions: A set of restrictions that apply to this Team
// Drive or items inside this Team Drive.
type TeamDriveRestrictions struct {
// AdminManagedRestrictions: Whether administrative privileges on this
// Team Drive are required to modify restrictions.
AdminManagedRestrictions bool `json:"adminManagedRestrictions,omitempty"`
// CopyRequiresWriterPermission: Whether the options to copy, print, or
// download files inside this Team Drive, should be disabled for readers
// and commenters. When this restriction is set to true, it will
// override the similarly named field to true for any file inside this
// Team Drive.
CopyRequiresWriterPermission bool `json:"copyRequiresWriterPermission,omitempty"`
// DomainUsersOnly: Whether access to this Team Drive and items inside
// this Team Drive is restricted to users of the domain to which this
// Team Drive belongs. This restriction may be overridden by other
// sharing policies controlled outside of this Team Drive.
DomainUsersOnly bool `json:"domainUsersOnly,omitempty"`
// TeamMembersOnly: Whether access to items inside this Team Drive is
// restricted to members of this Team Drive.
TeamMembersOnly bool `json:"teamMembersOnly,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AdminManagedRestrictions") 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. "AdminManagedRestrictions")
// 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 *TeamDriveRestrictions) MarshalJSON() ([]byte, error) {
type NoMethod TeamDriveRestrictions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TeamDriveList: A list of Team Drives.
type TeamDriveList struct {
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#teamDriveList".
Kind string `json:"kind,omitempty"`
// NextPageToken: The page token for the next page of Team Drives. This
// will be absent if the end of the Team Drives list has been reached.
// If the token is rejected for any reason, it should be discarded, and
// pagination should be restarted from the first page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// TeamDrives: The list of Team Drives. If nextPageToken is populated,
// then this list may be incomplete and an additional page of results
// should be fetched.
TeamDrives []*TeamDrive `json:"teamDrives,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") 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 *TeamDriveList) MarshalJSON() ([]byte, error) {
type NoMethod TeamDriveList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// User: Information about a Drive user.
type User struct {
// DisplayName: A plain text displayable name for this user.
DisplayName string `json:"displayName,omitempty"`
// EmailAddress: The email address of the user. This may not be present
// in certain contexts if the user has not made their email address
// visible to the requester.
EmailAddress string `json:"emailAddress,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "drive#user".
Kind string `json:"kind,omitempty"`
// Me: Whether this user is the requesting user.
Me bool `json:"me,omitempty"`
// PermissionId: The user's ID as visible in Permission resources.
PermissionId string `json:"permissionId,omitempty"`
// PhotoLink: A link to the user's profile photo, if available.
PhotoLink string `json:"photoLink,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") 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. "DisplayName") 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 *User) MarshalJSON() ([]byte, error) {
type NoMethod User
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "drive.about.get":
type AboutGetCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about the user, the user's Drive, and system
// capabilities.
func (r *AboutService) Get() *AboutGetCall {
c := &AboutGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
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 *AboutGetCall) Fields(s ...googleapi.Field) *AboutGetCall {
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 *AboutGetCall) IfNoneMatch(entityTag string) *AboutGetCall {
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 *AboutGetCall) Context(ctx context.Context) *AboutGetCall {
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 *AboutGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *AboutGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200926")
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, "about")
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 "drive.about.get" call.
// Exactly one of *About or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *About.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 *AboutGetCall) Do(opts ...googleapi.CallOption) (*About, 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 := &About{
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": "Gets information about the user, the user's Drive, and system capabilities.",
// "httpMethod": "GET",
// "id": "drive.about.get",
// "path": "about",
// "response": {
// "$ref": "About"
// },
// "scopes": [
// "https://www.googleapis.com/auth/drive",
// "https://www.googleapis.com/auth/drive.appdata",
// "https://www.googleapis.com/auth/drive.file",
// "https://www.googleapis.com/auth/drive.metadata",
// "https://www.googleapis.com/auth/drive.metadata.readonly",
// "https://www.googleapis.com/auth/drive.photos.readonly",
// "https://www.googleapis.com/auth/drive.readonly"
// ]
// }
}
// method id "drive.changes.getStartPageToken":
type ChangesGetStartPageTokenCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetStartPageToken: Gets the starting pageToken for listing future
// changes.
func (r *ChangesService) GetStartPageToken() *ChangesGetStartPageTokenCall {
c := &ChangesGetStartPageTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
// DriveId sets the optional parameter "driveId": The ID of the shared
// drive for which the starting pageToken for listing future changes
// from that shared drive is returned.
func (c *ChangesGetStartPageTokenCall) DriveId(driveId string) *ChangesGetStartPageTokenCall {
c.urlParams_.Set("driveId", driveId)
return c
}
// SupportsAllDrives sets the optional parameter "supportsAllDrives":
// Whether the requesting application supports both My Drives and shared
// drives.
func (c *ChangesGetStartPageTokenCall) SupportsAllDrives(supportsAllDrives bool) *ChangesGetStartPageTokenCall {
c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
return c
}
// SupportsTeamDrives sets the optional parameter "supportsTeamDrives":
// Deprecated use supportsAllDrives instead.
func (c *ChangesGetStartPageTokenCall) SupportsTeamDrives(supportsTeamDrives bool) *ChangesGetStartPageTokenCall {
c.urlParams_.Set("supportsTeamDrives", fmt.Sprint(supportsTeamDrives))
return c
}
// TeamDriveId sets the optional parameter "teamDriveId": Deprecated use
// driveId instead.
func (c *ChangesGetStartPageTokenCall) TeamDriveId(teamDriveId string) *ChangesGetStartPageTokenCall {
c.urlParams_.Set("teamDriveId", teamDriveId)
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 *ChangesGetStartPageTokenCall) Fields(s ...googleapi.Field) *ChangesGetStartPageTokenCall {
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 *ChangesGetStartPageTokenCall) IfNoneMatch(entityTag string) *ChangesGetStartPageTokenCall {
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 *ChangesGetStartPageTokenCall) Context(ctx context.Context) *ChangesGetStartPageTokenCall {
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 *ChangesGetStartPageTokenCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ChangesGetStartPageTokenCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200926")
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, "changes/startPageToken")
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 "drive.changes.getStartPageToken" call.
// Exactly one of *StartPageToken or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *StartPageToken.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 *ChangesGetStartPageTokenCall) Do(opts ...googleapi.CallOption) (*StartPageToken, 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 := &StartPageToken{
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": "Gets the starting pageToken for listing future changes.",
// "httpMethod": "GET",
// "id": "drive.changes.getStartPageToken",
// "parameters": {
// "driveId": {
// "description": "The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive is returned.",
// "location": "query",
// "type": "string"
// },
// "supportsAllDrives": {
// "default": "false",
// "description": "Whether the requesting application supports both My Drives and shared drives.",
// "location": "query",
// "type": "boolean"
// },
// "supportsTeamDrives": {
// "default": "false",
// "description": "Deprecated use supportsAllDrives instead.",
// "location": "query",
// "type": "boolean"
// },
// "teamDriveId": {
// "description": "Deprecated use driveId instead.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "changes/startPageToken",
// "response": {
// "$ref": "StartPageToken"
// },
// "scopes": [
// "https://www.googleapis.com/auth/drive",
// "https://www.googleapis.com/auth/drive.appdata",
// "https://www.googleapis.com/auth/drive.file",
// "https://www.googleapis.com/auth/drive.metadata",
// "https://www.googleapis.com/auth/drive.metadata.readonly",
// "https://www.googleapis.com/auth/drive.photos.readonly",
// "https://www.googleapis.com/auth/drive.readonly"
// ]
// }
}
// method id "drive.changes.list":
type ChangesListCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists the changes for a user or shared drive.
func (r *ChangesService) List(pageToken string) *ChangesListCall {
c := &ChangesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.urlParams_.Set("pageToken", pageToken)
return c
}
// DriveId sets the optional parameter "driveId": The shared drive from
// which changes are returned. If specified the change IDs will be
// reflective of the shared drive; use the combined drive ID and change
// ID as an identifier.
func (c *ChangesListCall) DriveId(driveId string) *ChangesListCall {
c.urlParams_.Set("driveId", driveId)
return c
}
// IncludeCorpusRemovals sets the optional parameter
// "includeCorpusRemovals": Whether changes should include the file
// resource if the file is still accessible by the user at the time of
// the request, even when a file was removed from the list of changes
// and there will be no further change entries for this file.
func (c *ChangesListCall) IncludeCorpusRemovals(includeCorpusRemovals bool) *ChangesListCall {
c.urlParams_.Set("includeCorpusRemovals", fmt.Sprint(includeCorpusRemovals))
return c
}
// IncludeItemsFromAllDrives sets the optional parameter
// "includeItemsFromAllDrives": Whether both My Drive and shared drive
// items should be included in results.
func (c *ChangesListCall) IncludeItemsFromAllDrives(includeItemsFromAllDrives bool) *ChangesListCall {
c.urlParams_.Set("includeItemsFromAllDrives", fmt.Sprint(includeItemsFromAllDrives))
return c
}
// IncludePermissionsForView sets the optional parameter
// "includePermissionsForView": Specifies which additional view's
// permissions to include in the response. Only 'published' is
// supported.
func (c *ChangesListCall) IncludePermissionsForView(includePermissionsForView string) *ChangesListCall {
c.urlParams_.Set("includePermissionsForView", includePermissionsForView)
return c
}
// IncludeRemoved sets the optional parameter "includeRemoved": Whether
// to include changes indicating that items have been removed from the
// list of changes, for example by deletion or loss of access.
func (c *ChangesListCall) IncludeRemoved(includeRemoved bool) *ChangesListCall {
c.urlParams_.Set("includeRemoved", fmt.Sprint(includeRemoved))
return c
}
// IncludeTeamDriveItems sets the optional parameter
// "includeTeamDriveItems": Deprecated use includeItemsFromAllDrives
// instead.
func (c *ChangesListCall) IncludeTeamDriveItems(includeTeamDriveItems bool) *ChangesListCall {
c.urlParams_.Set("includeTeamDriveItems", fmt.Sprint(includeTeamDriveItems))
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number
// of changes to return per page.
func (c *ChangesListCall) PageSize(pageSize int64) *ChangesListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// RestrictToMyDrive sets the optional parameter "restrictToMyDrive":
// Whether to restrict the results to changes inside the My Drive
// hierarchy. This omits changes to files such as those in the
// Application Data folder or shared files which have not been added to
// My Drive.
func (c *ChangesListCall) RestrictToMyDrive(restrictToMyDrive bool) *ChangesListCall {
c.urlParams_.Set("restrictToMyDrive", fmt.Sprint(restrictToMyDrive))
return c
}
// Spaces sets the optional parameter "spaces": A comma-separated list
// of spaces to query within the user corpus. Supported values are
// 'drive', 'appDataFolder' and 'photos'.
func (c *ChangesListCall) Spaces(spaces string) *ChangesListCall {
c.urlParams_.Set("spaces", spaces)
return c
}
// SupportsAllDrives sets the optional parameter "supportsAllDrives":
// Whether the requesting application supports both My Drives and shared
// drives.
func (c *ChangesListCall) SupportsAllDrives(supportsAllDrives bool) *ChangesListCall {
c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
return c
}
// SupportsTeamDrives sets the optional parameter "supportsTeamDrives":
// Deprecated use supportsAllDrives instead.
func (c *ChangesListCall) SupportsTeamDrives(supportsTeamDrives bool) *ChangesListCall {
c.urlParams_.Set("supportsTeamDrives", fmt.Sprint(supportsTeamDrives))
return c
}
// TeamDriveId sets the optional parameter "teamDriveId": Deprecated use
// driveId instead.
func (c *ChangesListCall) TeamDriveId(teamDriveId string) *ChangesListCall {
c.urlParams_.Set("teamDriveId", teamDriveId)
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 *ChangesListCall) Fields(s ...googleapi.Field) *ChangesListCall {
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 *ChangesListCall) IfNoneMatch(entityTag string) *ChangesListCall {
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 *ChangesListCall) Context(ctx context.Context) *ChangesListCall {
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 *ChangesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200926")
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, "changes")
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 "drive.changes.list" call.
// Exactly one of *ChangeList or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *ChangeList.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 *ChangesListCall) Do(opts ...googleapi.CallOption) (*ChangeList, 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 := &ChangeList{
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 the changes for a user or shared drive.",
// "httpMethod": "GET",