REST Resource: files

资源:File

文件的元数据。

JSON 表示法
{
  "kind": string,
  "driveId": string,
  "fileExtension": string,
  "copyRequiresWriterPermission": boolean,
  "md5Checksum": string,
  "contentHints": {
    "indexableText": string,
    "thumbnail": {
      "image": string,
      "mimeType": string
    }
  },
  "writersCanShare": boolean,
  "viewedByMe": boolean,
  "mimeType": string,
  "exportLinks": {
    string: string,
    ...
  },
  "parents": [
    string
  ],
  "thumbnailLink": string,
  "iconLink": string,
  "shared": boolean,
  "lastModifyingUser": {
    object (User)
  },
  "owners": [
    {
      object (User)
    }
  ],
  "headRevisionId": string,
  "sharingUser": {
    object (User)
  },
  "webViewLink": string,
  "webContentLink": string,
  "size": string,
  "viewersCanCopyContent": boolean,
  "permissions": [
    {
      object (Permission)
    }
  ],
  "hasThumbnail": boolean,
  "spaces": [
    string
  ],
  "folderColorRgb": string,
  "id": string,
  "name": string,
  "description": string,
  "starred": boolean,
  "trashed": boolean,
  "explicitlyTrashed": boolean,
  "createdTime": string,
  "modifiedTime": string,
  "modifiedByMeTime": string,
  "viewedByMeTime": string,
  "sharedWithMeTime": string,
  "quotaBytesUsed": string,
  "version": string,
  "originalFilename": string,
  "ownedByMe": boolean,
  "fullFileExtension": string,
  "properties": {
    string: value,
    ...
  },
  "appProperties": {
    string: value,
    ...
  },
  "isAppAuthorized": boolean,
  "teamDriveId": string,
  "capabilities": {
    "canChangeViewersCanCopyContent": boolean,
    "canMoveChildrenOutOfDrive": boolean,
    "canReadDrive": boolean,
    "canEdit": boolean,
    "canCopy": boolean,
    "canComment": boolean,
    "canAddChildren": boolean,
    "canDelete": boolean,
    "canDownload": boolean,
    "canListChildren": boolean,
    "canRemoveChildren": boolean,
    "canRename": boolean,
    "canTrash": boolean,
    "canReadRevisions": boolean,
    "canReadTeamDrive": boolean,
    "canMoveTeamDriveItem": boolean,
    "canChangeCopyRequiresWriterPermission": boolean,
    "canMoveItemIntoTeamDrive": boolean,
    "canUntrash": boolean,
    "canModifyContent": boolean,
    "canMoveItemWithinTeamDrive": boolean,
    "canMoveItemOutOfTeamDrive": boolean,
    "canDeleteChildren": boolean,
    "canMoveChildrenOutOfTeamDrive": boolean,
    "canMoveChildrenWithinTeamDrive": boolean,
    "canTrashChildren": boolean,
    "canMoveItemOutOfDrive": boolean,
    "canAddMyDriveParent": boolean,
    "canRemoveMyDriveParent": boolean,
    "canMoveItemWithinDrive": boolean,
    "canShare": boolean,
    "canMoveChildrenWithinDrive": boolean,
    "canModifyContentRestriction": boolean,
    "canAddFolderFromAnotherDrive": boolean,
    "canChangeSecurityUpdateEnabled": boolean,
    "canAcceptOwnership": boolean,
    "canReadLabels": boolean,
    "canModifyLabels": boolean
  },
  "hasAugmentedPermissions": boolean,
  "trashingUser": {
    object (User)
  },
  "thumbnailVersion": string,
  "trashedTime": string,
  "modifiedByMe": boolean,
  "permissionIds": [
    string
  ],
  "imageMediaMetadata": {
    "flashUsed": boolean,
    "meteringMode": string,
    "sensor": string,
    "exposureMode": string,
    "colorSpace": string,
    "whiteBalance": string,
    "width": integer,
    "height": integer,
    "location": {
      "latitude": number,
      "longitude": number,
      "altitude": number
    },
    "rotation": integer,
    "time": string,
    "cameraMake": string,
    "cameraModel": string,
    "exposureTime": number,
    "aperture": number,
    "focalLength": number,
    "isoSpeed": integer,
    "exposureBias": number,
    "maxApertureValue": number,
    "subjectDistance": integer,
    "lens": string
  },
  "videoMediaMetadata": {
    "width": integer,
    "height": integer,
    "durationMillis": string
  },
  "shortcutDetails": {
    "targetId": string,
    "targetMimeType": string,
    "targetResourceKey": string
  },
  "contentRestrictions": [
    {
      object (ContentRestriction)
    }
  ],
  "resourceKey": string,
  "linkShareMetadata": {
    "securityUpdateEligible": boolean,
    "securityUpdateEnabled": boolean
  },
  "labelInfo": {
    "labels": [
      {
        object (Label)
      }
    ]
  },
  "sha1Checksum": string,
  "sha256Checksum": string
}
字段
kind

