在 Microsoft Graph 中使用文件
可以使用 Microsoft Graph 创建一个跨 OneDrive、OneDrive for Business 和 SharePoint 文档库与文件连接的应用程序。 通过Microsoft Graph,你可以使用存储在Microsoft 365中的文件构建各种体验,从简单的存储用户文档到复杂的文件共享场景均可。
Microsoft Graph 公开可用于文件的两个资源类型:
大部分与文件的交互通过与 DriveItem 资源的交互实现。 以下是一个 DriveItem 资源示例:
{
"@content.downloadUrl":"https://public-sn3302.files.1drv.com/y2pcT7OaUEExF7EHOlpTjCE55mIUoiX7H3sx1ff6I-nP35XUTBqZlnkh9FJhWb_pf9sZ7LEpEchvDznIbQig0hWBeidpwFkOqSKCwQylisarN6T0ecAeMvantizBUzM2PA1",
"createdDateTime": "2016-09-16T03:37:04.72Z",
"cTag": "aYzpENDY0OEYwNkM5MUQ5RDNEITU0OTI3LjI1Ng",
"eTag": "aRDQ2NDhGMDZDOTFEOUQzRCE1NDkyNy4w",
"id":"D4648F06C91D9D3D!54927",
"lastModifiedBy": {
"user": {
"displayName": "Daron Spektor",
"id": "d4648f06c91d9d3d"
}
},
"name":"BritishShorthair.jpg",
"size":35212,
"image":{
"height":398,
"width":273
},
"file": {
"hashes":{
"sha1Hash":"wmgPQ6jrSeMX7JP1XmstQEGM2fc="
}
}
}
驱动器 和 DriveItem 资源通过三种不同的方式公开数据:
- 属性(像 id 和 name)公开简单的值(字符串、数字、布尔值)。
- 文件和图像等 ( 方面) 公开复杂值。 存在的文件或文件夹 Facet 表示 DriveItem 的行为和属性。
- 引用(像子项和缩略图)指向其他资源的集合。
经常访问的资源
文件交互的大多数 API 请求将使用以下其中一种基础资源来访问驱动器或 DriveItem。
路径 | 资源 |
---|---|
/me/drive |
用户的 OneDrive |
/me/drives |
枚举用户可用的 OneDrive 资源。 |
/drives/{drive-id} |
通过驱动器 ID 访问特定驱动器。 |
/drives/{drive-id}/root/children |
枚举特定驱动器根目录中的 DriveItem 资源。 |
/me/drive/items/{item-id} |
通过其唯一 ID 访问用户 OneDrive 中的 DriveItem。 |
/me/drive/special/{special-id} |
通过其已知名称访问用户 OneDrive 中的特殊(命名)文件夹。 |
/users/{user-id}/drive |
通过使用用户的唯一标识符访问另一个用户的 OneDrive 。 |
/groups/{group-id}/drive |
通过组的唯一 ID 访问组的默认文档库。 |
/shares/{share-id} |
通过其 sharedId 或共享 URL 访问 DriveItem。 |
/sites/{site-id}/drive |
访问给定 SharePoint网站的默认驱动器 (文档库) |
/sites/{site-id}/drives |
枚举给定 SharePoint网站下的驱动器 (文档库) |
除了通过唯一 ID 在驱动器内查找 DriveItem,应用还可以通过已知资源中的相对路径查找 DriveItem。
要使用路径进行查找,请使用冒号 (:
) 字符对相对路径转义。
此表提供了通过不同的方法使用冒号字符来按路径查找项目的示例。
路径 | 资源 |
---|---|
/me/drive/root:/path/to/file |
通过相对于用户的 OneDrive 根文件夹的路径访问 DriveItem。 |
/me/drive/items/{item-id}:/path/to/file |
通过相对于另一项的路径访问 DriveItem(具有文件夹 facet 的 DriveItem)。 |
/me/drive/root:/path/to/folder:/children |
通过相对于用户的 OneDrive 根文件夹的路径列出 DriveItem 的子项。 |
/me/drive/items/{item-id}:/path/to/folder:/children |
按照相对于另一项的路径列出 DriveItem 的子项。 |
有关详细信息,请参阅 寻址 driveItems。
驱动器资源
驱动器资源 是用户的 OneDrive 或 SharePoint 文档库内的顶级对象。 几乎所有的文件操作都从查找特定驱动器资源开始。
可以通过驱动器的唯一 ID 或 用户、组 或组织的默认驱动器查找驱动器资源。
DriveItem 资源
DriveItems 是驱动器文件系统内的对象。
访问方法有:使用 语法通过其 /items/{item-id}
访问,或使用 /root:/path/to/item/
语法通过其文件系统路径访问。
DriveItems 拥有多个 Facet,可提供有关项目标识和功能的数据。
具有文件夹 Facet 的 DriveItem 充当项目的容器,并且具有指向文件夹下的项目集合的子项引用。
共享文件夹和远程项目
OneDrive 个人版用户可以向他们自己的 OneDrive 中添加其他驱动器的一个或多个共享项目。 这些共享项目在具有 remoteItem facet 的子项集合中显示为 DriveItem。
有关使用共享文件夹和远程项目的详细信息,请参阅 Remote items and shared folders(远程项目和共享文件夹)。
共享和权限
OneDrive 和 SharePoint 文档库最常见的操作之一是与其他人共享内容。 Microsoft Graph 使你的应用程序可以创建 共享链接、添加权限并发送邀请 到驱动器中的项目。
Microsoft Graph 还为应用提供了一种直接从共享链接 访问共享内容 的方法。