我正在尝试通过https://graph.microsoft.com/v1.0/shares/{shareIdOrUrl}/driveItem
与内部和外部用户共享SharePoint中的文件。共享的网址看起来像https://{company}.sharepoint.com/:f:/r/sites/{siteName}/Shared Documents/{folderPath}
。通过https://login.microsoftonline.com/{company}.com/oauth2/v2.0/
检索访问令牌。
这适用于在公司目录中拥有帐户的内部用户。
对于外部用户,身份验证是可行的,但是端点以401 Unauthorized
错误和如下响应正文进行响应:
{
"error": {
"code": "accessDenied",
"message": "There has been an error authenticating the request.",
"innerError": {
"request-id": "42cc32e1-075c-435a-8033-320e1a512159",
"date": "2018-10-08T10:08:25"
}
}
}
有趣的是,当外部用户首先在任意随机计算机上的随机浏览器中打开共享URL时,该错误消失并且该文件夹变得可供外部用户完全访问。在该访问期间,浏览器通过https://login.live.com/oauth20_authorize.srf
对外部用户进行身份验证。
有人知道这个问题吗?这是OneDrive for Business的普遍问题,还是我们的配置有误?如何避免该问题?