string

仅供输出。标识资源类型。值:固定字符串 "drive#file"

driveId

string

仅供输出。文件所在的共享云端硬盘的 ID。仅为共享云端硬盘中的内容填充。

fileExtension

string

仅供输出。fullFileExtension 的最终组件。仅适用于 Google 云端硬盘中包含二进制内容的文件。

copyRequiresWriterPermission

boolean

是否应为读者和评论者停用复制、打印或下载文件的选项。

md5Checksum

string

仅供输出。文件内容的 MD5 校验和。这仅适用于 Google 云端硬盘中包含二进制内容的文件。

contentHints

object

与文件内容相关的其他信息。响应中从不会填充这些字段。

contentHints.indexableText

string

为该文件编入索引的文本以改进 fullText 查询。长度上限为 128KB,可能包含 HTML 元素。

contentHints.thumbnail

object

文件的缩略图。仅当 Google 云端硬盘无法生成标准缩略图时,才会采用此政策。

contentHints.thumbnail.image

string (bytes format)

使用可在网址中安全使用的 Base64 编码的缩略图数据(RFC 4648 第 5 节)。

使用 base64 编码的字符串。

contentHints.thumbnail.mimeType

string

缩略图的 MIME 类型。

writersCanShare

boolean

仅具有 writer 权限的用户是否可以修改文件的权限。系统不会为共享云端硬盘中的内容填充此字段。

viewedByMe

boolean

仅供输出。文件是否已被用户查看。

mimeType

string

文件的 MIME 类型。

如果未提供任何值,Google 云端硬盘会尝试自动检测上传的内容所对应的适当值。除非上传新的修订版本,否则该值无法更改。

如果文件是 Google 文档 MIME 类型创建的,系统会尽可能导入已上传的内容。受支持的导入格式会在“关于”资源中发布。

parents[]

string

包含文件的父文件夹的 ID。

如果未在创建请求中指定该文件,则文件将直接放在用户的“我的云端硬盘”文件夹中。如果未在复制请求中指定,则文件会沿用源文件的所有可发现父级。files.update 请求必须使用 addParentsremoveParents 参数修改父级列表。

shared

boolean

仅供输出。文件是否已被共享。系统不会为共享云端硬盘中的内容填充此字段。

lastModifyingUser

object (User)

仅供输出。最后修改文件的用户。

owners[]

object (User)

仅供输出。此文件的所有者。只有某些旧版文件可以有多个所有者。对于共享云端硬盘中的内容,系统不会填充此字段。

headRevisionId

string

仅供输出。文件头修订版本的 ID。此设置目前仅适用于 Google 云端硬盘中包含二进制内容的文件。

sharingUser

object (User)

仅供输出。与提出请求的用户共享文件(如果适用)的用户。

size

string (int64 format)

仅供输出。blob 和第一方编辑器文件的大小(以字节为单位)。系统不会为没有大小的文件(例如快捷方式和文件夹)填充此字段。

viewersCanCopyContent
(deprecated)

boolean

已弃用:请改用 copyRequiresWriterPermission

permissions[]

object (Permission)

仅供输出。文件的完整权限列表。只有在提出请求的用户可以共享文件时,此选项才可用。系统不会为共享云端硬盘中的内容填充此字段。

hasThumbnail

boolean

