UserCustomAction不会在SharePoint联机中为非租户管理员触发

时间:2016-09-29 19:19:47

标签: sharepoint office365 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();
    }

我在部署和初始测试自定义操作时以租户管理员身份登录。一切按预期工作,直到我以租户管理员的用户身份登录。以仅作为网站集管理员或更低版本的任何其他用户身份登录时,自定义操作不会触发,我的所有工作都是徒劳的。

这对我来说感觉就像配置或权限问题,但我不知道该如何开始知道如何纠正这个问题。

非常感谢任何有用的想法!

1 个答案:

答案 0 :(得分:0)

原来我的JavaScript中有console.log调用。某些版本的IE显然不知道如何在没有调试工具的浏览器模式下登录到控制台,这可能会引发未被捕获和未记录的异常。删除console.log语句会使问题消失。