Microsoft Graph API:访问从外部源共享的内容

问题描述 投票:0回答:1

我们的 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 令牌的摘录: jwt_token_permissions

外部租户 Ricky 的用户与我们共享了一个名为“Product”的文件夹,该文件夹有 10 个子文件夹,包括文件和文件夹。我们希望能够查看子文件夹内容并下载所有文件(并迭代所有子文件夹内容)。

当我们调用 shareWithMe 时,我们会看到以下内容(已截断):

response_remote_items

我们正在尝试通过以下调用访问此项目:

获取https://graph.microsoft.com/v1.0/drives/b!d63cOFEdZ0C23x1hbh1R8WDYGrkdsSZNsMqP1T13khbQLfTr_7o7S70WoGLKYP2B/items/01HO7ZX76AVQGHLXKBFJFYNNC3QQWFOZHI/children

获取https://graph.microsoft.com/v1.0/drives/b!d63cOFEdZ0C23x1hbh1R8WDYGrkdsSZNsMqP1T13khbQLfTr_7o7S70WoGLKYP2B/items/01HO7ZX76AVQGHLXKBFJFYNNC3QQWFOZHI/内容

获取https://graph.microsoft.com/v1.0/drives/b!d63cOFEdZ0C23x1hbh1R8WDYGrkdsSZNsMqP1T13khbQLfTr_7o7S70WoGLKYP2B/items/01HO7ZX76AVQGHLXKBFJFYNNC3QQWFOZHI

我们尝试了使用和不使用“?allowexternal=true”参数的上述端点。

我们拨打的每个电话都会返回: error_code

但是,如果我们单击网络链接,我们的用户服务可以通过浏览器访问文件和文件夹,并查看子文件夹内容并下载任何内容。

sharepoint microsoft-graph-api onedrive
1个回答
0
投票

我在请求访问令牌时需要使用其他租户的租户 ID。

© www.soinside.com 2019 - 2024. All rights reserved.