仅供输出。此文件是否有缩略图。这并不表示请求授权的应用是否有权访问缩略图。如需查看访问权限,请找到缩略图链接字段是否存在。

spaces[]

string

仅供输出。包含该文件的聊天室的列表。目前支持的值为“drive”、“appDataFolder”和“photos”。

folderColorRgb

string

文件夹的颜色或文件夹的快捷方式,格式为 RGB 十六进制字符串。支持的颜色会发布到“关于”资源的 folderColorPalette 字段中。

如果指定了不受支持的颜色,系统会使用调色板中最接近的颜色。

id

string

文件的 ID。

name

string

文件的名称。在文件夹中,不一定是唯一的。请注意,对于不可变内容(例如共享云端硬盘的顶级文件夹、“我的云端硬盘”根文件夹和“应用数据”文件夹),其名称始终不变。

description

string

文件的简短说明,

starred

boolean

用户是否已为文件加星标。

trashed

boolean

表明文件是否已被移至回收站,无论是以明确方式移入回收站,还是从回收站中的父级文件夹中移除。只有所有者才能将文件移至回收站,其他用户看不到所有者回收站中的文件。

explicitlyTrashed

boolean

仅供输出。文件是否已被明确移至回收站,而不是以递归方式从父级文件夹中移至回收站。

createdTime

string

文件的创建时间(RFC 3339 日期时间)。

modifiedTime

string

任何人上次修改文件的时间(RFC 3339 日期时间)。

请注意,设置 modifiedTime 还会为用户更新 modifiedByMeTime

modifiedByMeTime

string

仅供输出。用户上次修改文件的时间(RFC 3339 日期时间)。

viewedByMeTime

string

用户上次查看文件的时间(RFC 3339 日期时间)。

sharedWithMeTime

string

仅供输出。与用户共享文件的时间(如果适用,RFC 3339 日期时间)。

quotaBytesUsed

string (int64 format)

仅供输出。文件使用的存储空间配额字节数。其中包括头修订版本以及启用了 keepForever 的先前修订版本。

version

string (int64 format)

仅供输出。单调递增的版本号。该值反映了您对服务器上的文件所做的所有更改,包括用户看不到的更改。

originalFilename

string

所上传内容的原始文件名(如果有),否则为 name 字段的原始值。仅适用于 Google 云端硬盘中包含二进制内容的文件。

ownedByMe

boolean

仅供输出。用户是否拥有文件。系统不会为共享云端硬盘中的内容填充此字段。

fullFileExtension

string

仅供输出。从 name 字段提取的完整文件扩展名。可能包含多个串联的扩展程序,例如“tar.gz”。仅适用于 Google 云端硬盘中包含二进制内容的文件。

name 字段发生更改时,系统会自动更新该值,但如果新名称不包含有效的扩展名,则不会清除该字段。

properties

map (key: string, value: value (Value format))

对所有键值对都可见的任意键值对的集合。

在更新和复制请求中会清除为 null 的条目。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

appProperties

map (key: string, value: value (Value format))

对请求应用不公开的任意键值对的集合。

在更新和复制请求中会清除为 null 的条目。

您只能使用经过身份验证的请求检索这些属性。经过身份验证的请求会使用通过 OAuth 2 客户端 ID 获取的访问令牌。您无法使用 API 密钥检索私有属性。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

isAppAuthorized

boolean

仅供输出。文件是否由发出请求的应用创建或打开。

teamDriveId
(deprecated)

string

已弃用:仅输出。请改用 driveId

capabilities

object

仅供输出。当前用户对此文件的权限。每种功能都对应着用户可能会执行的精细操作。

capabilities.canChangeViewersCanCopyContent
(deprecated)

boolean

已弃用:仅输出。

capabilities.canMoveChildrenOutOfDrive

boolean

仅供输出。当前用户是否可以将此文件夹的子级移出共享云端硬盘。如果内容不是文件夹,则该值为 false。仅为共享云端硬盘中的内容填充。

capabilities.canReadDrive

boolean

仅供输出。当前用户是否可以读取此文件所属的共享云端硬盘。仅为共享云端硬盘中的内容填充。

capabilities.canEdit

boolean

