从画布应用连接到 SharePoint

SharePoint。

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

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

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

生成应用

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

备注

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

创建连接

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

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

  2. 选择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 个,则可以忽略。

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

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

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

示例图像。

已知问题

使用 SharePoint 连接器共享画布应用 Power Apps 不会显示连接到仅与所有人共享的 SharePoint 的画布应用,除非您是应用的创建者,或者您通过组成员身份或直接通过用户分配(作为用户或作为共同负责人)显式共享应用。 要播放此类应用,请使用指向该应用的直接链接。

列表

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

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

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

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

SharePoint 文档库图像间歇性呈现

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

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

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

后续步骤

另请参阅

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。