UserCustomAction 不会为 SharePoint Online 中的非租户管理员触发
UserCustomAction does not fire for non-tenant admin in SharePoint online
我已经为 SharePoint Online 写了一个相当简单的 JavaScript,我正在使用 CSOM 作为用户自定义操作部署到根网站集中。
以下代码是我用于将脚本配置到网站集的代码块:
public static void ProvisionScriptLinkCustomAction(ClientContext ctx, string name, string url)
{
Site site = ctx.Site;
ctx.Load(site.UserCustomActions);
ctx.ExecuteQuery();
foreach (UserCustomAction action in site.UserCustomActions)
{
if (action.Name == name)
{
action.DeleteObject();
break;
}
}
ctx.ExecuteQuery();
UserCustomAction customAction = site.UserCustomActions.Add();
customAction.Location = "ScriptLink";
customAction.Name = name;
customAction.ScriptSrc = url + "?" + Guid.NewGuid().ToString();
customAction.Update();
ctx.ExecuteQuery();
}
我在部署和初始测试自定义操作时以租户管理员身份登录。一切都按预期工作,直到我以 而非 租户管理员的用户身份登录。当以仅是网站集管理员或更低级别的任何其他用户身份登录时,自定义操作不会触发,我的所有努力都是徒劳的。
这对我来说感觉像是配置或权限问题,但我开始不知所措,不知道该去哪里纠正这个问题。
任何有帮助的想法将不胜感激!
原来我的 JavaScript 中有 console.log 个电话。某些版本的 IE 显然不知道如何在没有调试工具的浏览器模式下登录到控制台,这可能会引发未捕获和未记录的异常。删除 console.log 语句使问题消失。
我已经为 SharePoint Online 写了一个相当简单的 JavaScript,我正在使用 CSOM 作为用户自定义操作部署到根网站集中。
以下代码是我用于将脚本配置到网站集的代码块:
public static void ProvisionScriptLinkCustomAction(ClientContext ctx, string name, string url)
{
Site site = ctx.Site;
ctx.Load(site.UserCustomActions);
ctx.ExecuteQuery();
foreach (UserCustomAction action in site.UserCustomActions)
{
if (action.Name == name)
{
action.DeleteObject();
break;
}
}
ctx.ExecuteQuery();
UserCustomAction customAction = site.UserCustomActions.Add();
customAction.Location = "ScriptLink";
customAction.Name = name;
customAction.ScriptSrc = url + "?" + Guid.NewGuid().ToString();
customAction.Update();
ctx.ExecuteQuery();
}
我在部署和初始测试自定义操作时以租户管理员身份登录。一切都按预期工作,直到我以 而非 租户管理员的用户身份登录。当以仅是网站集管理员或更低级别的任何其他用户身份登录时,自定义操作不会触发,我的所有努力都是徒劳的。
这对我来说感觉像是配置或权限问题,但我开始不知所措,不知道该去哪里纠正这个问题。
任何有帮助的想法将不胜感激!
原来我的 JavaScript 中有 console.log 个电话。某些版本的 IE 显然不知道如何在没有调试工具的浏览器模式下登录到控制台,这可能会引发未捕获和未记录的异常。删除 console.log 语句使问题消失。