onedrive下载文件总是失败不了东西怎么办?


5 分钟
在本单元中,你将学习如何使用 Microsoft Graph 从 OneDrive 获取列表和单个文件。 Microsoft Graph 可用于获取文件列表,也可使用其唯一 ID 或 SharePoint 网站中文件的相对路径下载单个文件。OneDrive 是 Office 365 的文件中心。 用户在不同的上下文(如 Microsoft Teams、组、SharePoint 等)中处理文件。 通过 OneDrive,无论这些文件存储在什么位置,用户都可以访问它们,而且 Microsoft Graph 可以让你使用单个 API 来处理它们。Office 365 中的文件存储在驱动器中。 用户可以在其个人驱动器 (他们的 OneDrive) 或 SharePoint 文档库支持的共享驱动器中存储文件。 但是 OneDrive 的灵活性可使用户以最佳的方式进行协作。 用户可以共享文件链接、将文件复制或移动到团队驱动器,甚至可以将 OneDrive 文件附加到 Outlook 中的邮件消息。为什么与云中的 OneDrive 文件存储集成?专题搜索数十亿个文件OneDrive 用户可从任何设备以联机或脱机方式访问他们的文件,并与其组织内外人员共享文件。 OneDrive 可以在 Word、Excel 和 PowerPoint 等熟悉的应用中实现实时共同创作功能。 通过 Microsoft Graph 提供支持的数百种格式、视频流、分析等丰富的缩略图呈现文件。 OneDrive 中的数据受到客户信任的高级加密、合规性和安全性功能的保护。将应用文件存储在功能强大的云中当你将文件存储在 OneDrive 中时,应用可以利用 Microsoft 云的功能,且你的用户可以在任何地方访问他们的文件。 通过文件选择器 SDK,可以使用 OneDrive 用户熟悉的相同体验,快速打开、下载、保存或共享存储在 OneDrive 中的文件。 从选取器 SDK 中直接获取关于选定文件的信息,或者直接使用 Microsoft Graph API 与文件进行更深入的交互。 使用特殊文件夹将文件存储在 OneDrive 上的已知位置(如文档和本机照片),或者为你的应用提供其自己的个人文件夹。在 OneDrive 中直接向用户提供你的应用OneDrive 客户可以直接在 OneDrive 中使用或启动你的应用,以打开、编辑或预览文件。 使用 OneDrive 的文件处理程序扩展,为你自己的自定义文件扩展名提供图标和预览,将你的应用添加到“新建”按钮,甚至可以将你自己的自定义操作添加到菜单栏以启动应用。使用应用理解的格式来处理内容应用可以以最方便的格式获取文件内容。 应用可以显示数百种不同文件格式的自定义大小的缩略图。 可以下载不同格式的文件,如 PDF、DOCX 等。在不下载二进制文件的情况下使用文件内容和元数据使用 Microsoft Graph,可以通过 REST API 访问丰富的内容,而无需下载二进制文件。 浏览从照片、音频和视频文件中提取的元数据。 使用 Excel API 直接处理存储在 Excel 工作簿中的元数据。 使用注释 API 访问 OneNote 笔记本内容。对文件更改做出回应通过 webhooks,应用可以在文件更改时收到通知,以便可以快速回应。 使用 delta API 查看自上次应用与云同步以来的更改。Microsoft Graph 中的文件资源让我们来探索 Microsoft Graph 文件相关的资源终结点。Microsoft Graph 公开了用于处理文件的两种资源类型:驱动器:表示文件的逻辑容器,例如文档库或用户的 OneDrive。
DriveItem:表示驱动器中的项目,例如文档、照片、视频或文件夹。
这两个资源会以下列方式公开数据:属性(如 id 和 name)将简单值公开为字符串、数字和布尔值。
Facet(如 file 和 photo)公开了复杂值。 facet(如 file 和 folder)的存在指示了 DriveItem 的行为和属性。
引用(如 children 和 thumbnails)指向其他资源集合。
访问用户的 OneDrive使用 https://graph.microsoft.com/v1.0/me/drive 终结点访问当前已登录用户的 OneDrive。 此终结点将返回有关用户的 OneDrive 的详细信息,包括创建日期、上次修改日期、配额信息以及 OneDrive 类型:OneDrive for Business(business)或 OneDrive 消费者(personal)。要查看用户的 OneDrive 的内容,请使用 https://graph.microsoft.com/v1.0/me/drive/root 终结点。 此终结点将返回 OneDrive 帐户的根文件夹,并包含一个 folder 属性,该属性在 OneDrive 账户的根上包含文件和文件的数量。 若要查看文件夹的内容,请使用 /children 终结点。 也可访问特定文件夹。开发人员可使用多个 Microsoft Graph SDK 之一访问用户的 OneDrive 帐户。例如,要使用 Microsoft Graph SDK 获取当前已登录用户的根 OneDrive 文件夹,可使用以下代码:GraphServiceClient graphClient = GetAuthenticatedGraphClient(...);
// get user's files and folders in the root
var oneDriveRoot = client.Me.Drive.Root
.Children
.Request()
.GetAsync()
.Result;
// display the results
foreach (var driveItem in results)
{
Console.WriteLine(driveItem.Id + ": " + driveItem.Name);
}
Microsoft Graph 还允许已登录的用户访问另一用户的 OneDrive,只要已使用 https://graph.microsoft.com/v1.0/users/{user-id}/drive 向其授予访问权限。Microsoft Graph 也可以访问除用户以外的其他 OneDrive 帐户。 例如,可以使用 https://graph.microsoft.com/v1.0/groups/{group-id}/drive 终结点访问组的 OneDrive 帐户,并使用 https://graph.microsoft.com/v1.0/sites/{site-id}/drive 终结点访问 SharePoint 网站的默认文档库。访问 OneDrive 文件和文件夹OneDrive 资源作为 Drive 或 DriveItem 对象返回。 DriveItem 表示文件夹或文件。 图像被视为特殊类型的文件,并具有更多的属性,例如 height 和 width。可以通过返回的 DriveItem 对象上是否存在 folder、 file或 image 属性来确定 DriveItem 的特定资源类型。Microsoft Graph OneDrive 权限要执行 OneDrive 操作,需要以下权限之一。 所需的特定权限取决于要进行的操作。例如,如果要创建、编辑或删除驱动器或 DriveItem,可能需要写入权限其中之一。 部分权限可以由用户授予,其他权限则必须由管理员授予应用:委派的权限(由用户授予)Files.Read
Files.Read.All
Files.ReadWrite
Files.ReadWrite.All
应用程序权限(由管理员授予)Files.Read.All(适用于 SharePoint 网站集合)
Files.ReadWrite.All (适用于 SharePoint 网站集合)
从 OneDrive 下载文件DriveItem 资源具有属性 content,可用于获取对文件的访问权限。 仅可下载具有 file 属性的 DriveItem。content 属性返回文件的主流。 例如,若要使用 Microsoft Graph .NET SDK 下载特定文件,可使用以下代码:var fileId = "REPLACE_WITH_FILE_ID";
// get reference to stream of file in OneDrive
GraphServiceClient graphClient = GetAuthenticatedGraphClient(...);
var fileStream = graphClient.Me.Drive.Items[fileId]
.Content
.Request()
.GetAsync()
.Result;
var currentFolder = System.IO.Directory.GetCurrentDirectory();
var driveItemPath = Path.Combine(currentFolder, "proposal.docx");
// save stream to the local file
var driveItemFile = System.IO.File.Create(driveItemPath);
fileStream.Seek(0, SeekOrigin.Begin);
fileStream.CopyTo(driveItemFile);
需要帮助? 请参阅我们的疑难解答指南或通过报告问题提供具体反馈。

