从SharePoint环境中获取来自SharePoint的数据的方法
-
09-12-2019 - |
题
我的问题是 有人可以告诉我可能的方式,我可以从SharePoint 2007列表中获取数据,它用SSL / HTTPS为Windows 7小工具(使用HTML / Java脚本),
(我问了我的高级开发人员,他们告诉我,客户首先填写一个表单,它由ISA Server验证,并提供了一个Cookie,他稍后使用他访问的SharePoint网站,他可以访问他访问的SharePoint网站我假设它是一种表单认证,但随后我不确定它的Windows身份验证是否因为用户填写了表单@,但如果我在Chrome中打开相同的门户,则会弹出并询问用户名和密码)
我一直在看不同的方式,但我不确定在这种情况下完全努力。
编辑:
在研究Windows / Forms身份验证后,我知道我们正在使用Windows身份验证。
所以我的问题将改变为这样的东西,
使用SOAP / WebServices使用“_vti_bin / authentication.asmx”,然后“_vti_bin / lists.asmx”“”getlistitems()“是什么可能的方法是什么请记住,我不想使用.NET(Web参考),因为我正在为Windows Vista小工具开发它,这将使用HTML /脚本语言 构建
cheers
更多解释:
我尝试过答案代码尖刻,但我没有取得任何成功,我也明确知道客户使用基本身份验证,然后在服务器之间使用基本身份验证,现在我尝试了这个代码,它不起作用
.
<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>
“警报”函数在小工具中不起作用。
我尝试了falak的代码,因为这个
.
<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身份验证。
cheers
编辑2: * 我现在要添加的另一件事,直到我登录到ISA服务器之前我无法到达WebServices,那就是我得到的另一个线索。 *
解决方案
我在思考为什么你不使用listdata.svc而不是lists.asmx获取列表数据。ListData.svc提供了一种使用REST的列表(或使用加入的列表)获取信息的方法,您最终可以使用您可以使用您想要的任何客户端消耗的最漂亮的RSS数据。
此外,您不必根据问题所提到的,并仍然通过客户端脚本进行工作。以下是使用jquery 的ListData.svc的示例查询
<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>
.