从画布应用连接到 SharePoint

SharePoint

连接到 SharePoint 站点以从自定义列表自动生成应用,或者在将数据添加到现有应用或从头开始构建应用之前创建连接。

根据数据所在的位置,可以采用以下两种方法之一或一同采用:

  • 显示来自 SharePoint Online 站点或本地站点中自定义列表的数据。
  • 在库中显示图像和播放视频或音频文件(仅 SharePoint Online)。

生成应用

如果要管理自定义列表中的数据,Power Apps 可以自动为您生成一个三屏应用。 用户可以在第一个屏幕上浏览列表,在第二个屏幕上显示项目的详细信息,在第三个屏幕上创建或更新项目。

备注

如果 SharePoint 列表包含 选择查找人员或组 列,请参阅本主题后面的在库中显示数据

创建连接

  1. 登录 Power Apps,在左侧导航栏中选择 数据 > 连接,然后选择左上角附近的 新建连接

    在左侧导航栏中选择“数据”>“连接”,然后选择左上角附近的“新建连接”。

  2. 在右上角附近的搜索框中,输入或粘贴 SharePoint,然后选择 SharePoint

    在右上角附近的搜索框中,输入或粘贴 SharePoint,然后选择 SharePoint。

  3. 执行以下这几组步骤之一:

    • 要连接到 SharePoint Online,选择 直接连接(云服务),选择 创建,然后提供凭据(如果提示)。

      若要连接到 SharePoint Online,选择“直接连接(云服务)”

      连接已创建,您可以将数据添加到现有应用或从头开始构建应用。

    • 要连接到本地站点,选择 使用本地数据网关连接

      要连接到本地站点,选择**使用本地数据网关连接)

      指定 Windows 作为身份验证类型,然后指定凭据。 (如果凭据包括域名,则将其指定为 域\别名。)

      指定凭据

      选择网关 下,选择要使用的网关,然后选择 创建

      备注

      如果未安装本地数据网关,则请安装,然后选择图标来刷新网关列表。

      选择网关

      连接已创建,您可以将数据添加到现有应用或从头开始构建应用。

向现有应用添加数据

  1. 在 Power Apps Studio 中,打开要更新的应用,选择 视图 选项卡,然后选择 数据源

    在“视图”选项卡上,然后选择“数据源”

  2. 数据 窗格中,选择 添加数据源 > SharePoint

  3. 连接到 SharePoint 站点 下,选择 最近使用的站点 列表中的条目(或者键入或粘贴要使用的站点的 URL),然后选择 连接

    选择站点

  4. 选择列表 下,选中要使用的 文档 或一个或多个列表的复选框,再选择 连接

    在“选择列表”下,选中要使用的“文档”或一个或多个列表的复选框,再选择“连接”

    默认情况下,并非所有类型的列表都会显示。 Power Apps 支持自定义列表,而不是基于模板的列表。 如果要使用的列表名称未显示,请滚动到底部,再在包含 输入自定义表名称 的框中键入列表名称。

    在包含“输入自定义列表名称”的框中键入列表的名称。

    数据源或源已添加到应用。

从头开始构建自己的应用

从头开始创建应用中的概念应用于 SharePoint,而不是 Excel。

如果您的自定义列表包含以下任何类型的列,请使用公式栏在该库中设置一个或多个 标签 控件的 Text 属性,从而在 控件中显示这些数据:

  • 对于 选择查找 列,请指定 ThisItem.ColumnName.Value 以显示该列中的数据。

    例如,如果具有名为 Location选择 列,请指定 ThisItem.Location.Value,如果有名为 PostalCode查找 列,请指定 ThisItem.PostalCode.Value

  • 对于 人员或组 列,请指定 ThisItem.ColumnName.DisplayName 以显示该用户或组的显示名称。

    例如,指定 ThisItem.Manager.DisplayName 以显示名为 经理人员或组 列中的显示名称。

    还可以显示关于用户的其他信息,如电子邮件地址或职务等。 若要显示完整的选项列表,请指定 ThisItem.ColumnName. (包含结尾句点)。

    备注

    对于 创建者 列,请指定 ThisItem.Author.DisplayName 以显示创建列表中的项的用户的显示名称。 对于 修改者 列,请指定 ThisItem.Editor.DisplayName 以显示更改列表中的项的用户的显示名称。

  • 对于 托管元数据 列,请指定 ThisItem.ColumnName.Label 以显示该列中的数据。

    例如,如果有名为 语言托管元数据 列,请指定 ThisItem.Languages.Label

