Solución:
En la URL de su aplicación hay varios parámetros de cadena de consulta, como se muestra aquí. Eso ya contiene la URL de la colección de sitios.
El parámetro de cadena de consulta “SPHostUrl” le proporcionará la URL de la colección de sitios.
Para obtener esa URL, puede usar el siguiente código
function getQueryStringParameter(paramToRetrieve) {
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] == paramToRetrieve)
return singleParam[1];
}
}
Solo usa este código como
hostweburl = decodeURIComponent(getQueryStringParameter("SPHostUrl")
Ahora esto hostweburl
contendrá la URL de su colección de sitios. Para referencia de código, puede ver aquí
Desde su aplicación hospedada de SharePoint, lo que puede obtener el contexto de la web de host y obtener la URL de la colección de sitios. RequestExecutor
para la solicitud de dominio cruzado como
$.getScript(hostUrl + "/_layouts/15/" + "SP.RequestExecutor.js", GetSiteUrl);
y luego obtenga la URL de la colección de sitios usando la función de abajo
function GetSiteUrl() {
var hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
var currentcontext = new SP.ClientContext()
var hostcontext = new SP.AppContextSite(currentcontext, hostUrl);
var site = hostcontext.get_site();
currentcontext.load(site);
currentcontext.executeQueryAsync(function (s, a) {
sitecollectionurl = site.get_url()
});
}
¡Espero que esto te ayudará!
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)