5 分钟
在本单元中,你将学习如何使用 Microsoft Graph 从 OneDrive 获取列表和单个文件。 Microsoft Graph 可用于获取文件列表,也可使用其唯一 ID 或 SharePoint 网站中文件的相对路径下载单个文件。OneDrive 是 Office 365 的文件中心。 用户在不同的上下文(如 Microsoft Teams、组、SharePoint 等)中处理文件。 通过 OneDrive,无论这些文件存储在什么位置,用户都可以访问它们,而且 Microsoft Graph 可以让你使用单个 API 来处理它们。Office 365 中的文件存储在驱动器中。 用户可以在其个人驱动器 (他们的 OneDrive) 或 SharePoint 文档库支持的共享驱动器中存储文件。 但是 OneDrive 的灵活性可使用户以最佳的方式进行协作。 用户可以共享文件链接、将文件复制或移动到团队驱动器,甚至可以将 OneDrive 文件附加到 Outlook 中的邮件消息。为什么与云中的 OneDrive 文件存储集成?专题搜索数十亿个文件OneDrive 用户可从任何设备以联机或脱机方式访问他们的文件,并与其组织内外人员共享文件。 OneDrive 可以在 Word、Excel 和 PowerPoint 等熟悉的应用中实现实时共同创作功能。 通过 Microsoft Graph 提供支持的数百种格式、视频流、分析等丰富的缩略图呈现文件。 OneDrive 中的数据受到客户信任的高级加密、合规性和安全性功能的保护。将应用文件存储在功能强大的云中当你将文件存储在 OneDrive 中时,应用可以利用 Microsoft 云的功能,且你的用户可以在任何地方访问他们的文件。 通过文件选择器 SDK,可以使用 OneDrive 用户熟悉的相同体验,快速打开、下载、保存或共享存储在 OneDrive 中的文件。 从选取器 SDK 中直接获取关于选定文件的信息,或者直接使用 Microsoft Graph API 与文件进行更深入的交互。 使用特殊文件夹将文件存储在 OneDrive 上的已知位置(如文档和本机照片),或者为你的应用提供其自己的个人文件夹。在 OneDrive 中直接向用户提供你的应用OneDrive 客户可以直接在 OneDrive 中使用或启动你的应用,以打开、编辑或预览文件。 使用 OneDrive 的文件处理程序扩展,为你自己的自定义文件扩展名提供图标和预览,将你的应用添加到“新建”按钮,甚至可以将你自己的自定义操作添加到菜单栏以启动应用。使用应用理解的格式来处理内容应用可以以最方便的格式获取文件内容。 应用可以显示数百种不同文件格式的自定义大小的缩略图。 可以下载不同格式的文件,如 PDF、DOCX 等。在不下载二进制文件的情况下使用文件内容和元数据使用 Microsoft Graph,可以通过 REST API 访问丰富的内容,而无需下载二进制文件。 浏览从照片、音频和视频文件中提取的元数据。 使用 Excel API 直接处理存储在 Excel 工作簿中的元数据。 使用注释 API 访问 OneNote 笔记本内容。对文件更改做出回应通过 webhooks,应用可以在文件更改时收到通知,以便可以快速回应。 使用 delta API 查看自上次应用与云同步以来的更改。Microsoft Graph 中的文件资源让我们来探索 Microsoft Graph 文件相关的资源终结点。Microsoft Graph 公开了用于处理文件的两种资源类型:驱动器:表示文件的逻辑容器,例如文档库或用户的 OneDrive。
DriveItem:表示驱动器中的项目,例如文档、照片、视频或文件夹。
这两个资源会以下列方式公开数据:属性(如 id 和 name)将简单值公开为字符串、数字和布尔值。
Facet(如 file 和 photo)公开了复杂值。 facet(如 file 和 folder)的存在指示了 DriveItem 的行为和属性。
引用(如 children 和 thumbnails)指向其他资源集合。
访问用户的 OneDrive使用 https://graph.microsoft.com/v1.0/me/drive 终结点访问当前已登录用户的 OneDrive。 此终结点将返回有关用户的 OneDrive 的详细信息,包括创建日期、上次修改日期、配额信息以及 OneDrive 类型:OneDrive for Business(business)或 OneDrive 消费者(personal)。要查看用户的 OneDrive 的内容,请使用 https://graph.microsoft.com/v1.0/me/drive/root 终结点。 此终结点将返回 OneDrive 帐户的根文件夹,并包含一个 folder 属性,该属性在 OneDrive 账户的根上包含文件和文件的数量。 若要查看文件夹的内容,请使用 /children 终结点。 也可访问特定文件夹。开发人员可使用多个 Microsoft Graph SDK 之一访问用户的 OneDrive 帐户。例如,要使用 Microsoft Graph SDK 获取当前已登录用户的根 OneDrive 文件夹,可使用以下代码:GraphServiceClient graphClient = GetAuthenticatedGraphClient(...);
// get user's files and folders in the root
var oneDriveRoot = client.Me.Drive.Root
.Children
.Request()
.GetAsync()
.Result;
// display the results
foreach (var driveItem in results)
{
Console.WriteLine(driveItem.Id + ": " + driveItem.Name);
}
Microsoft Graph 还允许已登录的用户访问另一用户的 OneDrive,只要已使用 https://graph.microsoft.com/v1.0/users/{user-id}/drive 向其授予访问权限。Microsoft Graph 也可以访问除用户以外的其他 OneDrive 帐户。 例如,可以使用 https://graph.microsoft.com/v1.0/groups/{group-id}/drive 终结点访问组的 OneDrive 帐户,并使用 https://graph.microsoft.com/v1.0/sites/{site-id}/drive 终结点访问 SharePoint 网站的默认文档库。访问 OneDrive 文件和文件夹OneDrive 资源作为 Drive 或 DriveItem 对象返回。 DriveItem 表示文件夹或文件。 图像被视为特殊类型的文件,并具有更多的属性,例如 height 和 width。可以通过返回的 DriveItem 对象上是否存在 folder、 file或 image 属性来确定 DriveItem 的特定资源类型。Microsoft Graph OneDrive 权限要执行 OneDrive 操作,需要以下权限之一。 所需的特定权限取决于要进行的操作。例如,如果要创建、编辑或删除驱动器或 DriveItem,可能需要写入权限其中之一。 部分权限可以由用户授予,其他权限则必须由管理员授予应用:委派的权限(由用户授予)Files.Read
Files.Read.All
Files.ReadWrite
Files.ReadWrite.All
应用程序权限(由管理员授予)Files.Read.All(适用于 SharePoint 网站集合)
Files.ReadWrite.All (适用于 SharePoint 网站集合)
从 OneDrive 下载文件DriveItem 资源具有属性 content,可用于获取对文件的访问权限。 仅可下载具有 file 属性的 DriveItem。content 属性返回文件的主流。 例如,若要使用 Microsoft Graph .NET SDK 下载特定文件,可使用以下代码:var fileId = "REPLACE_WITH_FILE_ID";
// get reference to stream of file in OneDrive
GraphServiceClient graphClient = GetAuthenticatedGraphClient(...);
var fileStream = graphClient.Me.Drive.Items[fileId]
.Content
.Request()
.GetAsync()
.Result;
var currentFolder = System.IO.Directory.GetCurrentDirectory();
var driveItemPath = Path.Combine(currentFolder, "proposal.docx");
// save stream to the local file
var driveItemFile = System.IO.File.Create(driveItemPath);
fileStream.Seek(0, SeekOrigin.Begin);
fileStream.CopyTo(driveItemFile);
需要帮助? 请参阅我们的疑难解答指南或通过报告问题提供具体反馈。

我要回帖

更多关于 onedrive下载文件总是失败 的文章

 

随机推荐