仅供输出。当前用户是否可以编辑此文件。其他因素可能限制用户对文件的更改类型。有关示例,请查看 canChangeCopyRequiresWriterPermissioncanModifyContent

capabilities.canCopy

boolean

仅供输出。当前用户是否可以复制此文件。对于共享云端硬盘中的相应内容,当前用户是否可以复制此内容的非文件夹后代,或者此内容本身(不是文件夹)。

capabilities.canComment

boolean

仅供输出。当前用户是否可以评论此文件。

capabilities.canAddChildren

boolean

仅供输出。当前用户是否可以向此文件夹添加子项。当内容不是文件夹时,此字段始终为 false。

capabilities.canDelete

boolean

仅供输出。当前用户是否可以删除此文件。

capabilities.canDownload

boolean

仅供输出。当前用户是否可以下载此文件。

capabilities.canListChildren

boolean

仅供输出。当前用户是否可以列出此文件夹的子级。当内容不是文件夹时,此字段始终为 false。

capabilities.canRemoveChildren

boolean

仅供输出。当前用户是否可以从此文件夹中移除儿童。当内容不是文件夹时,此字段始终为 false。对于共享云端硬盘中的文件夹,请改用 canDeleteChildrencanTrashChildren

capabilities.canRename

boolean

仅供输出。当前用户是否可以重命名此文件。

capabilities.canTrash

boolean

仅供输出。当前用户是否可以将此文件移至回收站。

capabilities.canReadRevisions

boolean

仅供输出。当前用户是否可以读取此文件的修订版本资源。对于共享云端硬盘内容,是否可读取此内容的非文件夹后代修订版本,或者此内容(如果不是文件夹)的读取内容。

capabilities.canReadTeamDrive
(deprecated)

boolean

已弃用:仅输出。请改用 canReadDrive

capabilities.canMoveTeamDriveItem
(deprecated)

boolean

已弃用:仅输出。请改用 canMoveItemWithinDrivecanMoveItemOutOfDrive

capabilities.canChangeCopyRequiresWriterPermission

boolean

仅供输出。当前用户是否可以更改此文件的 copyRequiresWriterPermission 限制。

capabilities.canMoveItemIntoTeamDrive
(deprecated)

boolean

已弃用:仅输出。请改用 canMoveItemOutOfDrive

capabilities.canUntrash

boolean

仅供输出。当前用户是否可以从回收站恢复此文件。

capabilities.canModifyContent

boolean

仅供输出。当前用户是否可以修改此文件的内容。

capabilities.canMoveItemWithinTeamDrive
(deprecated)

boolean

已弃用:仅输出。请改用 canMoveItemWithinDrive

capabilities.canMoveItemOutOfTeamDrive
(deprecated)

boolean

已弃用:仅输出。请改用 canMoveItemOutOfDrive

capabilities.canDeleteChildren

boolean

仅供输出。当前用户是否可以删除此文件夹的子级。如果内容不是文件夹,则该值为 false。仅为共享云端硬盘中的内容填充。

capabilities.canMoveChildrenOutOfTeamDrive
(deprecated)

boolean

已弃用:仅输出。请改用 canMoveChildrenOutOfDrive

capabilities.canMoveChildrenWithinTeamDrive
(deprecated)

boolean

已弃用:仅输出。请改用 canMoveChildrenWithinDrive

capabilities.canTrashChildren

boolean

仅供输出。当前用户是否可以将该文件夹的子级移至回收站。如果内容不是文件夹,则该值为 false。仅为共享云端硬盘中的内容填充。

capabilities.canMoveItemOutOfDrive

boolean

仅供输出。当前用户是否可以通过更改其父项将此内容移出此云端硬盘。请注意,更改项的父级请求可能仍会失败,具体取决于要添加的新父级。

capabilities.canAddMyDriveParent

boolean

仅供输出。当前用户是否可以为相应项添加父级,而无需移除同一请求中的现有父级。系统不会为共享云端硬盘文件填充此字段。

capabilities.canRemoveMyDriveParent

boolean

仅供输出。当前用户是否可以从相应项中移除父项,但不在同一请求中添加其他父项。系统不会为共享云端硬盘文件填充此字段。

capabilities.canMoveItemWithinDrive

