我有一个SharePoint列表,其中包含四个不同的列(名称,职位,办公室,薪水)。在我的项目中,我必须连接到SharePoint网站(使用特定的用户名和密码登录),检索列表中的所有项目并将其显示在我自己的网站中。我在互联网上阅读了很多帖子,但没有任何用处。如果您能帮助我,我将不胜感激。
此示例REST API getlistitem:
var requestUri = "http://sp/sites/test" + "/_api/web/lists/getByTitle('SharePointList')/items?$select=Name,Position,Office,Slary";
var requestHeaders = {
"accept": "application/json;odata=verbose"
}
$.ajax({
url: requestUri,
type: 'GET',
dataType: 'json',
headers: requestHeaders,
success: function (data)
{
$.each(data.d.results, function(i,result) {
//Name
var name = result.Name;
alert(name);
});
},
error: function ajaxError(response) {
alert(response.status + ' ' + response.statusText);
}
我认为您的两个站点都来自同一域。以下是使用REST API从Sharepoint列表中读取项目的示例代码:
function retriveListItem()
{
var resultGridHtmlMySubmission=''
$.ajax (
{
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('<SampleListName(yourlistTitle)>')/items?$select=Title,Name,Position,Office,Salary",
type: "GET",
data: JSON.stringify,
headers:
{
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"IF-MATCH": "*",
"X-HTTP-Method": null
},
cache: false,
success: function(data)
{
for (vari = 0; i<data.d.results.length; i++)
{
var item = data.d.results[i];
resultGridHtmlMySubmission+='<tr>';
resultGridHtmlMySubmission+='<tdalign="center" valign="middle"><span title="Sr.No."><b>'+item.Title+'</b></span></td>';
resultGridHtmlMySubmission+='<td align="center" valign="middle"><span title="Sr.No."><b>'+item.Name+'</b></span></td>';
resultGridHtmlMySubmission+='<td align="center" valign="middle"><span title="Sr.No."><b>'+item.Position+'</b></span></td>';
resultGridHtmlMySubmission+='<td align="center" valign="middle"><span title="Sr.No."><b>'+item.Office+'</b></span></td>';
resultGridHtmlMySubmission+='<td align="center" valign="middle"><span title="Sr.No."><b>'+item.Salary+'</b></span></td>';
resultGridHtmlMySubmission+='</tr>';
}
$("#tbodycontent").html(resultGridHtmlMySubmission);
},
error: function(data)
{
// $("#ResultDiv").empty().text(data.responseJSON.error);
}
});
}
已经讨论了类似线程here
而且,如果要从外部系统连接SharePoint在线网站-我们已经创建了client_id和client_secret而不是用户名和密码。
如何创建它-请遵循this线程。