0

我一直在尝试microsoftTeams.tasks.startTask()在我的 MS Teams 应用程序中打开 SharePoint 的共享对话框,它在桌面客户端中显示了一个无限加载器。当我遇到某些文章和开放线程时,MS Teams 确实支持 iframe 内的重定向。打开 SharePoint 的共享 URL 首先通过身份验证(使用内部重定向login.microsoftonline.com

到目前为止我尝试过的事情 -

var currentTeamsSiteUrl = new URL(currentItem['teamSiteUrl']);
var sharingDialogUrl = `${currentTeamsSiteUrl.href}/_layouts/15/sharedialog.aspx?listId=${currentItem['ListID']}&listItemId=${currentItem['ItemID']}&clientId=sharePoint`;
var src = `${currentTeamsSiteUrl.href}/_layouts/15/teamslogon.aspx?spfx=true&dest=${encodeURIComponent(sharingDialogUrl)}`;
                
                microsoftTeams.tasks.startTask({
                    title: "Share Item",
                    height: 560,
                    width: 350,
                    url: src,
                    fallbackUrl: null,
                    card: null,
                    completionBotId: null,
                });

我在桌面客户端面临的问题在附加的屏幕截图中 - 在此处输入图像描述

有趣的是,如果我在浏览器中运行应用程序,而不是在 MS Teams 桌面客户端中运行,则代码可以工作。

我已添加*.sharepoint.com,login.microsoftonline.com作为应用程序配置 json 中的有效域。

我尝试使用window.open()- 从桌面客户端打开浏览器并从浏览器打开新选项卡来打开共享 URL,并且根据微软的学者使用Task Module的方法要好得多,但这在桌面客户端中不起作用。同样,这不是一个优雅的解决方案。

我一直在尝试寻找一种解决方法来解决未在 MS Teams 桌面应用程序中运行的共享对话框,这一切都归结为所附屏幕截图中显示的错误。我尝试允许第三方 cookie 和其他不同的解决方案(https://docs.microsoft.com/en-us/microsoftteams/troubleshoot/teams-sign-in/sign-in-loop)使其工作但没有运气至今。

任何帮助,将不胜感激。干杯!

4

0 回答 0