Microsoft graph api 401下载驱动器项内容时出错

Microsoft graph api 401下载驱动器项内容时出错,microsoft-graph-api,onedrive,Microsoft Graph Api,Onedrive,我得到了由生成的文件下载URL的HTTP401错误,它声称不需要身份验证信息 如果先前对文件项信息的请求收到401错误,并且我们刷新了令牌,但不确定,则可能会发生这种情况。无论如何,这种情况总是发生在我的一个客户的网站上,但并不经常发生 最重要的是,我想知道对我的客户来说,关键修复的最佳方法是什么,真正的原因和解决方案是什么 谢谢。您需要确保使用有效的令牌呼叫/content。还要记住,这个链接只存在几分钟。在它们被使用/过期后,URL将返回一个401,假设我得到了一个文件的下载URL,它的大小

我得到了由生成的文件下载URL的
HTTP401
错误,它声称不需要身份验证信息

如果先前对文件项信息的请求收到
401
错误,并且我们刷新了令牌,但不确定,则可能会发生这种情况。无论如何,这种情况总是发生在我的一个客户的网站上,但并不经常发生

最重要的是,我想知道对我的客户来说,关键修复的最佳方法是什么,真正的原因和解决方案是什么


谢谢。

您需要确保使用有效的令牌呼叫
/content
。还要记住,这个链接只存在几分钟。在它们被使用/过期后,URL将返回一个
401
,假设我得到了一个文件的下载URL,它的大小为30GB。如果我一块一块地进行部分下载,可能需要一个小时来下载整个,那么这种错误可能会发生在“块下载”循环中的某个地方?我相信只要您指定
范围
头(
范围:字节=0-1023
)它将使URL保持活动状态,直到您获得表示下载完成的
HTTP 200
(每个区块将返回
HTTP 206部分内容
)。是的,我希望如此,因为我已经使用如此大的文件进行了测试,没有问题。只有一些人表现出这种错误。好的,那么(不管是什么原因)如果我在请求中添加'bearer'头,它会有帮助吗?不适用于
DownloadUrl
,不。事实上,包括它会导致
403
,因为您最终会得到重复的身份验证头。在调用
/content
之前,您确实需要确保您的令牌是新鲜的,但是,由于该令牌过期可能会导致
401
。换句话说,我倾向于一种竞赛条件,即你的令牌在下载之前过期。