使用 Flow 将 SharePoint 列表返回到 Powerapps

问题描述 投票:0回答:3

我已使用此流程将任何 Sharepoint 列表的计数返回给 Powerapps。

https://masteroffice365.com/get-sharepoint-library-or-list-total-items-from-power-apps/

我该如何修改它以将列表的内容返回给Powerapps,以便我可以使用Powerapps将其放入集合中?

这是否意味着如果列表中的项目超过 2000 个,我就不必担心委派问题?

这是我到目前为止所尝试过的。

有一个变量 TotalItemsCount,我已将其更改为 ListItems。我没有使用 Integer,而是将 ListItems 设置为数组。

在“获取库”列表内容中,我使用它作为 URI。

concat( '_api/web/lists/GetbyTitle(''', first( body('Filter_Library_List_Being_Queried') )?['displayName'], ''')/Items' )

我不确定最后一步要输入什么,因为我希望它能够返回任何列表的内容。我认为这排除了解析 json 步骤,因为这需要明确的模式。

我添加了一个ApplyToEach

我在运行时收到此错误消息。

表达式评估失败。模板动作的执行 'Apply_to_each'失败:'foreach'的评估结果 表达式“@body('Get_Library_List_Contents')”的类型为“Object”。 结果必须是有效的数组。

json sharepoint-online powerapps power-automate
3个回答
2
投票

我认为您无法将数组返回给 PowerApps。您必须以 JSON 字符串形式返回响应,然后让 PowerApp 执行逻辑以将 JSON 字符串转换为集合。

您的 PowerApp 可能必须包含类似的内容才能转换从流程返回的 JSON 字符串:

ClearCollect(
  *collectionName*,
    MatchAll(
      *JSON_String*,
    *"\{""date"":""(?<date>[^""]*)"",""message"":""(?<message>[^""]*)"",""user"":""(?<user>[^""]*)""\}"*
));

Flow returning response body to PowerApp


1
投票

如果我理解正确的话,您想要从 Sharepoint 列表中检索 14000 条记录,而不仅仅是总数。

这是否意味着如果列表超过 2000 项,我不必担心委派?

是的,当您使用云流而不是直接从 Powerapps 访问 Sharepoint 列表时,您基本上可以避免 2k 条记录的委派。

现在回到检索记录的主要主题,您必须测试并运行您的流程并检查以下 http 返回的内容。我相信它返回一个 JSON 数组。

concat( '_api/web/lists/GetbyTitle(''', first( body('Filter_Library_List_Being_Queried') )?['displayName'], ''')/Items' )

您必须为每个应用或清理 JSON 输出以返回字符串数组或 JSON 数组作为所有 14K 记录的输出。

此外,如果您在线使用 Sharepoint,为什么不使用连接器来实现

此处提到的流程


0
投票
您还可以下载此模板,该模板使用 Power Automate 和设置的 SP HTTP 调用来有效获取所需的项目,然后使用 ParseJSON( ) 将它们返回到应用程序。 所以这应该有你需要的一切。

https://powerusers.microsoft.com/t5/Community-App-Samples/No-Delegation-Limit-SharePoint-List-Power-App/td-p/2330721

https://youtu.be/EH-YndEPIiI?si=3vzU6Q6Ob1JG2IlM

© www.soinside.com 2019 - 2024. All rights reserved.