当前位置: 首页 > 面试题库 >

Sharepoint 2013:通过REST API确保用户

司寇琨
2023-03-14
问题内容

我正在尝试通过REST API自动确保某些用户。我的REST电话:

$.ajax({
url: "blablabla/_api/web/ensureuser",
type: "POST",
data: "{ 'logonName': 'i%3A0%23.w%7Cdomain%09logonName' }",
headers: {
    "X-RequestDigest": $("#__REQUESTDIGEST").val(),
    "accept": "application/json;odata=verbose"
},
success: function () {
    console.log("done!");
},
error: function (err) {
    console.log(JSON.stringify(err));
}
});

现在,在发送此呼叫时,出现以下错误;

“错误的请求:Microsoft.Data.OData.ODataContentTypeException找不到与响应的内容类型匹配的受支持的MIME类型。所有受支持的类型’application
/ json; odata = verbose’与内容类型都不匹配’ application / x-www-form-urlencoded;
charset = UTF-8’“

该调用的建立类似于在指定的msdn参考中。


问题答案:

发生此错误是因为ContentType它是JSON请求,因此需要明确指定:

contentType (默认值:“ application / x-www-form-urlencoded; charset = UTF-8”)

将数据发送到服务器时,请使用此内容类型。默认值为“ application / x-www-form-urlencoded; charset =
UTF-8”

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 = 'i:0#.f|membership|jdoe@contoso.onmicrosoft.com'
ensureUser(_spPageContextInfo.webAbsoluteUrl,loginName)
.done(function(data)
{
    console.log('User has been added');
})
.fail(function(error){
    console.log('An error occured while adding user');
});


 类似资料:
  • 我正在尝试使用新的嵌入式可视化功能。我有一个iframe,它指向graphdb服务器,url如下: http://localhost:7200/graphs-视觉化?uri=[…] 这很好,但只适用于默认或以前选择的存储库。我无法找到一种方法来选择存储库,而不必手动转到http://localhost:7200/ 似乎存储库选择存储在一个cookie中,并且HTTP头可用,但似乎没有任何东西可以用

  • 我得到了这个endpoint,但我不知道如何从电话画廊拍照并通过这个endpoint发送此图像?

  • 过滤用户数据是Web应用安全的基础。它是验证数据合法性的过程。通过对所有的输入数据进行过滤,可以避免恶意数据在程序中被误信或误用。大多数Web应用的漏洞都是因为没有对用户输入的数据进行恰当过滤所引起的。 我们介绍的过滤数据分成三个步骤: 1、识别数据,搞清楚需要过滤的数据来自于哪里 2、过滤数据,弄明白我们需要什么样的数据 3、区分已过滤及被污染数据,如果存在攻击数据那么保证过滤之后可以让我们使用

  • 问题内容: 我正在将DHTMLX网格导出到csv,并且已经能够成功创建.CSV文件。我遇到的问题是它没有提示用户保存/打开文件。我正在使用来自javascript的$ .post调用将CSV字符串发送到PHP,然后将该字符串写入csv。由于某种原因,它没有为用户创建提示,但它已成功写入文件并保存在服务器上。下面是相关代码: JS: PHP(export.php): 这段代码可以完全按照我的需要导出

  • 我发现这篇文档建议我们应该能够在社区中放置一个新的徽标。但文档中也指出,在输入时会忽略它。在我们开始密集的故障排除之前,如果有人能够确认我们确实可以通过编程方式更改徽标,这将有所帮助。 使用href属性中的网址获取表示社区徽标的图像。支持以下操作:GET使用href属性中的Web地址获取社区徽标图像文件。如果尚未设置徽标,则返回默认图像。PUT使用href属性中的Web地址上传新的社区徽标图像并替