是否可以使用Microsoft Graph API将视频流式传输到浏览器?

时间:2020-11-06 02:36:47

标签: c# azure sharepoint microsoft-graph-api

环境是使用.NET Framework 4.6.1的ASP.NET MVC网站。托管在Azure中。

要求是将存储在Sharepoint网站上的视频文件(myvideofile.mp4)流式传输到经过我们的网站认证但未在我们的Azure AD中注册的外部用户。

我已经用可以通过我们的网站控制器(充当代理)从外部开放访问URL流到客户端浏览器的代码测试了基本概念。没问题。

对于实际情况:

  1. 我可以使用图形API检索myvideofile.mp4的共享点网址。但是,MVC控制器无法访问此URL,因为Graph API令牌(通过API对Sharepoint租户的完整权限)不提供对Sharepoint URL的访问。

  2. 我可以使用Microsoft Graph检索文件的经过身份验证的“下载URL”,但是此链接始终下载文件。它不允许流式传输。

  3. 我试图通过Graph API使用CreateLink(“ view”,“ anonymous”)为myvideofile.mp4创建共享的匿名链接,但是Sharepoint Admin已禁用匿名链接,并且不希望取消此限制。 / p>

  4. 我测试了使用“ Connect-SPOService -url https:// [tenant] -admin”使用登录凭据从Powershell脚本访问共享点站点(希望以后可以将其转换为代码)。 sharepoint.com -Credential $ credentials”,但错误提示“该网站不支持Sharepoint Online凭据”。我相信,如果Sharepoint Admin允许“不使用现代身份验证的应用程序”可以支持这一点,但是对于他是否愿意这样做,尚无定论。

  5. 我可以使用Graph API下载文件的内容,例如:

    return await graphClient.Sites[siteId].Drives[driveId].Items[FileId].Content.Request().GetAsync();
    

,但这会先下载整个文件,然后再继续。显然无法将其流式传输到客户端浏览器。

有人知道如何或者甚至有可能立即使用Microsoft Graph API将文件流式传输到客户端吗?

0 个答案:

没有答案