【问题标题】:Sharepoint Online REST strange error (400) - "Value cannot be null.Parameter name: key"Sharepoint Online REST 奇怪错误(400)-“值不能为空。参数名称:键”
【发布时间】:2021-01-02 16:29:14
【问题描述】:

自 2020 年 9 月 9 日起,我们开始在 REST API 调用以获取子站点列表及其列表时出现奇怪错误:

GET <site url>_api/web?$expand=webs,lists,AllProperties,ThemeInfo,SiteUsers,RoleDefinitions&$select=*,webs/Url,lists/Id,lists/Title,lists/Description,lists/BaseType,lists/BaseTemplate,lists/Hidden,lists/Language,lists/ItemCount,lists/Created,lists/TemplateFeatureId,lists/CurrentChangeToken,SiteUsers/id,SiteUsers/Title,SiteUsers/LoginName,AllProperties/DesignPreviewThemedCssFolderUrl

API 调用已经工作了几年,但现在出现了问题,在我们的许多客户(不是全部,但大约 30%)中,我们看到了这个错误。

{"error":{"code":"-2147467261, System.ArgumentNullException","message":{"lang":"en-US","value":"Value cannot be null.Parameter name: key"}}}

现在,我们不要求任何参数“key”,所以不知道为什么它是 null,但我发现如果我删除最后一部分

AllProperties/DesignPreviewThemedCssFolderUrl

请求现在看起来:

GET <site url>_api/web?$expand=webs,lists,AllProperties,ThemeInfo,SiteUsers,RoleDefinitions&$select=*,webs/Url,lists/Id,lists/Title,lists/Description,lists/BaseType,lists/BaseTemplate,lists/Hidden,lists/Language,lists/ItemCount,lists/Created,lists/TemplateFeatureId,lists/CurrentChangeToken,SiteUsers/id,SiteUsers/Title,SiteUsers/LoginName

那么这个请求就正常返回了,没有任何错误

@Sharepoint 团队,也许部署了一些新版本并引入了一些行为更改/错误? 请指教, 谢谢

【问题讨论】:

    标签: sharepoint-online sharepoint-rest-api


    【解决方案1】:

    所以这可能是因为 SharePoint 中的 URL 长度最大限制。 SharePoint Online 中的路径长度限制为 400 个字符。 SP 2013 on-Prem 中的路径长度限制为 255 个字符。

    尝试删除不必要的列或通过 URL 缩短器缩短 URL。

    【讨论】:

    • 好吧,当我删除 AllProperties/DesignPreviewThemedCssFolderUrl 时,我在 500 个字符之后仍然很远,但没有工作。还有几件事 - 它在 9 月 10 日之前工作。另一个是文件路径,我们知道文件路径长度限制。
    猜你喜欢
    • 2021-07-21
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 2013-09-13
    • 2013-03-23
    • 1970-01-01
    相关资源
    最近更新 更多