boolean

仅供输出。当前用户是否可以在此云端硬盘中移动此内容。请注意,更改项的父级的请求可能仍会失败,具体取决于要添加的新父级以及要移除的父级。

capabilities.canShare

boolean

仅供输出。当前用户是否可以修改此文件的共享设置。

capabilities.canMoveChildrenWithinDrive

boolean

仅供输出。当前用户是否可以在此云端硬盘中移动此文件夹的子级。如果内容不是文件夹,则该值为 false。请注意,请求移动子项可能仍会失败,具体取决于当前用户对子项和目标文件夹的访问权限。

capabilities.canModifyContentRestriction

boolean

仅供输出。当前用户是否可以修改此文件内容的限制。

capabilities.canAddFolderFromAnotherDrive

boolean

仅供输出。当前用户是否可以将其他云端硬盘(其他共享云端硬盘或“我的云端硬盘”)中的文件夹添加到此文件夹。如果内容不是文件夹,则该值为 false。仅为共享云端硬盘中的内容填充。

capabilities.canChangeSecurityUpdateEnabled

boolean

仅供输出。当前用户是否可以更改链接共享元数据中的 securityUpdateEnabled 字段。

capabilities.canAcceptOwnership

boolean

仅供输出。当前用户是否为文件的受让所有者。系统不会为共享云端硬盘文件填充此字段。

capabilities.canReadLabels

boolean

仅供输出。当前用户是否可以读取文件的标签。

capabilities.canModifyLabels

boolean

仅供输出。当前用户是否可以修改文件的标签。

hasAugmentedPermissions

boolean

仅供输出。是否有直接对此文件的权限。仅为共享云端硬盘中的内容填充此字段。

trashingUser

object (User)

仅供输出。如果文件已被明确移至回收站,则将其移至回收站的用户。仅为共享云端硬盘中的内容填充。

thumbnailVersion

string (int64 format)

仅供输出。用于缩略图缓存失效操作的缩略图版本。

trashedTime

string

仅供输出。内容移至回收站的时间(RFC 3339 日期时间)。仅为共享云端硬盘中的内容填充。

modifiedByMe

boolean

仅供输出。该文件是否已被用户修改。

permissionIds[]

string

仅限输出。file.list 的权限列表,适用于有权访问此文件的用户。

imageMediaMetadata

object

仅供输出。有关图片媒体的其他元数据(如果有)。

imageMediaMetadata.flashUsed

boolean

仅供输出。是否使用闪光灯制作照片。

imageMediaMetadata.meteringMode

string

仅供输出。用于创建照片的测光模式。

imageMediaMetadata.sensor

string

仅供输出。用于创建照片的传感器类型。

imageMediaMetadata.exposureMode

string

仅供输出。用于创建照片的曝光模式。

imageMediaMetadata.colorSpace

string

仅供输出。照片的颜色空间。

imageMediaMetadata.whiteBalance

string

仅供输出。用于创建照片的白平衡模式。

imageMediaMetadata.width

integer

仅供输出。图片的宽度,以像素为单位。

imageMediaMetadata.height

integer

仅供输出。图片的高度,以像素为单位。

imageMediaMetadata.location

object

仅供输出。图片中存储的地理位置信息。

imageMediaMetadata.location.latitude

number

仅供输出。图片中存储的纬度。

imageMediaMetadata.location.longitude

number

仅供输出。图片中存储的经度。

imageMediaMetadata.location.altitude

number

仅供输出。图片中存储的海拔。

imageMediaMetadata.rotation

integer

仅供输出。从图片的原始方向应用的顺时针旋转 90 度。

imageMediaMetadata.time

string

仅供输出。照片拍摄的日期和时间(EXIF 日期时间)。

imageMediaMetadata.cameraMake

string

仅供输出。用于创建照片的相机的品牌。

imageMediaMetadata.cameraModel

string

仅供输出。用于创建照片的相机型号。

imageMediaMetadata.exposureTime

number

仅供输出。曝光的时长(以秒为单位)。

imageMediaMetadata.aperture

number

仅供输出。创建照片时使用的光圈(f 号)。

imageMediaMetadata.focalLength

number

