json 正在接收Sharepoint REST API请求的空括号数组?

xiozqbni  于 2024-01-09  发布在  其他
关注(0)|答案(1)|浏览(112)

我正在使用Microsoft Power Automate来自动化Sharepoint中的工作流。我已经设法在一个请求中获取列表中所有文件的指定属性,包括文件夹(请参阅下面的简化代码)。

https://<myDomain>.sharepoint.com/sites/<mySite>/_api/web/lists/getbytitle('<myList>')/items?$select=Folder/Files/ListItemAllFields/ID,Folder/Files/ListItemAllFields/Title&$expand=Folder/Files/ListItemAllFields

字符串
我设置了请求头“accept:json;odata= nometric”,因为我在输出中接收这个元数据没有意义。这个请求给了我以下JSON输出体:

"value": [
    {
      "Folder": {
        "Files": [
          {
            "ListItemAllFields": {
              "Id": 1,  // Gives me back ID twice, Idk why but it
              "ID": 1   // works just fine and doesnt bother me
              "Title": "<fileTitle>"
            }
          },
... // Followed by all other 100+ files with ID and Title
]


现在,当我尝试按ID或任何其他列过滤这些文件时,奇怪的事情发生了,如下所示。

https://<myDomain>.sharepoint.com/sites/<mySite>/_api/web/lists/getbytitle('<myList>')/items?$select=Folder/Files/ListItemAllFields/ID,Folder/Files/ListItemAllFields/Title&$expand=Folder/Files/ListItemAllFields&$filter=(ID eq 1)or(ID eq 2)


当我向HTTP请求添加一个filter语句时,我会得到一个带空括号的JSON输出体:

"value": [
    {}, // First file with ID = 1
    {}  // Second file with ID = 2
]


这很奇怪,因为它返回了正确数量的JSON对象(我尝试了一些组合,所以我很确定),但没有正确扩展对象的属性。这使得我的输出带有空括号,我想在其中获得我请求的属性“ID”和“Title”,如上所示。
据我所知,filter语句的语法是正确的,否则它不会给予我返回两个请求的对象。我的“expand”-语句中有语法错误吗?有人知道如何正确地获取或扩展这些对象吗?

bttbmeg0

bttbmeg01#

你得到的是空对象,因为你在$select中提到的列不存在,这就是它返回空对象的原因。
不带过滤器的请求将返回一个如下所示的数组

"value": [
{
  "Folder": {
    "Files": [
      {
        "ListItemAllFields": {
          "Id": 1,
          "Title": "<fileTitle>",
          "ID": 1
        }
      }
    ]
  }
},
{
  "Id": 1,
  "Title": "<fileTitle>",
  "ID": 1
}
}
]

字符串
因为在你的select语句中你提到了2列,

  • 第一个月
  • Folder/Files/ListItemAllFields/Title

它不存在于Files中,这就是为什么它返回一个空对象。

https://<myDomain>.sharepoint.com/sites/<mySite>/_api/web/lists/getbytitle('<myList>')/items?$select=ID,Title,Folder/Files/ListItemAllFields/ID,Folder/Files/ListItemAllFields/Title&$expand=Folder/Files/ListItemAllFields

相关问题