DriveItem 资源类型

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

表示存储在驱动器中的文件、文件夹或其他项。

OneDrive 和 SharePoint 中的所有文件系统对象将作为 driveItem 资源返回。 SharePoint 文档库中的项目可以表示为 listItemdriveItem 资源。

driveItem 资源的寻址方式主要有两种:

  • 通过 driveItem 唯一标识符使用 drive/items/{item-id} 的方式
  • 通过使用文件系统路径 /drive/root:/path/to/file 的方式

有关详细信息,请参阅 寻址 driveItems

DriveItem 资源具有建模为属性的方面,这些方面提供有关 driveItem 标识和功能的数据。 例如:

  • 文件夹具有 文件夹方面
  • 文件具有 文件方面
  • 除了文件 Facet,图像还具有图像 Facet
  • 使用照相机拍摄的图像(照片)具有照片 Facet,用于将项标识为照片,并提供照片的拍摄时间和拍摄所用设备等属性。

具有文件夹 Facet 的项目充当项目的容器,因此具有指向文件夹下的 driveItems 集合的 children 引用。

注意:在 OneDrive for Business 或 SharePoint 文档库中,如果 driveItem 具有文件夹方面,则不会返回 cTag 属性。

方法

方法 REST 路径
获取项目 GET /drive/items/{item-id}
列出活动 GET /drive/items/{item-id}/activities
获取分析结果 GET /drive/items/{item-id}/analytics
按间隔获取活动 GET /drive/items/{item-id}/getActivitiesByInterval
列出子项 GET /drive/items/{item-id}/children
列出版本 GET /drive/items/{item-id}/versions
创建项目 POST /drive/items/{item-id}/children
更新项目 PATCH /drive/items/{item-id}
上载内容 PUT /drive/items/{item-id}/content
下载内容 (已弃用) GET /drive/items/{item-id}/content
下载内容 GET /drive/items/{item-id}/contentStream
下载特定文件格式 GET /drive/items/{item-id}/content?format={format}
删除项 DELETE /drive/items/{item-id}
PermanentDelete 项 POST /drives/{driveId}/items/{itemId}/permanentDelete
还原项 POST /drive/items/{item-id}/restore
移动项目 PATCH /drive/items/{item-id}
复制项目 POST /drive/items/{item-id}/copy
搜索项目 GET /drive/items/{item-id}/search(q='text')
列出驱动器中的更改 GET /drive/root/delta
关注项目 POST /drives/{drive-id}/items/{item-id}/follow
取消关注项 POST /drives/{drive-id}/items/{item-id}/unfollow
列出缩略图 GET /drive/items/{item-id}/thumbnails
创建共享链接 POST /drive/items/{item-id}/createLink
添加权限 POST /drive/items/{item-id}/invite
列出权限 GET /drive/items/{item-id}/permissions
删除权限 DELETE /drive/items/{item-id}/permissions/{perm-id}
获取 WebSocket 频道 GET /drive/root/subscriptions/socketIo
预览项目 POST /drive/items/{item-id}/preview
签入 POST /drives/{driveId}/items/{itemId}/checkin
签出 POST /drives/{driveId}/items/{itemId}/checkout
撤销授权 PATCH /drive/items/{item-id}/permissions/{perm-id}/revokeGrants
提取敏感度标签 POST /drive/items/{item-id}/extractSensitivityLabels
分配敏感度标签 POST /drive/items/{item-id}/assignSensitivityLabel
获取保留标签 GET /drives/{drive-id}/items/{id}/retentionLabel
设置保留标签 PATCH /drives/{drive-id}/items/{id}/retentionLabel
删除保留标签 DELETE /drives/{drive-id}/items/{id}/retentionLabel
锁定或解锁记录 PATCH /drives/{drive-id}/items/{id}/retentionLabel

属性

