我们的 Microsoft 租户拥有一个带有 OneDrive 的服务帐户(“服务”,[电子邮件受保护]),外部用户可以通过其 OneDrive(和 SharePoint)共享文件夹。
我们为我们的服务帐户创建了一个应用程序注册,以访问服务的 OneDrive 中的内容。我们能够在服务的 OneDrive 中列出文件和文件夹,以获取从我们租户内的其他用户在 email.com 共享的本地文件和内容。
此外,我们可以使用端点查看外部用户/租户共享的内容: https://graph.microsoft.com/v1.0/me/drive/sharedWithMe?allowexternal=true
但是,当我们尝试访问上述 GET 请求结果中的任何内容时,它总是返回 404,错误代码为“itemNotFound”,消息为“Item not found”。
应用程序注册具有Files.ReadWrite.All权限。以下是 JWT 令牌的摘录:
外部租户 Ricky 的用户与我们共享了一个名为“Product”的文件夹,该文件夹有 10 个子文件夹,包括文件和文件夹。我们希望能够查看子文件夹内容并下载所有文件(并迭代所有子文件夹内容)。
当我们调用 shareWithMe 时,我们会看到以下内容(已截断):
我们正在尝试通过以下调用访问此项目:
我们尝试了使用和不使用“?allowexternal=true”参数的上述端点。
但是,如果我们单击网络链接,我们的用户服务可以通过浏览器访问文件和文件夹,并查看子文件夹内容并下载任何内容。
我在请求访问令牌时需要使用其他租户的租户 ID。