SharePoint REST:列不存在错误
我正在使用SharePoint online上的SharePoint Designer工作流调用REST API。我用一个变量设置列名,当我把变量放入我的URL中调用它时,它会说“column[name]不存在” 恼人的是当我只打电话给你/物品的时候?我可以在结果中看到该列,但如果我尝试选择它或按它筛选,我会得到“不存在”。我有很多类似的列,我得到了所有列的错误 我使用的是内部名称,我试着在前面加上“OData_”。我曾尝试在浏览器中手动键入url并输入值(以防变量导致问题),但我得到了相同的错误,列不存在。但我可以看到它们,我称之为所有项目( 因此,我有很多列的命名约定为“[Q#]Score[#]”,例如“Q4 Score 2”。完整项目结果中清晰显示的内部名称是“Q4_x0020_x0020_2” 这项工作: (‘审计’)/项目 我得到了大的完全正常休息结果,包括以下几行: 0 但是,如果我尝试: (“审计”)/项目?$Select=Q4\u x0020\u分数\u x0020\u 2 然后我得到: -2146232832,Microsoft.SharePoint.spexception列“Q4\u x0020\u Score\u x0020\u 2”不存在。它可能已被其他用户删除SharePoint REST:列不存在错误,rest,api,sharepoint,Rest,Api,Sharepoint,我正在使用SharePoint online上的SharePoint Designer工作流调用REST API。我用一个变量设置列名,当我把变量放入我的URL中调用它时,它会说“column[name]不存在” 恼人的是当我只打电话给你/物品的时候?我可以在结果中看到该列,但如果我尝试选择它或按它筛选,我会得到“不存在”。我有很多类似的列,我得到了所有列的错误 我使用的是内部名称,我试着在前面加上“OData_”。我曾尝试在浏览器中手动键入url并输入值(以防变量导致问题),但我得到了相同的错
我希望能够选择该列(以及几十个类似的列)但是没有效果。我在论坛上搜索了所有类似的问题,他们通常都有拼写错误或忘记了ODATA,但我似乎无法找到问题。请帮助。它似乎间歇性地工作……所以实际上只是一个命名错误……一半的专栏是[Q#]\u x0020\u Score\u x0020\u[\35;]一半是[Q#]_x0020_得分x0020_u[#].“得分”一词利用了一些而不是其他。我没有意识到HTTP调用是区分大小写的。现在我添加了一堆if语句来处理不同的变化哈哈。感谢阅读。它似乎是间歇性工作的……所以实际上只是命名错误……有一半的列是[Q#]\u x0020\u Score\u x0020\u35;其中一半是[Q#][u x0020_score_x0020_[#].“score”一词是大写的,而不是大写的。我没有意识到HTTP调用是区分大小写的。现在我添加了一堆if语句来处理不同的变体,哈哈。谢谢阅读。必须加载所有这样的字段
var lists = context.Web.Lists;
context.Load(lists);
context.ExecuteQuery();
CamlQuery query = new CamlQuery();
query.ViewXml = @"";
var list = lists.GetById("file.guid");
var listitems = list.GetItems(query);
context.Load(listitems);
context.ExecuteQuery();
var creationInformation = new ListItemCreationInformation();
var newItem=list.AddItem(creationInformation);
var fields = list.Fields;
context.Load(fields);
context.ExecuteQuery();
必须像这样加载所有字段
var lists = context.Web.Lists;
context.Load(lists);
context.ExecuteQuery();
CamlQuery query = new CamlQuery();
query.ViewXml = @"";
var list = lists.GetById("file.guid");
var listitems = list.GetItems(query);
context.Load(listitems);
context.ExecuteQuery();
var creationInformation = new ListItemCreationInformation();
var newItem=list.AddItem(creationInformation);
var fields = list.Fields;
context.Load(fields);
context.ExecuteQuery();
根据命名惯例判断,您使用的是较旧版本的SharePoint。x0020是空格的值。理想情况下,当您第一次创建列时,您可以将其命名为不带空格的列。例如UserInformation。然后进来编辑该名称,并将其称为User Information。如果您单击标题名称并查看e URL,您将在URL的末尾看到该列的实际名称。它区分大小写,因为您可以有一个名为score的列,而score正是该列不起作用的最终原因。根据命名约定判断,您使用的是旧版本的SharePoint。x0020是空间的值。理想情况下,当您首次创建e您将不带空格的列命名。例如UserInformation。然后进来,在事实之后编辑名称并将其称为User Information。如果您单击标题名称并查看URL,您将看到URL末尾列的实际名称。它区分大小写,因为您可以有一个名为score的列最终,这就是它不起作用的原因