如何使用 Microsoft graph api 获取列值

How to get Column value using Microsoft graph api

我创建了一个带有选择值的自定义列,并为在共享点中上传的文档分配了一个值,如下图所示

我可以使用下面的代码获取文件详细信息,但我没有在输出中获得 'Document Status' 字段。

  item_path = 'General/xxxxxx-0749.pdf'
  item_url = urllib.parse.quote(item_path)
  prop = urllib.parse.quote('Document Status')
  url = f'{RESOURCE_URL}{API_VERSION}/drives/{drive_id}/root:/{item_url}?$expand={prop}'
  response = requests.request("GET", url, headers=headers, data=payload)

  print(response.status_code)
  print(response.text)

'Expand' 和 'select' 都给出以下错误

"code":"BadRequest","message":"Parsing OData Select and Expand failed: Term 'Document Status' is not valid in a $select or $expand expression."

有没有办法使用图表 api 获取此类自定义列值?

您的 GET 请求 return 关于 driveItem 的信息。驱动器项与 listItem 有关系,如果展开 listItem,您将获得有关 listItem 的信息,包括表示列表项

中设置的列值的字段
url = f'{RESOURCE_URL}{API_VERSION}/drives/{drive_id}/root:/{item_url}?$expand=listitem'

如果你想return只选择字段试试这个

url = f'{RESOURCE_URL}{API_VERSION}/drives/{drive_id}/root:/{item_url}?&expand=listitem(expand=fields(select={prop}))

不确定,但如果列名包含 space,则 space 应替换为 _x0020_

Document Status => Document_x0020_Status

资源:

driveItem relationships

listItem relationships