@types/google-apps-script
Version:
TypeScript definitions for google-apps-script
562 lines (561 loc) • 144 kB
TypeScript
/// <reference path="../google-apps-script.types.d.ts" />
declare namespace GoogleAppsScript {
namespace Drive_v3 {
namespace Drive {
namespace V3 {
namespace Schema {
/**Information about a Drive user.*/
interface User {
/**Output only. A plain text displayable name for this user.*/
displayName?: string;
/**Output only. 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;
/**Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#user"`.*/
kind?: string;
/**Output only. Whether this user is the requesting user.*/
me?: boolean;
/**Output only. The user's ID as visible in Permission resources.*/
permissionId?: string;
/**Output only.A link to the user 's profile photo, if available.*/
photoLink?: string;
}
/**A set of restrictions that apply to this Team Drive or items inside this Team Drive.*/
interface TeamDriveRestrictions {
/**Whether administrative privileges on this Team Drive are required to modify restrictions.*/
adminManagedRestrictions?: boolean;
/**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?: boolean;
/**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?: boolean;
/**If true, only users with the organizer role can share folders. If false, users with either the organizer role or the file organizer role can share folders.*/
sharingFoldersRequiresOrganizerPermission?: boolean;
/**Whether access to items inside this Team Drive is restricted to members of this Team Drive.*/
teamMembersOnly?: boolean;
}
/**A list of Team Drives.*/
interface TeamDriveList {
/**Identifies what kind of resource this is. Value: the fixed string `"drive#teamDriveList"`.*/
kind?: string;
/**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. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ.*/
nextPageToken?: string;
/**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?: Drive_v3.Drive.V3.Schema.TeamDrive[];
}
/**Capabilities the current user has on this Team Drive.*/
interface TeamDriveCapabilities {
/**Whether the current user can add children to folders in this Team Drive.*/
canAddChildren?: boolean;
/**Whether the current user can change the `copyRequiresWriterPermission` restriction of this Team Drive.*/
canChangeCopyRequiresWriterPermissionRestriction?: boolean;
/**Whether the current user can change the `domainUsersOnly` restriction of this Team Drive.*/
canChangeDomainUsersOnlyRestriction?: boolean;
/**Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this Team Drive.*/
canChangeSharingFoldersRequiresOrganizerPermissionRestriction?: boolean;
/**Whether the current user can change the background of this Team Drive.*/
canChangeTeamDriveBackground?: boolean;
/**Whether the current user can change the `teamMembersOnly` restriction of this Team Drive.*/
canChangeTeamMembersOnlyRestriction?: boolean;
/**Whether the current user can comment on files in this Team Drive.*/
canComment?: boolean;
/**Whether the current user can copy files in this Team Drive.*/
canCopy?: boolean;
/**Whether the current user can delete children from folders in this Team Drive.*/
canDeleteChildren?: boolean;
/**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?: boolean;
/**Whether the current user can download files in this Team Drive.*/
canDownload?: boolean;
/**Whether the current user can edit files in this Team Drive*/
canEdit?: boolean;
/**Whether the current user can list the children of folders in this Team Drive.*/
canListChildren?: boolean;
/**Whether the current user can add members to this Team Drive or remove them or change their role.*/
canManageMembers?: boolean;
/**Whether the current user can read the revisions resource of files in this Team Drive.*/
canReadRevisions?: boolean;
/**Deprecated: Use `canDeleteChildren` or `canTrashChildren` instead.*/
canRemoveChildren?: boolean;
/**Whether the current user can rename files or folders in this Team Drive.*/
canRename?: boolean;
/**Whether the current user can rename this Team Drive.*/
canRenameTeamDrive?: boolean;
/**Whether the current user can reset the Team Drive restrictions to defaults.*/
canResetTeamDriveRestrictions?: boolean;
/**Whether the current user can share files or folders in this Team Drive.*/
canShare?: boolean;
/**Whether the current user can trash children from folders in this Team Drive.*/
canTrashChildren?: boolean;
}
/**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.*/
interface TeamDriveBackgroundImageFile {
/**The ID of an image file in Drive to use for the background image.*/
id?: string;
/**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?: number;
/**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?: number;
/**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?: number;
}
/**Deprecated: use the drive collection instead.*/
interface TeamDrive {
/**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?: Drive_v3.Drive.V3.Schema.TeamDriveBackgroundImageFile;
/**A short-lived link to this Team Drive's background image.*/
backgroundImageLink?: string;
/**Capabilities the current user has on this Team Drive.*/
capabilities?: Drive_v3.Drive.V3.Schema.TeamDriveCapabilities;
/**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;
/**The time at which the Team Drive was created(RFC 3339 date-time).*/
createdTime?: string;
/**The ID of this Team Drive which is also the ID of the top level folder of this Team Drive.*/
id?: string;
/**Identifies what kind of resource this is.Value: the fixed string `"drive#teamDrive"`.*/
kind?: string;
/**The name of this Team Drive.*/
name?: string;
/**The organizational unit of this shared drive.This field is only populated on `drives.list`responses when the `useDomainAdminAccess`parameter is set to `true`.*/
orgUnitId?: string;
/**A set of restrictions that apply to this Team Drive or items inside this Team Drive.*/
restrictions?: Drive_v3.Drive.V3.Schema.TeamDriveRestrictions;
/**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;
}
/**The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).*/
interface Status {
/**The status code, which should be an enum value of google.rpc.Code.*/
code?: Integer;
/**A list of messages that carry the error details. There is a common set of message types for APIs to use.*/
details?: Record<string, any>[];
/**A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.*/
message?: string;
}
interface StartPageToken {
/**Identifies what kind of resource this is. Value: the fixed string `"drive#startPageToken"`.*/
kind?: string;
/**The starting page token for listing future changes. The page token doesn't expire.*/
startPageToken?: string;
}
/**A list of revisions of a file.*/
interface RevisionList {
/**Identifies what kind of resource this is.Value: the fixed string `"drive#revisionList"`.*/
kind?: string;
/**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.The page token is typically valid for several hours.However,if new items are added or removed,your expected results might differ.*/
nextPageToken?: string;
/**The list of revisions.If nextPageToken is populated,then this list may be incomplete and an additional page of results should be fetched.*/
revisions?: Drive_v3.Drive.V3.Schema.Revision[];
}
/**The metadata for a revision to a file.Some resource methods(such as `revisions.update`)require a `revisionId`.Use the `revisions.list`method to retrieve the ID for a revision.*/
interface Revision {
/**Output only.Links for exporting Docs Editors files to specific formats.*/
exportLinks?: Record<string, string>;
/**Output only.The ID of the revision.*/
id?: string;
/**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?: boolean;
/**Output only.Identifies what kind of resource this is.Value: the fixed string `"drive#revision"`.*/
kind?: string;
/**Output only.The last user to modify this revision.This field is only populated when the last modification was performed by a signed-in user.*/
lastModifyingUser?: Drive_v3.Drive.V3.Schema.User;
/**Output only.The MD5 checksum of the revision 's content. This is only applicable to files with binary content in Drive.*/
md5Checksum?: string;
/**Output only. The MIME type of the revision.*/
mimeType?: string;
/**The last time the revision was modified (RFC 3339 date-time).*/
modifiedTime?: string;
/**Output only. The original filename used to create this revision. This is only applicable to files with binary content in Drive.*/
originalFilename?: string;
/**Whether subsequent revisions will be automatically republished. This is only applicable to Docs Editors files.*/
publishAuto?: boolean;
/**Whether this revision is published. This is only applicable to Docs Editors files.*/
published?: boolean;
/**Output only. A link to the published revision. This is only populated for Google Sites files.*/
publishedLink?: string;
/**Whether this revision is published outside the domain. This is only applicable to Docs Editors files.*/
publishedOutsideDomain?: boolean;
/**Output only. The size of the revision's content in bytes.This is only applicable to files with binary content in Drive.*/
size?: string;
}
/**A list of replies to a comment on a file.*/
interface ReplyList {
/**Identifies what kind of resource this is.Value: the fixed string `"drive#replyList"`.*/
kind?: string;
/**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.The page token is typically valid for several hours.However,if new items are added or removed,your expected results might differ.*/
nextPageToken?: string;
/**The list of replies.If nextPageToken is populated,then this list may be incomplete and an additional page of results should be fetched.*/
replies?: Drive_v3.Drive.V3.Schema.Reply[];
}
/**A reply to a comment on a file.Some resource methods(such as `replies.update`)require a `replyId`.Use the `replies.list`method to retrieve the ID for a reply.*/
interface Reply {
/**The action the reply performed to the parent comment.Valid values are: *`resolve`*`reopen`*/
action?: string;
/**Output only.The author of the reply.The author 's email address and permission ID will not be populated.*/
author?: Drive_v3.Drive.V3.Schema.User;
/**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;
/**The time at which the reply was created (RFC 3339 date-time).*/
createdTime?: string;
/**Output only. Whether the reply has been deleted. A deleted reply has no content.*/
deleted?: boolean;
/**Output only. The content of the reply with HTML formatting.*/
htmlContent?: string;
/**Output only. The ID of the reply.*/
id?: string;
/**Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#reply"`.*/
kind?: string;
/**The last time the reply was modified (RFC 3339 date-time).*/
modifiedTime?: string;
}
interface PermissionTeamDrivePermissionDetails {
/**Deprecated: Output only. Use `permissionDetails/inherited` instead.*/
inherited?: boolean;
/**Deprecated: Output only. Use `permissionDetails/inheritedFrom` instead.*/
inheritedFrom?: string;
/**Deprecated: Output only. Use `permissionDetails/role` instead.*/
role?: string;
/**Deprecated: Output only. Use `permissionDetails/permissionType` instead.*/
teamDrivePermissionType?: string;
}
interface PermissionPermissionDetails {
/**Output only. Whether this permission is inherited. This field is always populated. This is an output-only field.*/
inherited?: boolean;
/**Output only. The ID of the item from which this permission is inherited. This is an output-only field.*/
inheritedFrom?: string;
/**Output only. The permission type for this user. While new values may be added in future, the following are currently possible: * `file` * `member`*/
permissionType?: string;
/**Output only. 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;
}
/**A list of permissions for a file.*/
interface PermissionList {
/**Identifies what kind of resource this is. Value: the fixed string `"drive#permissionList"`.*/
kind?: string;
/**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. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ.*/
nextPageToken?: string;
/**The list of permissions. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.*/
permissions?: Drive_v3.Drive.V3.Schema.Permission[];
}
/**A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. Some resource methods (such as `permissions.update`) require a `permissionId`. Use the `permissions.list` method to retrieve the ID for a file, folder, or shared drive.*/
interface Permission {
/**Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type `domain` or `anyone`.*/
allowFileDiscovery?: boolean;
/**Output only. Whether the account associated with this permission has been deleted. This field only pertains to user and group permissions.*/
deleted?: boolean;
/**Output only. 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;
/**The domain to which this permission refers.*/
domain?: string;
/**The email address of the user or group to which this permission refers.*/
emailAddress?: string;
/**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;
/**Output only. 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;
/**Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#permission"`.*/
kind?: string;
/**Whether the account associated with this permission is a pending owner. Only populated for `user` type permissions for files that are not in a shared drive.*/
pendingOwner?: boolean;
/**Output only. 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?: Drive_v3.Drive.V3.Schema.PermissionPermissionDetails[];
/**Output only. A link to the user's profile photo, if available.*/
photoLink?: string;
/**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;
/**Output only. Deprecated: Output only. Use `permissionDetails` instead.*/
teamDrivePermissionDetails?: Drive_v3.Drive.V3.Schema.PermissionTeamDrivePermissionDetails[];
/**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 an `anyone` type.*/
type?: string;
/**Indicates the view for this permission. Only populated for permissions that belong to a view. 'published' is the only supported value.*/
view?: string;
}
/**This resource represents a long-running operation that is the result of a network API call.*/
interface Operation {
/**If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.*/
done?: boolean;
/**The error result of the operation in case of failure or cancellation.*/
error?: Drive_v3.Drive.V3.Schema.Status;
/**Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.*/
metadata?: Record<string, any>;
/**The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.*/
name?: string;
/**The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.*/
response?: Record<string, any>;
}
/**Response to a ModifyLabels request. This contains only those labels which were added or updated by the request.*/
interface ModifyLabelsResponse {
/**This is always drive#modifyLabelsResponse*/
kind: string;
/**The list of labels which were added or updated by the request.*/
modifiedLabels: Drive_v3.Drive.V3.Schema.Label[];
}
/**A request to modify the set of labels on a file. This request may contain many modifications that will either all succeed or all fail atomically.*/
interface ModifyLabelsRequest {
/**This is always drive#modifyLabelsRequest.*/
kind: string;
/**The list of modifications to apply to the labels on the file.*/
labelModifications: Drive_v3.Drive.V3.Schema.LabelModification[];
}
/**The response message for Operations.ListOperations.*/
interface ListOperationsResponse {
/**The standard List next-page token.*/
nextPageToken?: string;
/**A list of operations that matches the specified filter in the request.*/
operations?: Drive_v3.Drive.V3.Schema.Operation[];
}
/**A modification to a label on a file. A LabelModification can be used to apply a label to a file, update an existing label on a file, or remove a label from a file.*/
interface LabelModification {
/**The list of modifications to this label's fields.*/
fieldModifications: Drive_v3.Drive.V3.Schema.LabelFieldModification[];
/**This is always drive#labelModification.*/
kind: string;
/**The ID of the label to modify.*/
labelId: string;
/**If true, the label will be removed from the file.*/
removeLabel: boolean;
}
/**A list of labels applied to a file.*/
interface LabelList {
/**This is always drive#labelList*/
kind?: string;
/**The list of labels.*/
labels?: Drive_v3.Drive.V3.Schema.Label[];
/**The page token for the next page of labels. This field 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. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ.*/
nextPageToken?: string;
}
/**A modification to a label's field.*/
interface LabelFieldModification {
/**The ID of the field to be modified.*/
fieldId: string;
/**This is always drive#labelFieldModification.*/
kind: string;
/**Replaces the value of a dateString Field with these new values. The string must be in the RFC 3339 full-date format: YYYY-MM-DD.*/
setDateValues: string[];
/**Replaces the value of an `integer` field with these new values.*/
setIntegerValues: string[];
/**Replaces a `selection` field with these new values.*/
setSelectionValues: string[];
/**Sets the value of a `text` field.*/
setTextValues: string[];
/**Replaces a `user` field with these new values. The values must be valid email addresses.*/
setUserValues: string[];
/**Unsets the values for this field.*/
unsetValues: boolean;
}
/**Representation of field, which is a typed key-value pair.*/
interface LabelField {
/**Only present if valueType is dateString. RFC 3339 formatted date: YYYY-MM-DD.*/
dateString?: string[];
/**The identifier of this label field.*/
id?: string;
/**Only present if `valueType` is `integer`.*/
integer?: string[];
/**This is always drive#labelField.*/
kind?: string;
/**Only present if `valueType` is `selection`*/
selection?: string[];
/**Only present if `valueType` is `text`.*/
text?: string[];
/**Only present if `valueType` is `user`.*/
user?: Drive_v3.Drive.V3.Schema.User[];
/**The field type. While new values may be supported in the future, the following are currently allowed: * `dateString` * `integer` * `selection` * `text` * `user`*/
valueType?: string;
}
/**Representation of label and label fields.*/
interface Label {
/**A map of the fields on the label, keyed by the field's ID.*/
fields?: Record<string, LabelField>;
/**The ID of the label.*/
id?: string;
/**This is always drive#label*/
kind?: string;
/**The revision ID of the label.*/
revisionId?: string;
}
/**A list of generated file IDs which can be provided in create requests.*/
interface GeneratedIds {
/**The IDs generated for the requesting user in the specified space.*/
ids?: string[];
/**Identifies what kind of resource this is. Value: the fixed string `"drive#generatedIds"`.*/
kind?: string;
/**The type of file that can be created with these IDs.*/
space?: string;
}
/**Output only. Additional metadata about video media. This may not be available immediately upon upload.*/
interface FileVideoMediaMetadata {
/**Output only. The duration of the video in milliseconds.*/
durationMillis?: string;
/**Output only. The height of the video in pixels.*/
height?: Integer;
/**Output only. The width of the video in pixels.*/
width?: Integer;
}
/**Shortcut file details. Only populated for shortcut files, which have the mimeType field set to `application/vnd.google-apps.shortcut`. Can only be set on `files.create` requests.*/
interface FileShortcutDetails {
/**The ID of the file that this shortcut points to. Can only be set on `files.create` requests.*/
targetId?: string;
/**Output only. 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;
/**Output only. The ResourceKey for the target file.*/
targetResourceKey?: string;
}
/**A list of files.*/
interface FileList {
/**The list of files. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.*/
files?: Drive_v3.Drive.V3.Schema.File[];
/**Whether the search process was incomplete. If true, then some search results might be missing, since all documents were not searched. This can occur when searching multiple drives with the 'allDrives' corpora, but all corpora couldn't be searched. When this happens, it's suggested that clients narrow their query by choosing a different corpus such as 'user' or 'drive'.*/
incompleteSearch?: boolean;
/**Identifies what kind of resource this is. Value: the fixed string `"drive#fileList"`.*/
kind?: string;
/**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. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ.*/
nextPageToken?: string;
}
/**Contains details about the link URLs that clients are using to refer to this item.*/
interface FileLinkShareMetadata {
/**Output only. Whether the file is eligible for security update.*/
securityUpdateEligible?: boolean;
/**Output only. Whether the security update is enabled for this file.*/
securityUpdateEnabled?: boolean;
}
/**Output only. An overview of the labels on the file.*/
interface FileLabelInfo {
/**Output only. The set of labels on the file as requested by the label IDs in the `includeLabels` parameter. By default, no labels are returned.*/
labels?: Drive_v3.Drive.V3.Schema.Label[];
}
/**Output only. Geographic location information stored in the image.*/
interface FileImageMediaMetadataLocation {
/**Output only. The altitude stored in the image.*/
altitude?: number;
/**Output only. The latitude stored in the image.*/
latitude?: number;
/**Output only. The longitude stored in the image.*/
longitude?: number;
}
/**Output only. Additional metadata about image media, if available.*/
interface FileImageMediaMetadata {
/**Output only. The aperture used to create the photo (f-number).*/
aperture?: number;
/**Output only. The make of the camera used to create the photo.*/
cameraMake?: string;
/**Output only. The model of the camera used to create the photo.*/
cameraModel?: string;
/**Output only. The color space of the photo.*/
colorSpace?: string;
/**Output only. The exposure bias of the photo (APEX value).*/
exposureBias?: number;
/**Output only. The exposure mode used to create the photo.*/
exposureMode?: string;
/**Output only. The length of the exposure, in seconds.*/
exposureTime?: number;
/**Output only. Whether a flash was used to create the photo.*/
flashUsed?: boolean;
/**Output only. The focal length used to create the photo, in millimeters.*/
focalLength?: number;
/**Output only. The height of the image in pixels.*/
height?: Integer;
/**Output only. The ISO speed used to create the photo.*/
isoSpeed?: Integer;
/**Output only. The lens used to create the photo.*/
lens?: string;
/**Output only. Geographic location information stored in the image.*/
location?: Drive_v3.Drive.V3.Schema.FileImageMediaMetadataLocation;
/**Output only. The smallest f-number of the lens at the focal length used to create the photo (APEX value).*/
maxApertureValue?: number;
/**Output only. The metering mode used to create the photo.*/
meteringMode?: string;
/**Output only. The number of clockwise 90 degree rotations applied from the image's original orientation.*/
rotation?: Integer;
/**Output only. The type of sensor used to create the photo.*/
sensor?: string;
/**Output only. The distance to the subject of the photo, in meters.*/
subjectDistance?: Integer;
/**Output only. The date and time the photo was taken (EXIF DateTime).*/
time?: string;
/**Output only. The white balance mode used to create the photo.*/
whiteBalance?: string;
/**Output only. The width of the image in pixels.*/
width?: Integer;
}
/**A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail.*/
interface FileContentHintsThumbnail {
/**The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).*/
image?: Byte[];
/**The MIME type of the thumbnail.*/
mimeType?: string;
}
/**Additional information about the content of the file. These fields are never populated in responses.*/
interface FileContentHints {
/**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;
/**A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail.*/
thumbnail?: Drive_v3.Drive.V3.Schema.FileContentHintsThumbnail;
}
/**Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take.*/
interface FileCapabilities {
/**Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.*/
canAcceptOwnership?: boolean;
/**Output only. Whether the current user can add children to this folder. This is always false when the item is not a folder.*/
canAddChildren?: boolean;
/**Output only. 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?: boolean;
/**Output only. 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?: boolean;
/**Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this file.*/
canChangeCopyRequiresWriterPermission?: boolean;
/**Output only. Whether the current user can change the securityUpdateEnabled field on link share metadata.*/
canChangeSecurityUpdateEnabled?: boolean;
/**Deprecated: Output only.*/
canChangeViewersCanCopyContent?: boolean;
/**Output only. Whether the current user can comment on this file.*/
canComment?: boolean;
/**Output only. 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?: boolean;
/**Output only. Whether the current user can delete this file.*/
canDelete?: boolean;
/**Output only. 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?: boolean;
/**Output only. Whether the current user can download this file.*/
canDownload?: boolean;
/**Output only. 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?: boolean;
/**Output only. Whether the current user can list the children of this folder. This is always false when the item is not a folder.*/
canListChildren?: boolean;
/**Output only. Whether the current user can modify the content of this file.*/
canModifyContent?: boolean;
/**Deprecated: Output only. Use one of `canModifyEditorContentRestriction`, `canModifyOwnerContentRestriction` or `canRemoveContentRestriction`.*/
canModifyContentRestriction?: boolean;
/**Output only. Whether the current user can add or modify content restrictions on the file which are editor restricted.*/
canModifyEditorContentRestriction?: boolean;
/**Output only. Whether the current user can modify the labels on the file.*/
canModifyLabels?: boolean;
/**Output only. Whether the current user can add or modify content restrictions which are owner restricted.*/
canModifyOwnerContentRestriction?: boolean;
/**Output only. 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?: boolean;
/**Deprecated: Output only. Use `canMoveChildrenOutOfDrive` instead.*/
canMoveChildrenOutOfTeamDrive?: boolean;
/**Output only. 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?: boolean;
/**Deprecated: Output only. Use `canMoveChildrenWithinDrive` instead.*/
canMoveChildrenWithinTeamDrive?: boolean;
/**Deprecated: Output only. Use `canMoveItemOutOfDrive` instead.*/
canMoveItemIntoTeamDrive?: boolean;
/**Output only. 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?: boolean;
/**Deprecated: Output only. Use `canMoveItemOutOfDrive` instead.*/
canMoveItemOutOfTeamDrive?: boolean;
/**Output only. 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?: boolean;
/**Deprecated: Output only. Use `canMoveItemWithinDrive` instead.*/
canMoveItemWithinTeamDrive?: boolean;
/**Deprecated: Output only. Use `canMoveItemWithinDrive` or `canMoveItemOutOfDrive` instead.*/
canMoveTeamDriveItem?: boolean;
/**Output only. Whether the current user can read the shared drive to which this file belongs. Only populated for items in shared drives.*/
canReadDrive?: boolean;
/**Output only. Whether the current user can read the labels on the file.*/
canReadLabels?: boolean;
/**Output only. 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?: boolean;
/**Deprecated: Output only. Use `canReadDrive` instead.*/
canReadTeamDrive?: boolean;
/*