如何在SharePoint Online / Office 365中使用SharePoint托管应用程序配置品牌文件?

时间:2016-03-31 06:08:21

标签: sharepoint office365 sharepoint-online sharepoint-apps sharepoint-jsom

我正在寻找 SharePoint托管应用解决方案,它将提供品牌文件(JS / CSS /图像)纳入 SharePoint Online / Office 365环境

我收到了一篇非常好的文章,并试图实现与以下链接相同的内容:http://www.sharepointnutsandbolts.com/2013/05/sp2013-host-web-apps-provisioning-files.html

此解决方案对我不起作用,在执行应用程序时,我收到以下错误: twisted.py以下是给我错误的代码:

twisted.pyc

请建议我,此代码中的问题是什么?或者建议我另一种方式/参考,我可以创建一个SharePoint托管应用程序来配置品牌文件。

提前致谢!

1 个答案:

答案 0 :(得分:2)

我会使用不同的方法来访问主机Web上下文,如下所示:

//first get app context, you will need it.
var currentcontext = new SP.ClientContext.get_current();
//then get host web context
var hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
var hostcontext = new SP.AppContextSite(currentcontext, hostUrl);

function getQueryStringParameter(param) {
    var params = document.URL.split("?")[1].split("&");
    var strParams = "";
    for (var i = 0; i < params.length; i = i + 1) {
        var singleParam = params[i].split("=");
        if (singleParam[0] == param) {
            return singleParam[1];
        }
    }
}

以下是一些参考资料:

https://sharepoint.stackexchange.com/questions/122083/sharepoint-2013-app-create-list-in-host-web

https://blog.appliedis.com/2012/12/19/sharepoint-2013-apps-accessing-data-in-the-host-web-in-a-sharepoint-hosted-app/

http://www.mavention.com/blog/sharePoint-app-reading-data-from-host-web

http://www.sharepointnadeem.com/2013/12/sharepoint-2013-apps-access-data-in.html

此外,这是一个如何部署母版页的示例,但是正如您在测试期间可能会注意到的那样,用于获取主机Web上下文的方法不能像视频中显示的那样工作,您应该使用我之前描述的方法

https://www.youtube.com/watch?v=wtQKjsjs55I

最后,这是一个如何使用CSOM通过控制台应用程序部署品牌文件的示例,如果您足够聪明,您将能够将其转换为JSOM。

https://channel9.msdn.com/Blogs/Office-365-Dev/Applying-Branding-to-SharePoint-Sites-with-an-App-for-SharePoint-Office-365-Developer-Patterns-and-P