1

Je cherche SharePoint App Solution Hosted qui sera disposition des fichiers image de marque (JS/CSS/Images) dans SharePoint Online/Office 365 environnement.Comment provisionner des fichiers Branding à l'aide de SharePoint Hosted App dans SharePoint Online/Office 365?

J'ai obtenu un très bon article à achive cela et a essayé de mettre en œuvre le même que celui indiqué dans le lien ci-dessous: http://www.sharepointnutsandbolts.com/2013/05/sp2013-host-web-apps-provisioning-files.html

Cette solution ne fonctionne pas pour moi et en exécution de l'application, je me fais ci-dessous erreur: Failed to provision file into host web. Error: Unexpected response data from server. Voici le code qui me donne l'erreur:

// utility method for uploading files to host web.. 
uploadFileToHostWebViaCSOM = function (serverRelativeUrl, filename, contents) { 
    var createInfo = new SP.FileCreationInformation(); 
    createInfo.set_content(new SP.Base64EncodedByteArray()); 
    for (var i = 0; i < contents.length; i++) { 

     createInfo.get_content().append(contents.charCodeAt(i)); 
    } 
    createInfo.set_overwrite(true); 
    createInfo.set_url(filename); 
    var files = hostWebContext.get_web().getFolderByServerRelativeUrl(serverRelativeUrl).get_files(); 
    hostWebContext.load(files); 
    files.add(createInfo); 

    hostWebContext.executeQueryAsync(onProvisionFileSuccess, onProvisionFileFail); 
} 

S'il vous plaît me suggérer, ce qui peut être la question dans ce code? Ou bien me suggérer une autre manière/référence dans laquelle je peux créer une application hébergée par SharePoint pour provisionner des fichiers de marque.

Merci à l'avance!

+0

Y at-il un peu plus d'informations comme une exception interne que les fournisseurs plus de détails sur ce que la réponse inattendue de l'argent réel est? –

+0

@Ola: J'ai essayé d'obtenir une trace de pile mais cela me donne une valeur nulle. Je reçois le même message seulement en utilisant 'args.get_message()'. Les autres paramètres sont null, excepté 'get_message(), args.get_errorTraceCorrelationId()' –

+0

Avez-vous provisionné une extension .txt au début? –

Répondre

2

Je voudrais utiliser une autre méthode pour accéder à contexte Web hôte comme suit:

//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]; 
     } 
    } 
} 

Voici quelques références:

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

En outre, voici un exemple de déploiement d'une page maître. Toutefois, comme vous pouvez le constater lors de vos tests, la méthode utilisée pour obtenir le contexte Web hôte ne fonctionne pas comme affichée dans la vidéo. Je l'ai décrit avant.

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

Enfin, voici un exemple de la façon de déployer les fichiers image de marque par le biais d'une application console en utilisant CSOM, si vous êtes assez intelligent, vous serez en mesure de convertir cela en 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