属性 类型 说明
audio audio 音频元数据(如果此项是一个音频文件)。 只读。 仅在 OneDrive 个人版上。
bundle 捆绑 捆绑包元数据(如果该项是捆绑包)。 只读。
内容 (已弃用) 内容流(如果此项表示一个文件)。 内容属性将来的行为可能会发生中断性变更。 它将直接流式传输内容,而不是重定向。 若要提前主动选择加入新行为,请改用 contentStream 属性。
contentStream 内容流(如果此项表示一个文件)。
createdBy identitySet 创建项的用户、设备和应用程序的标识。 只读。
createdDateTime DateTimeOffset 创建项的日期和时间。 只读。
cTag String 项内容的 eTag。 如果仅更改了元数据,则不会更改此 eTag。 注意 如果项目是文件夹,则不会返回此属性。 此为只读属性。
deleted deleted 有关项目删除状态的信息。 只读。
说明 String 提供项的用户可见的说明。 读写。 仅在 OneDrive 个人版上。
eTag String 整个项目(元数据和内容)的 eTag。 只读。
文件 file 文件元数据(如果此项是一个文件)。 只读。
fileSystemInfo fileSystemInfo 客户端上的文件系统信息。 读写。
文件夹 folder 文件夹元数据(如果此项是一个文件夹)。 只读。
id String 项在驱动器中的唯一标识符。 只读。
image image 图像元数据(如果此项是一个图像)。 只读。
lastModifiedBy identitySet 上次修改项的用户、设备和应用程序的标识。 只读。
lastModifiedDateTime DateTimeOffset 上次修改项的日期和时间。 此为只读属性。
location geoCoordinates 位置元数据(如果此项包含位置数据)。 此为只读属性。
恶意软件 (malware) 恶意软件 恶意软件元数据,如果检测到项目包含恶意软件。 只读。
媒体 media 有关媒体 (音频或视频) 项的信息。 读写。 仅在 OneDrive for Business 和 SharePoint 上。
name String 项目名称(文件名和扩展名)。 读写。
package 如果存在,则表示此项是一个包,而不是文件夹或文件。 包被视为某些上下文中的文件和其他上下文中的文件夹。 只读。
parentReference itemReference 父信息(如果此项具有父级)。 读写。
pendingOperations pendingOperations 如果存在,则指示指示可能影响 driveItem 状态的一个或多个操作正在等待完成。 只读。
photo photo 照片元数据(如果此项包含照片)。 此为只读属性。
publication publicationFacet 在支持此类操作的位置提供有关某个项目的已发布或签出状态信息。 默认情况下不返回此属性。 只读。
remoteItem remoteItem 远程项目数据(如果此项是从驱动器共享的项目,而不是被访问的项目)。 此为只读属性。
root root 如果此属性为非 NULL,则表明 driveItem 是驱动器中最上面的 driveItem。
searchResult searchResult 搜索元数据(如果此项目来自搜索结果)。 只读。
shared shared 指示项已与他人共享,并提供有关项的共享状态的信息。 此为只读属性。
sharepointIds sharepointIds 返回对 SharePoint REST 兼容性有用的标识符。 只读。
size Int64 项目大小,以字节为单位。 只读。
specialFolder specialFolder 如果当前项同时也是一个特殊的文件夹,则返回此 facet。 只读。
source driveItemSource 有关驱动器项源的信息。 此为只读属性。 仅在 OneDrive for Business 和 SharePoint 上。
video video 视频元数据(如果此项是一个视频)。 只读。
WebDavUrl String 项的可兼容 WebDAV 的 URL。
WebUrl String 在浏览器中显示此资源的 URL。 只读。

注意: ETag 和 cTag 属性在容器(文件夹)中以不同的方式工作。 更改任意文件夹后代的内容或元数据时,也会修改 CTag 值。 除了从后代派生的属性(例如 childCountlastModifiedDateTime),仅在更改文件夹的属性时修改 eTag 值。

关系

关系 类型 说明
activities itemActivity 集合 最近发生在此项上的活动的列表。
分析 itemAnalytics 资源 此项目上发生的查看活动的相关分析。
children driveItem 集合 包含项目直接子项的 Item 对象的集合。 仅表示文件夹的项目包含子项。 只读。 可为 Null。
createdByUser user 创建了项的用户的身份。 只读。
lastModifiedByUser user 上次修改项的用户的标识。 只读。
listItem listItem 对于 SharePoint 中的驱动器,关联的文档库列表项。 只读。 可为 null。
permissions 权限 集合 项目的权限集。 只读。 可为 NULL。
retentionLabel itemRetentionLabel 有关 driveItem 上强制实施的保留标签和设置的信息。 读写。
订阅 订阅集合 项目上的订阅集。 仅在驱动器根目录上支持。
缩略图 thumbnailSet 集合 与项关联的 thumbnailSet 对象的集合。 有关详细信息,请参阅 获取缩略图。 此为只读属性。 可为 NULL。
版本 driveItemVersion 集合 旧版本项的列表。 有关详细信息,请参阅获取旧版本。 只读。 可为 Null。
工作簿 workbook 对于 Excel 电子表格文件,访问工作簿 API 以处理电子表格的内容。 可为 Null。

实例属性

实例属性是具有特殊行为的属性。 这些属性是临时的,可以定义服务应执行的行为,或者提供短期属性值,例如过期项的下载 URL。

