0

自 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”,所以不确定为什么它为空,但我发现如果我删除最后一部分

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 团队,也许部署了一些新版本并引入了一些行为更改/错误?请指教,谢谢

4

1 回答 1

0

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

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

于 2020-09-16T00:49:35.820 回答