мой вопрос касается sharepoint, но это проблема разработки чистого javascript.Теперь внутри нашей организации мы имеем следующее: -
1- локальная точка обмена.которые работают под http.
2 - sharepoint online.которые запускаются по адресу https.
3 - пользователи входят в 2 фермы, используя то же имя пользователя / пароль, что и Office 365, синхронизируемый с локальным активным каталогом.но если я захожу на наш sharepoint локально и пытаюсь получить доступ к sharepoint онлайн, то мне придется войти в офис 365.
4 - теперь я пытаюсь показать элементы из онлайн-списка sharepointвнутри локальной страницы sharepoint.
5- поэтому на локальной странице sharepoint я добавил этот скрипт, который будет вызывать API списка SP-online list и отображать последние 3 элемента, как показано ниже: -
<script src="/Resources/jquery-1.11.3.js"></script>
<div id="inserhere"></div>
<script>
$(function () {
var htmlinit = "";
htmlinit = "<image id= 'customloader22' src= '/resources/ajax-loader.gif'></image>";
$("#inserhere").after(htmlinit);
var html="<div class='ms-comm-adminLinks ms-core-defaultFont ms-noList' unselectable='on'><div class='ms-webpart-titleText' unselectable='on'><a style='color:black' href='/Lists/News Announcements/AllItems.aspx' target='_blank'> News & Announcements </a> </div><ul class='ms-comm-adminLinksList' unselectable='on'>";
$.ajax({
url: "https://*****.sharepoint.com/_api/web/lists/getbytitle('News & Announcements')/items?$filter=ContentType eq 'Discussion'&$select=Title&$orderby=Created desc",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
if(data.d.results.length>0){
var items=data.d.results;
for(var i=0;i<items.length;i++){
if(i <= 2 )
{
//var nurl = items[i].LinkLocation.Url.toString();
var ntitle = "/Lists/News Announcements/Flat.aspx?RootFolder=/Lists/News Announcements/" + items[i].Title.toString();
var ntitle2 = items[i].Title.toString();;
alert(ntitle)
html+="<ul unselectable='on'><li class='ms-comm-adminLinksListItem' unselectable='on'><a href=" + '"'+ ntitle +'"'+ "target='_blank' unselectable='on'>"+ ntitle2 + "</a></li></ul>";
}
}
html+="</ul></div>";
$("#inserhere").after(html);
$("#customloader22").hide();
}
},
error: function (data) {
$("#customloader22").hide();
}
});
});
</script>
6 - теперь, если я войду в локальный ресурс sharepoint и онлайн-ресурс sharepoint, на 2 разных вкладках и получу доступ к локальной странице SP, содержащей вышеуказанный скрипт, тогда я получуэта ошибка (которую я получаю из Firefox F12):
Access denied. You do not have permission to perform this action or access this resource.
также внутри консоли IE-11, я обнаружил это предупреждение: -
SEC7118: XMLHttpRequest for https://***.sharepoint.com/_api/web/lists/getbytitle('News%20&%20Announcements')/items?$filter=ContentType eq 'Discussion'&$select=Title&$orderby=Created desc required Cross Origin Resource Sharing (CORS).
, так что любой может посоветовать, если естьспособ вызвать мой список SP-online api с нашей локальной страницы SP?