【问题标题】:SharePoint HTTP Web serviceSharePoint HTTP Web 服务
【发布时间】:2016-09-07 16:56:44
【问题描述】:

我正在 SharePoint 设计器中设计一个工作流,该工作流通过 GET 方法使用 HTTP Web 服务步骤。我之前已经成功使用过,但这次我认为问题出在列表的名称上,但我不确定如何解决。

现在是列表“Engineers' Items-Table”的原始名称。如您所见,名称中有一个撇号。所以最初我尝试了以下返回 0 条记录的 url:

https://<domain>/_api/web/lists/getbytitle('Engineers' Items-Table')/items/?$select=Id

然后我将列表重命名为“Engineer Items-Table”并尝试了 url:

https://<domain>/_api/web/lists/getbytitle('Engineer Items-Table')/items/?$select=Id

也不返回任何结果。我尝试使用转义字符 %27 而不是也不起作用的撇号。 SharePoint 不会引发任何异常。工作流程完成没有问题,但没有从列表中返回任何项目。

非常感谢您的意见。谢谢。

【问题讨论】:

    标签: sharepoint sharepoint-designer sharepoint-workflow sharepoint-webservice


    【解决方案1】:

    不要使用“%27”,而是使用“'”作为转义字符。

    https://<domain>/_api/web/lists/getbytitle('Engineers'' Items-Table')/items/?$select=Id
    
    1. 重命名列表可能不会改变行为,因为您现在要更改的只是显示名称。
    2. 接下来,一旦您开始获取结果添加选择和过滤器,就将查询简单地删除选择作为开始。
    3. 使用 POSTMAN,这是一个 Chrome 扩展程序,可以帮助您快速找到错误。

    【讨论】:

    • 嗨 sahilloona,感谢您的回答和建议。我尝试使用您建议的转义字符,但没有用。非常感谢邮递员的提示,它看起来很棒。但是,当我尝试使用它时,会出现以下错误:“拒绝访问。您无权执行此操作或访问此资源。”我已经包含了 X-RequestDigest 值,但它仍然给出这个错误。有什么想法吗?
    • 尝试使用管理员帐户运行。转义字符应该可以工作。在这种情况下,您实际上没有访问此列表的权限。再次检查特定列表的权限。您是否可以从任何其他列表中获取数据,您也可以尝试。
    • 你说得对,它确实应该有效。我能够以完全控制站点的方式运行工作流。奇怪的是我也尝试使用列表指南。到目前为止,它适用于除此之外的所有其他列表。我将尝试使用应用程序步骤来查看它是否有效。这可能是一个错误吗?因为当我得到 guid 时,它看起来与通常的 guid 有点不同。
    • 嗨 sahilloona,你的两个答案都是正确的。我使用了您的转义字符,对于权限问题,我使用了一个 appstep 来执行 Web 服务调用。非常感谢您的帮助!
    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2015-04-10
    相关资源
    最近更新 更多