如何创建包含SharePoint内部编码异常列的项目?
这个问题其实是SharePoint对列名做了内部编码导致的——你在网页端看到的"col1"是列的显示名称,而Graph返回的"_x0063_ol1"是列的内部名称,这才是API交互时真正需要用的标识。要创建包含这类列的项目,只需要遵循以下步骤:
1. 确认列的内部名称
通过你已经使用的Graph接口 GET /sites/{site-id}/lists/{list-id}/columns/{column-id} 获取列信息,提取返回结果里的name字段值(也就是这里的"_x0063_ol1"),这就是后续创建项目时要用到的键名。
2. 发起创建项目的POST请求
调用Graph的列表项目创建接口,在请求体的fields对象中,用刚才拿到的内部名称作为字段键,传入对应的值即可。
示例请求
- 请求URL:
POST /sites/{site-id}/lists/{list-id}/items - 请求头:确保包含
Content-Type: application/json和有效的身份验证令牌 - 请求体(JSON格式):
{ "fields": { "_x0063_ol1": "你要填入的内容" } }
额外提示
- 永远以Graph返回的
name字段(内部名称)作为API操作的字段标识,不要依赖网页端的显示名称——SharePoint会根据内部规则自动编码部分列名,尤其是当列名和内部保留标识有冲突风险时。 - 如果需要快速确认内部名称,也可以在SharePoint网页端进入列的设置页面,查看浏览器地址栏的URL,里面会有类似
Field=_x0063_ol1的参数,这就是内部名称。
内容的提问来源于stack exchange,提问作者Pavlo Mykhailyshyn
相关产品推荐
相关产品推荐

