从 Power Apps 应用使用自定义连接器

备注

本主题是有关在 Azure 逻辑应用、Power Automate 和 Power Apps 中创建与使用自定义连接器的系列教程的一部分。 请务必阅读自定义连接器概述来了解整个流程。

在本主题中,您将构建一个基本应用,该应用使用您在以前的主题中创建的自定义连接器。 应用获取文本输入,然后使用自定义连接器调用认知服务文本分析 API。 连接器返回文本的情绪分数(0 到 1),应用将其显示为百分比。 下图显示了完成的应用:

完成的情绪分析应用

先决条件

创建应用并添加自定义连接器

您要做的第一件事是从头创建应用,然后连接到在以前主题中创建的自定义连接器。

  1. make.powerapps.com 中,依次选择从空白开始 > 手机应用图标(手机)> 生成此应用

    从空白开始

  2. 在应用区域,选择连接到数据

  3. 数据面板上,选择在以前的主题中创建的连接(如“SentimentDemo”)。

  4. 使用名称 Sentiment Analysis 保存应用。

向应用添加控件

现在,您需要构建应用的 UI,以便您可以输入文本,将该文本提交到 API 并获取响应。

  1. 将矩形图标添加为标题栏,然后添加标签“情绪分析”。

    添加标题栏

  2. 添加标签“输入文本,然后单击‘获取分数’”,然后添加文本输入控件。

    添加标签和文本输入

  3. 添加带有文本“获取分数”的按钮。

    添加按钮

  4. 添加标签“情绪分数为”。 在下一节中,您将添加一个公式来完成此标签。

    添加标签

添加公式以推动行为

设置好数据连接和 UI 之后,接下来可以添加用于驱动应用行为的 Power Apps 公式。 公式通过自定义连接器调用 API,将结果存储在集合(表格变量)中,然后在应用中显示带格式的结果。

  1. 选择您创建的按钮,然后将按钮的 OnSelect 属性设置为连接器的名称(包括句点)。

    SentimentDemo.
    

    Power Apps 提供 DetectSentiment 自动填充选项,因为自定义连接器支持此功能。

  2. 现在,将按钮的 OnSelect 属性设置为以下公式。

    ClearCollect(sentimentCollection, SentimentDemo.DetectSentiment(
        {id:"1", language:"en", text:TextInput1.Text}).documents.score)
    

    此公式从 API 获取情绪分数,并将其存储在集合中:

    1. 公式使用自定义连接器公开的三个参数调用 DetectSentiment 函数:idlanguagetext。 我们为公式中的前两个值指定值,并从文本输入控件中获取 Text 的值(您也可以从应用中的其他位置拉取前两个值)。

    2. 函数为您发送的每个文档返回一个 score;在我们的示例中,我们一次发送一个文档。 分数范围为 0(负面)到 1(正面)。

    3. 然后,公式调用 ClearCollect 函数以删除 sentimentCollection 中的任何现有值,并从 score 添加值。

  3. 选择您创建的标签,然后将标签的文本属性设置为以下公式。

    "The sentiment score is " & Round(First(sentimentCollection).score, 3) * 100 & "%"
    

    此公式从集合获取情绪分数,为其设定格式并显示:

    1. First() 函数返回 sentimentCollect 中的第一个(仅适用于本示例)记录,并显示与此记录关联的 score 字段(唯一字段)。

    2. Round() 函数可将分数舍入到 3 位;公式的其余部分将结果设置为百分比格式,并为上下文添加一些信息。

测试应用

现在运行已完成的应用,以确保它能按预期工作。

  1. 选择 运行应用 运行应用。

  2. 在文本输入控件中输入一个短语,然后选择获取分数。 情绪分数应会在几秒钟内显示。

完成的应用如下图所示:

完成的情绪分析应用

虽然这是一个简单应用,但可以通过自定义连接器调用认知服务,从而实现强大的功能。

后续步骤

在组织中共享连接器和/或认证连接器,使组织外部的人员也可以使用它:

提供反馈

我们非常感谢大家提出有关连接器平台问题或新功能想法的反馈。 要提供反馈,请转到提交问题或获取连接器帮助,然后选择反馈类型。