仅供输出。用于创建照片的焦距,以毫米为单位。

imageMediaMetadata.isoSpeed

integer

仅供输出。用于创建照片的 ISO 速度。

imageMediaMetadata.exposureBias

number

仅供输出。照片的曝光偏差(APEX 值)。

imageMediaMetadata.maxApertureValue

number

仅供输出。焦距用于创建照片的最小 f 号(APEX 值)。

imageMediaMetadata.subjectDistance

integer

仅供输出。与照片正文的距离(以米为单位)。

imageMediaMetadata.lens

string

仅供输出。用于制作照片的镜头。

videoMediaMetadata

object

仅供输出。关于视频媒体的其他元数据。此图片在上传后可能不会立即显示。

videoMediaMetadata.width

integer

仅供输出。视频的宽度(以像素为单位)。

videoMediaMetadata.height

integer

仅供输出。视频的高度,以像素为单位。

videoMediaMetadata.durationMillis

string (int64 format)

仅供输出。视频的时长(以毫秒为单位)。

shortcutDetails

object

快捷方式文件详细信息。仅适用于快捷方式文件的 mimeType 字段已设置为 application/vnd.google-apps.shortcut

shortcutDetails.targetId

string

此快捷方式指向的文件的 ID。

shortcutDetails.targetMimeType

string

仅供输出。此快捷方式指向的文件的 MIME 类型。此字段的值是目标 MIME 类型的快照,在创建快捷方式后捕获。

shortcutDetails.targetResourceKey

string

仅供输出。目标文件的 ResourceKey。

contentRestrictions[]

object (ContentRestriction)

对文件内容的限制。仅当存在此类限制时才填充。

resourceKey

string

仅供输出。通过共享链接访问该项所需的密钥。

linkShareMetadata.securityUpdateEligible

boolean

仅供输出。文件是否符合安全更新的条件。

linkShareMetadata.securityUpdateEnabled

boolean

仅供输出。此文件是否启用了安全更新。

labelInfo

object

仅供输出。文件中标签的概览。

labelInfo.labels[]

object (Label)

仅供输出。根据 includeLabels 参数中的标签 ID 所请求的文件标签集。默认情况下,不会返回任何标签。

sha1Checksum

string

仅供输出。与此文件关联的 SHA1 校验和(如果有)。仅当内容存储在 Google 云端硬盘中时,此字段才会填充;对于文档编辑器或快捷方式文件,系统不会填充此字段。

sha256Checksum

string

仅供输出。与此文件关联的 SHA256 校验和(如果有)。仅当内容存储在 Google 云端硬盘中时,此字段才会填充;对于文档编辑器或快捷方式文件,系统不会填充此字段。

ContentRestriction

对文件内容的限制。

JSON 表示法
{
  "readOnly": boolean,
  "reason": string,
  "type": string,
  "restrictingUser": {
    object (User)
  },
  "restrictionTime": string
}
字段
readOnly

boolean

文件内容是否为只读。如果某个文件处于只读状态,则无法添加新的修订版本,也无法添加或修改评论,也无法修改文件标题。

reason

string

文件内容受限的原因。这仅对同时设置 readOnly=true 的请求是可变的。

type

string

仅供输出。内容限制的类型。目前唯一可能的值为 globalContentRestriction

restrictingUser

object (User)

仅供输出。设置内容限制的用户。仅当 readOnly 为 true 时填充。

restrictionTime

string

仅供输出。设置内容限制的时间(采用格式的 RFC 3339 时间戳)。仅当 readOnly 为 true 时填充。

方法

copy

创建文件的副本,并使用补丁语义应用请求的任何更新。

create

创建新文件。

delete

永久删除用户拥有的文件,而不会将其移至回收站。

emptyTrash

永久删除用户的所有回收站中的文件。

export

可将 Google Workspace 文档导出到请求的 MIME 类型,并返回导出的字节内容。

generateIds

生成一组可在创建或复制请求中提供的文件 ID。

get

根据 ID 获取文件的元数据或内容。

list

列出用户的文件。

listLabels

列出文件的标签。

modifyLabels

修改应用于文件的标签集。

update

更新文件的元数据和/或内容。

watch

订阅对文件的更改。