DriveItem 资源类型

driveItem 资源代表文件、文件夹或存储在驱动器中的 其他项。 OneDrive 和 SharePoint 中的所有文件系统对象将作为 driveItem 资源返回。

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

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

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

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

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

JSON 表示形式

下面是 driveItem 资源的 JSON 表示形式。

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

{
  "audio": { "@odata.type": "microsoft.graph.audio" },
  "content": { "@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" },
  "package": { "@odata.type": "microsoft.graph.package" },
  "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,
  "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" }],
  "permissions": [ {"@odata.type": "microsoft.graph.permission"} ],
  "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"
}

属性

属性 类型 说明
audio audio 音频元数据(如果此项是一个音频文件)。 只读。
content 内容流(如果此项表示一个文件)。
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) 恶意软件 恶意软件元数据,如果检测到项目包含恶意软件。 只读。
name String 项目名称(文件名和扩展名)。 读写。
package 如果存在,则表示此项是一个包,而不是文件夹或文件。 包被视为某些上下文中的文件和其他上下文中的文件夹。 只读。
parentReference itemReference 父信息(如果此项具有父级)。 读写。
photo photo 照片元数据(如果此项包含照片)。 只读。
publication publicationFacet 在支持此类操作的位置提供有关某个项目的已发布或签出状态信息。 默认情况下,不会返回此属性。 只读。
remoteItem remoteItem 远程项目数据(如果此项是从驱动器共享的项目,而不是被访问的项目)。 只读。
root root 如果此属性为非 NULL,则表明 driveItem 是驱动器中最上面的 driveItem。
searchResult searchResult 搜索元数据(如果此项目来自搜索结果)。 只读。
shared shared 表示此项已与他人共享,并提供有关项目共享状态的信息。 只读。
sharepointIds sharepointIds 返回对 SharePoint REST 兼容性有用的标识符。 只读。
size Int64 项目大小,以字节为单位。 只读。
specialFolder specialFolder 如果当前项同时也是一个特殊的文件夹,则返回此 facet。 只读。
video video 视频元数据(如果此项是一个视频)。 只读。
WebDavUrl String 项的可兼容 WebDAV 的 URL。
WebUrl String 在浏览器中显示此资源的 URL。 只读。

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

关系

关系 类型 说明
activities itemActivity 集合 最近发生在此项上的活动的列表。
children driveItem 集合 包含项目直接子项的 Item 对象的集合。 仅表示文件夹的项目包含子项。 只读。 可为 NULL。
listItem listItem 对于 SharePoint 中的驱动器,关联的文档库列表项。 只读。 可为 null。
permissions 权限 集合 项目的权限集。 只读。 可为 Null。
缩略图 thumbnailSet collection 包含与项目关联的 ThumbnailSet 对象的集合。 有关详细信息,请参阅获取缩略图。 只读。 可为 NULL。
版本 driveItemVersion 集合 旧版本项的列表。 有关详细信息,请参阅获取旧版本。 只读。 可为 Null。

实例属性

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

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

注意: 该值 @microsoft.graph.downloadUrl 是生存期较短的 URL,无法缓存。 此 URL 在失效前只能使用很短的时间(1 小时)。

方法

方法 REST 路径
获取项目 GET /drive/items/{item-id}
列出活动 GET /drive/items/{item-id}/activities
列出子项 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}/content?format={format}
删除项 DELETE /drive/items/{item-id}
移动项目 PATCH /drive/items/{item-id}
复制项目 POST /drive/items/{item-id}/copy
搜索项目 GET /drive/items/{item-id}/search(q='text')
列出驱动器中的更改 GET /drive/root/delta
列出缩略图 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}
预览项目 POST /drive/items/{item-id}/preview

说明

在 OneDrive for Business 或 SharePoint 文档库中,如果 driveItem 具有folder Facet,则不返回 cTag 属性。