属性名称 类型 说明
@microsoft.graph.conflictBehavior string 为创建新项目的操作解决冲突的行为。 你可以使用值 failreplacerename。 PUT 的默认值是replace。 永远不会返回带有此批注的项。 只写。
@microsoft.graph.downloadUrl string 一个可用于下载此文件的内容的 URL。 此 URL 不需要身份验证。 此为只读属性。
@microsoft.graph.sourceUrl string 此实例注释可用于指示服务在发出 PUT 请求时下载 URL 的内容,并将其存储为文件。 只写。

注意: 参数 @microsoft.graph.conflictBehavior 应包含在 URL 中,而不是请求正文中。

@microsoft.graph.downloadUrl 值是一个短期 URL,不能缓存。 URL 在短时间内 (1 小时) 后失效。 删除用户的文件权限可能不会立即使 URL 无效。

OneDrive for Business、SharePoint Online 和 SharePoint Server 2016 不支持使用 @microsoft.graph.sourceUrl 属性进行文件上载。

JSON 表示形式

以下 JSON 表示形式显示了资源类型。

driveItem 资源由 baseItem 派生并继承该资源的属性。

{
  "audio": { "@odata.type": "microsoft.graph.audio" },
  "bundle": { "@odata.type": "microsoft.graph.bundle" },
  "content": { "@odata.type": "Edm.Stream" },
  "contentStream": { "@odata.type": "Edm.Stream" },
  "cTag": "string (etag)",
  "deleted": { "@odata.type": "microsoft.graph.deleted"},
  "description": "string",
  "file": { "@odata.type": "microsoft.graph.file" },
  "fileSystemInfo": { "@odata.type": "microsoft.graph.fileSystemInfo" },
  "folder": { "@odata.type": "microsoft.graph.folder" },
  "image": { "@odata.type": "microsoft.graph.image" },
  "location": { "@odata.type": "microsoft.graph.geoCoordinates" },
  "malware": { "@odata.type": "microsoft.graph.malware" },
  "media": { "@odata.type": "microsoft.graph.media" },
  "package": { "@odata.type": "microsoft.graph.package" },
  "pendingOperations": { "@odata.type": "microsoft.graph.pendingOperations" },
  "photo": { "@odata.type": "microsoft.graph.photo" },
  "publication": {"@odata.type": "microsoft.graph.publicationFacet"},
  "remoteItem": { "@odata.type": "microsoft.graph.remoteItem" },
  "root": { "@odata.type": "microsoft.graph.root" },
  "searchResult": { "@odata.type": "microsoft.graph.searchResult" },
  "shared": { "@odata.type": "microsoft.graph.shared" },
  "sharepointIds": { "@odata.type": "microsoft.graph.sharepointIds" },
  "size": 1024,
  "source": { "@odata.type": "microsoft.graph.driveItemSource" },
  "specialFolder": { "@odata.type": "microsoft.graph.specialFolder" },
  "video": { "@odata.type": "microsoft.graph.video" },
  "webDavUrl": "string",

  /* relationships */
  "activities": [{"@odata.type": "microsoft.graph.itemActivity"}],
  "children": [{ "@odata.type": "microsoft.graph.driveItem" }],
  "createdByUser": { "@odata.type": "microsoft.graph.user" },
  "itemRetentionLabel": [{ "@odata.type": "microsoft.graph.itemRetentionLabel" }],
  "lastModifiedByUser": { "@odata.type": "microsoft.graph.user" },
  "permissions": [ {"@odata.type": "microsoft.graph.permission"} ],
  "subscriptions": [ {"@odata.type": "microsoft.graph.subscription"} ],
  "thumbnails": [ {"@odata.type": "microsoft.graph.thumbnailSet"}],
  "versions": [ {"@odata.type": "microsoft.graph.driveItemVersion"}],

  /* inherited from baseItem */
  "id": "string (identifier)",
  "createdBy": {"@odata.type": "microsoft.graph.identitySet"},
  "createdDateTime": "String (timestamp)",
  "eTag": "string",
  "lastModifiedBy": {"@odata.type": "microsoft.graph.identitySet"},
  "lastModifiedDateTime": "String (timestamp)",
  "name": "string",
  "parentReference": {"@odata.type": "microsoft.graph.itemReference"},
  "webUrl": "string",

  /* instance annotations */
  "@microsoft.graph.conflictBehavior": "string",
  "@microsoft.graph.downloadUrl": "url",
  "@microsoft.graph.sourceUrl": "url"
}