Способы получения данных из SharePoint из среды SharePoint
-
09-12-2019 - |
Вопрос
мой вопрос
(Я спросил моих старших разработчиков, и они сказали мне, что клиент сначала заполняет форму, которая подтверждается ISA Server и дает клиенту файлы cookie, которое он использует позже на доступе к сайтам SharePoint, к которым он получил доступ, который делает Я предполагаю, что его аутентификация форм, но тогда я не уверен, если его аутентификация Windows в качестве пользователей заполняют форму @ IE, но если я открываю тот же портал в Chrome, появляется окна, окна просматривает и запрашивает имя пользователя и пароль)
Я смотрел по-разному, но не уверен, какой из них точно будет работать в этом сценарии.
<Сильные> Редактировать:
После исследования в аутентификации Windows / Forms я узнал, что мы используем аутентификацию Windows.
Так что мой вопрос будет изменен на что-то вроде этого,
Приветствия
<Сильные> Более подробное объяснение:
Я попробовал данный код ответа Shantes, но у меня не было никаких успехов, я также узнал, что клиент использует базовую аутентификацию, а затем kerbos аутентификация где-то между серверами , теперь я попробовал этот код , который тоже не работает,
.
Функция <html>
<head>
<title>Sharepoint List Browser</title>
</head>
<body style="width:400px; height:400px;">
<div id = "abc">
<button id = "btnFindLists" type="button">Click Me!</button>
<div id="mainContent">
<p>1</p> <!-- -- that p will be returned -->
<p>2</p>
</div>
<script type="text/javascript" language="javascript">
$('document').ready(function () {
$('#btnFindLists').bind('click', findLists);
});
function findLists()
{
$.ajax(
{
type:'GET',
url:'https://usa2020.domainabc.com/portal/_vti_bin/Lists.asmx',
data:"username=domainabc\userabc&password=apassword",
success: function(data){
alert('successful');
}
});
}
</script>
</body>
</html>
"Alert" не работает в гаджете.
Я попробовал код Фалака как это
.
<html>
<head>
<title>Sharepoint List Browser</title>
<script type="text/javascript" language="javascript">
$('document').ready(function () {
$('#btnFindLists').bind('click', findLists);
});
function findLists()
{
$.getJSON("https://usa2020.domainabc.com/portal/_vti_bin/Lists.asmx", {
sucess: function (data, textStatus, xhr) {
$("#mainContent p").first().html(data);
}
});
}
</script>
</head>
<body style="width:400px; height:400px;">
<div id = "abc">
<button id = "btnFindLists" type="button">Click Me!</button>
<div id="mainContent">
<p>1</p> <!-- -- that p will be returned -->
</div>
</body>
</html>
просто не работает как другие, возможная причина может быть аутентификация Windows.
Приветствия
<Сильные> Редактировать 2: * Другое, что я хотел бы добавить сейчас, что я не могу добраться до веб-сайтов, пока я не вхожу в систему для ISA-сервера, это еще одна подсказка, которую я получил. *
Решение
Я думаю, почему бы вам не использовать listdata.svc вместо lists.asmx, чтобы получить данные списка.Listdata.svc предоставляет возможность получить информацию из списка (или списков, использующих соединения), используя отдых, и вы в конечном итоге - это хороший RSS-канал списка данных, которые вы можете потреблять с любым клиентом.
Кроме того, вам не нужно создавать веб-ссылку, как вы упомянули в этом вопросе, и все равно сделайте вашу работу, выполненную с помощью сценариев на стороне клиента.Вот пример запроса для listdata.svc с помощью jquery
<script type="text/javascript" language="javascript">
$('document').ready(function () {
$('#btnFindLists').bind('click', findLists);
});
function findLists()
{
alert('Hello World!');
$.getJSON("/_vti_bin/ListData.svc", {
sucess: function (data, textStatus, xhr) {
$("#mainContent p").first().html(data);
}
});
}
</script>
.