Microsoft graph api 下载包含范围标头的文件时,OneDrive CORS预飞失败
目前,我正在构建一个javascript应用程序,为chromeOS提供OneDrive文件系统支持。不幸的是,由于预检失败,我在通过OneDrive API下载文件时遇到了一个问题 在这本书中,有人提到了CORS请求javascript应用程序的一种解决方法,因为预飞行将失败。为了绕过302重定向,文件下载必须分两步执行:首先获取下载url,然后通过该url下载文件。这很好,因为一个简单的Microsoft graph api 下载包含范围标头的文件时,OneDrive CORS预飞失败,microsoft-graph-api,onedrive,microsoft-graph-files,Microsoft Graph Api,Onedrive,Microsoft Graph Files,目前,我正在构建一个javascript应用程序,为chromeOS提供OneDrive文件系统支持。不幸的是,由于预检失败,我在通过OneDrive API下载文件时遇到了一个问题 在这本书中,有人提到了CORS请求javascript应用程序的一种解决方法,因为预飞行将失败。为了绕过302重定向,文件下载必须分两步执行:首先获取下载url,然后通过该url下载文件。这很好,因为一个简单的GET请求不需要飞行前检查 回到文件系统。根据报告: 结果必须通过多次调用successCallback分
GET
请求不需要飞行前检查
回到文件系统。根据报告:
结果必须通过多次调用successCallback分块返回
这可以通过使用下载url的GET
请求上的Range
头来实现,OneDrive API实际上支持使用。然而,现在请求不再简单,因此需要飞行前检查,最终失败
因此,基本上,解决方案失败了,因为解决方案试图解决的问题仍然存在于解决方案中
我怎样才能克服这个问题?由于带宽和隐私问题,我显然不想通过代理发送请求。我是否可以先下载整个文件,然后将其以字节大小的块形式提供给文件系统提供程序,从而模拟范围
头?
我遇到了一个非常类似的问题,但不幸的是,它没有让我进一步了解。您能确认您使用的是哪个OneDrive端点(业务或个人)吗?我是为OneDrive for Business编写的,因此我从api检索到的下载URL指向sharepoint源上的一个文件(尽管仍在office365上)。对于此场景似乎没有有效的解决方法-我们需要确保下载。aspx
支持选项
,以使场景正常工作。