显示库中的数据

如果您在 SharePoint 库中有多个图像,可以向应用添加 下拉列表 控件,以便用户可以指定要显示的图像。 您还可以将相同的原理应用于其他控件,如 控件,以及其他类型的数据,如视频。

  1. 如果您还没有,创建一个连接,然后向现有应用添加数据

  2. 添加 下拉列表 控件,并将其命名为 ImageList

  3. ImageListItems 属性设置为 Documents

  4. 在右侧窗格的 属性 选项卡上,打开 列表,然后选择 名称

    库中图像的文件名将显示在 ImageList 中。

    图像列表

  5. 添加 图像 控件,并将其 Image 属性设置为以下表达式:

    ImageList.Selected.'Link to item'

  6. 按 F5,然后在 ImageList 中选择其他值。

    此时将显示您指定的图像。

    图像列表

您可以下载示例应用,它将演示更为复杂的显示 SharePoint 库中数据的方法。

  1. 下载应用后,打开 Power Apps Studio,在左侧导航栏中选择 打开,然后选择 浏览
  2. 打开 对话框中,找到并打开您下载的文件,然后按照本主题中的前两个过程将 SharePoint 库添加为数据源。

备注

默认情况下,此应用会显示委派警告,但是如果您的库包含的项目少于 500 个,则可以忽略。

在此单屏应用中,左下角的列表显示库中的所有文件。

  • 您可以通过在顶部附近的搜索框中键入或粘贴一个或多个字符来搜索文件。
  • 如果您的库包含文件夹,您可以通过在标题栏下方的文件夹列表中选择筛选器图标来筛选文件列表。

找到所需文件后,选择它以在右侧的 视频图像音频 控件中显示文件。

示例图像

已知问题

列表

Power Apps 可以读取包含空格,但空格被替换为十六进制转义代码 "_x0020_" 的列名称。 例如,如果 SharePoint 中的 “Column Name” 在数据布局中显示或用于公式,它将在 Power Apps 中显示为 “Column_x0020_Name”

并非所有列类型均受支持,且并非所有类型的列都支持所有类型的卡。

列类型 支持 默认卡
单行文本 视图文本
多行文本 查看文本
选择 视图查找
编辑查找
查看多选(仅适用于 SharePoint Online)
编辑多选(仅适用于 SharePoint Online)
号码 视图百分比
视图分级
查看文本
货币 视图百分比
视图分级
视图文本
日期和时间 视图文本
查找 视图查找
编辑查找
查看多选
编辑多选
布尔值(是/否) 视图文本
视图切换
人员或组 视图查找
编辑查找
查看多选
编辑多选
超链接 查看 URL
视图文本
照片 是(只读) 视图图像
视图文本
附件 是(只读) 查看附件
计算 是(只读)
映像 No
任务结果 No
外部数据 No
托管元数据 是(只读)
评级 No

  • 您不能将文件从 Power Apps 上载到库中。
  • 您不能在 PDF 查看器控件中显示库中的 PDF 文件。
  • Power Apps Mobile 不支持 下载 功能。
  • 如果您的用户将在 Power Apps Mobile 或 Windows 10 应用中运行应用,请使用 启动 功能显示库中的库内容。

SharePoint 文档库图像间歇性呈现

带有指向存储在 SharePoint 文档库中的图像的链接的 SharePoint 列表可能由于身份验证错误而无法在 Power Apps 中呈现。

与 SharePoint 的 Power Apps 连接是针对一个明确标识的列表建立的,而不是一般的 SharePoint 站点。 Power Apps 将尝试解析指向外部源的外部链接。 如果不需要身份验证,或者如果用户先前已对引用的 SharePoint 站点进行了身份验证,呈现此类图像将成功。 但是,常见的是,移动设备上的 Power Apps 用户以前可能未对引用的 SharePoint 站点进行身份验证来呈现图像。 在这种情况下,使用链接引用 SharePoint 文档库中的图像可能不会成功。 即使应用内的文档库存在单独的连接,也会出现此行为。

此类情况的解决方法是,将图像存储在支持 CORS 的源上,如 Azure 存储,或存储在允许匿名访问的 CDN 服务上,如 Azure CDN

后续步骤

另请参阅