通过 REST 确保用户 API
EnsureUser via REST API
我正在尝试确保一些用户并进入 post 500(内部服务器错误)。
function ensureUser(webUrl,loginName)
{
var data = { 'logonName': loginName };
return $.ajax({
url: webUrl + "/_api/web/siteusers",
type: "POST",
data: JSON.stringify(data),
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose"
}
});
}
var loginName = 'i:0#.w|nsm\eilonte'
ensureUser(_spPageContextInfo.webAbsoluteUrl,loginName)
.done(function(data)
{
console.log('success');
})
.fail(function(error){
console.log(error);
});
这是错误:
jquery-1.12.4.js:10254 POST http://blabla/_api/web/ensureuser 500 (Internal Server Error)
send @ jquery-1.12.4.js:10254
ajax @ jquery-1.12.4.js:9738
ensureUser @ VM2574:4
(anonymous) @ VM2574:17
无法确定问题所在。
您发送的用户名不是 JSON。将 "Content-Type" header 更改为:
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
另外我认为API端点是
_api/web/ensureuser
尝试使用以下代码来确保用户。
function ensureUser(webUrl,loginName)
{
var payload = { 'logonName': loginName };
return $.ajax({
url: webUrl + "/_api/web/ensureuser",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(payload),
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"accept": "application/json;odata=verbose"
}
});
}
var loginName = 'emailid'
ensureUser(_spPageContextInfo.webAbsoluteUrl,loginName)
.done(function(data)
{
console.log('User has been added');
})
.fail(function(error){
console.log('An error occured while adding user');
});
我正在尝试确保一些用户并进入 post 500(内部服务器错误)。
function ensureUser(webUrl,loginName)
{
var data = { 'logonName': loginName };
return $.ajax({
url: webUrl + "/_api/web/siteusers",
type: "POST",
data: JSON.stringify(data),
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose"
}
});
}
var loginName = 'i:0#.w|nsm\eilonte'
ensureUser(_spPageContextInfo.webAbsoluteUrl,loginName)
.done(function(data)
{
console.log('success');
})
.fail(function(error){
console.log(error);
});
这是错误:
jquery-1.12.4.js:10254 POST http://blabla/_api/web/ensureuser 500 (Internal Server Error)
send @ jquery-1.12.4.js:10254
ajax @ jquery-1.12.4.js:9738
ensureUser @ VM2574:4
(anonymous) @ VM2574:17
无法确定问题所在。
您发送的用户名不是 JSON。将 "Content-Type" header 更改为:
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
另外我认为API端点是
_api/web/ensureuser
尝试使用以下代码来确保用户。
function ensureUser(webUrl,loginName)
{
var payload = { 'logonName': loginName };
return $.ajax({
url: webUrl + "/_api/web/ensureuser",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(payload),
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"accept": "application/json;odata=verbose"
}
});
}
var loginName = 'emailid'
ensureUser(_spPageContextInfo.webAbsoluteUrl,loginName)
.done(function(data)
{
console.log('User has been added');
})
.fail(function(error){
console.log('An error occured while adding user');
});