我一直在尝试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)使其工作但没有运气至今。
任何帮助,将不胜感激。干杯!