E ora Sharepoint 2013, accediamo al nostro sharepoint host a partire da un app su office 365
var hostweburl;
var appweburl;
function sharePointReady() {
// retrieve passed app web/host web URLs..
hostweburl = decodeURIComponent($.getUrlVar("SPHostUrl"));
appweburl = decodeURIComponent($.getUrlVar("SPAppWebUrl"));
loadDependentScripts();
}
function loadDependentScripts() {
var scriptbase = hostweburl + "/_layouts/15/";
// Load the js files and continue to the successHandler
$.getScript(scriptbase + "SP.Runtime.js",
function () {
$.getScript(scriptbase + "SP.js",
function () { $.getScript(scriptbase + "SP.RequestExecutor.js", getAllHostWebPropsUsingREST); }
);
}
);
}
function getAllHostWebPropsUsingREST() {
var executor;
// although we're fetching data from the host web, SP.RequestExecutor gets initialized with the app web URL..
executor = new SP.RequestExecutor(appweburl);
executor.executeAsync(
{
url:
appweburl +
"/_api/SP.AppContextSite(@target)/web/?@target='" + hostweburl + "'",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: onGetAllHostWebPropsUsingRESTSuccess,
error: onGetAllHostWebPropsUsingRESTFail
}
);
}
function onGetAllHostWebPropsUsingRESTSuccess(data) {
var jsonObject = JSON.parse(data.body);
// note that here our jsonObject.d object (representing the web) has ALL properties because
// we did not select specific ones in our REST URL. However, we're just displaying the web title here..
$('#hostWebTitle').text(jsonObject.d.Title);
}
function onGetAllHostWebPropsUsingRESTFail(data, errorCode, errorMessage) {
alert('Failed to get host site. Error:' + errorMessage);
}
// jQuery plugin for fetching querystring parameters..
jQuery.extend({
getUrlVars: function () {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function (name) {
return jQuery.getUrlVars()[name];
}
});