在 Sharepoint 在线团队网站上通过 REST API 创建列表项
Create list item via REST API on Sharepoint online Team site
我正在尝试使用 REST API 在 Sharepoint 上在线创建列表项。当我在根站点或 root/subsite 上创建项目时 - 一切都很棒。但是,如果我尝试在团队站点上使用 URL(如 root/teams/msteams_cc6dfd/)创建列表项,我会收到错误消息:
' <m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<m:code>-2130575251, System.Runtime.InteropServices.COMException</m:code>
<m:message xml:lang="en-US">The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again.</m:message>
</m:error>
'
有趣的是,该站点上的 GET 工作正常,但是 POST 不行。
P.S。对不起我的疯狂英语。
POST 请求需要 X-RequestDigest
header 存在于您的请求中。您可以从当前页面或 /_api/web/contextinfo
端点获取它。
使用此 link 作为示例:https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints#writing-data-by-using-the-rest-interface
从页面获取:"X-RequestDigest": $("#__REQUESTDIGEST").val()
要从上下文信息中获取它,请创建对此端点的 GET 请求并提取 FormDigestValue 参数值。
我想它会解决你的问题。
更新:
可能是权限问题。
请检查此站点上的帐户权限。如果您使用 X-RequestDigest 正确完成所有操作,那么它可能只是权限问题。此帐户是否具有调用 API 所需的权限?此帐户是否有权在您的列表所需的网站上创建列表项?
尝试将帐户添加到站点 collection 管理员。它在工作吗?您的列表是否具有独特的权限?可能是帐户在站点上具有贡献角色但无权访问特定列表,因为存在唯一权限。
您能否通过其他方式而非 1C 创建列表项? PowerShell 脚本、控制台应用程序 C#、javascript 来自您的 SharePoint 网站?如果它工作正常然后发出 1C 代码。
我正在尝试使用 REST API 在 Sharepoint 上在线创建列表项。当我在根站点或 root/subsite 上创建项目时 - 一切都很棒。但是,如果我尝试在团队站点上使用 URL(如 root/teams/msteams_cc6dfd/)创建列表项,我会收到错误消息:
' <m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<m:code>-2130575251, System.Runtime.InteropServices.COMException</m:code>
<m:message xml:lang="en-US">The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again.</m:message>
</m:error>
'
有趣的是,该站点上的 GET 工作正常,但是 POST 不行。
P.S。对不起我的疯狂英语。
POST 请求需要 X-RequestDigest
header 存在于您的请求中。您可以从当前页面或 /_api/web/contextinfo
端点获取它。
使用此 link 作为示例:https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints#writing-data-by-using-the-rest-interface
从页面获取:"X-RequestDigest": $("#__REQUESTDIGEST").val()
要从上下文信息中获取它,请创建对此端点的 GET 请求并提取 FormDigestValue 参数值。
我想它会解决你的问题。
更新:
可能是权限问题。
请检查此站点上的帐户权限。如果您使用 X-RequestDigest 正确完成所有操作,那么它可能只是权限问题。此帐户是否具有调用 API 所需的权限?此帐户是否有权在您的列表所需的网站上创建列表项?
尝试将帐户添加到站点 collection 管理员。它在工作吗?您的列表是否具有独特的权限?可能是帐户在站点上具有贡献角色但无权访问特定列表,因为存在唯一权限。
您能否通过其他方式而非 1C 创建列表项? PowerShell 脚本、控制台应用程序 C#、javascript 来自您的 SharePoint 网站?如果它工作正常然后发出 1C 代码。