Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SharePoint REST:列不存在错误_Rest_Api_Sharepoint - Fatal编程技术网

SharePoint REST:列不存在错误

SharePoint REST:列不存在错误,rest,api,sharepoint,Rest,Api,Sharepoint,我正在使用SharePoint online上的SharePoint Designer工作流调用REST API。我用一个变量设置列名,当我把变量放入我的URL中调用它时,它会说“column[name]不存在” 恼人的是当我只打电话给你/物品的时候?我可以在结果中看到该列,但如果我尝试选择它或按它筛选,我会得到“不存在”。我有很多类似的列,我得到了所有列的错误 我使用的是内部名称,我试着在前面加上“OData_”。我曾尝试在浏览器中手动键入url并输入值(以防变量导致问题),但我得到了相同的错

我正在使用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”不存在。它可能已被其他用户删除


我希望能够选择该列(以及几十个类似的列)但是没有效果。我在论坛上搜索了所有类似的问题,他们通常都有拼写错误或忘记了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的列最终,这就是它不起作用的原因