我正在尝试从租户上的任何网站集对用户的个人网站进行简单查询,但是,我收到错误:来自服务器的意外响应数据。
我已经尝试使用REST和JSOM来打开上下文,但是这两种情况我都收到了这个错误。
当针对另一个上下文/另一个网站集执行代码时,我能够对其执行查询。
个人用户网站有什么特别之处?
一些示例代码:
// I've tried context to be either current site collection
// _spPageContextInfo.webAbsoluteUrl or personal site's URL
$.getScript(SharePoint.Helpers.combineUrls(context, "_layouts/15/SP.RequestExecutor.js"), function () {
var executor = new SP.RequestExecutor(context);
executor.executeAsync({
url: targetUrl, // https://tenant-my.sharepoint.com/personal/user_domain_com/_api/web/lists
method: "GET",
headers: {
"accept": "application/json;odata=verbose",
},
success: typeof (onSuccessFunc) === "function" ? onSuccessFunc : function (data) {
window.console && console.log(JSON.parse(data.body));
},
error: typeof (onErrorFunc) === "function" ? onErrorFunc : function (err) {
alert(JSON.stringify(err));
}
});
});
//JSOM
var clientCtx = new SP.ClientContext(personalSiteUrl);
var web = clientCtx.get_web();
clientCtx.load(web);
clientCtx.executeQueryAsync(function () { alert ("web site url:" + web.get_url()) }, function () { console.log("FAIL")});
答案 0 :(得分:0)
您似乎在查询其他域,并且出于安全原因阻止了跨域JavaScript调用。在获取SP.RequestExecutor.js以使用JavaScript跨域库执行查询时,需要将execCrossDomainRequest作为参数传递,如MSDN所述:
https://msdn.microsoft.com/en-us/library/office/fp179927.aspx?f=255&MSPPError=-2147217396