You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SharePoint REST API无法返回以数字开头的字段,如何获取这类字段?

解决SharePoint REST API无法获取数字开头字段的问题

我之前处理过一模一样的场景!SharePoint的OData端点对不符合标准标识符规则的字段(比如以数字开头、带空格的自定义字段)有特殊处理——默认返回的结果里不会包含这类字段,直接用显示名称调用也会无效。给你两个实用的解决办法:

方法1:通过字段内部名称请求

SharePoint会为每个字段生成一个符合OData规范的内部名称,比如“1st Line Review Outcome”的内部名称可能是_x0031_st_x0020_Line_x0020_Review_x0020_Outcome(具体编码取决于字段创建时的规则)。你可以先调用字段列表API拿到这个内部名称:

$.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('NXE Action Plan Tracker')/fields?$filter=Title eq '1st Line Review Outcome'",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose;" },
    success: function (data) {
        const internalName = data.d.results[0].InternalName;
        console.log("字段内部名称:", internalName);
        // 用内部名称请求items
        fetchItemsWithSpecialField(internalName);
    },
    error: function (err) {
        console.error("获取字段信息失败:", err);
    }
});

function fetchItemsWithSpecialField(internalName) {
    $.ajax({
        url: `${_spPageContextInfo.webAbsoluteUrl}/_api/web/lists/getbytitle('NXE Action Plan Tracker')/items?$select=Title,${internalName}`,
        method: "GET",
        headers: { "Accept": "application/json; odata=verbose;" },
        success: function (data) {
            console.log("包含目标字段的数据:", data);
            // 访问字段值:data.d.results[0][internalName]
        },
        error: function (err) {
            console.error("获取列表项失败:", err);
        }
    });
}

方法2:直接用OData特殊语法引用显示名称

如果你不想先查询内部名称,也可以在$select参数里用OData的特殊引用方式——把字段名放在单引号+方括号里,并且对特殊字符做URL编码:

$.ajax({
    // 注意:%5B是[的URL编码,%20是空格,%27是'的编码
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('NXE Action Plan Tracker')/items?$select=Title,%5B%271st%20Line%20Review%20Outcome%27%5D",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose;" },
    success: function (data) {
        console.log("包含目标字段的数据:", data);
        // 访问字段值时要使用带单引号的键名
        console.log("字段值示例:", data.d.results[0]["'1st Line Review Outcome'"]);
    },
    error: function (err) {
        console.error("请求失败:", err);
    }
});

关键提示

  • 必须指定$select参数:默认情况下,SharePoint REST API只返回Title、ID等核心字段,不会包含自定义字段,不管名称是否合规。
  • 方法2的返回字段名会保留单引号和方括号的格式,所以访问时要对应使用带单引号的键名。

内容的提问来源于stack exchange,提问作者joshmk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:50:43