将 Office 365 用户添加到应用程序中

已完成

借助 Power Apps 的 Office 365 用户连接,您能够使用 Office 365 帐户访问您组织中的用户个人资料。 您可以执行各种操作,例如获取个人资料、获取用户个人资料、获取用户管理员信息或获取直接报告。

您可以在应用的标签中显示这些信息。 可以显示一个函数、多个函数,甚至可以合并不同函数。 例如,可以使用此函数,通过使用用户的显示名称向当前用户问好或使用用户姓名和电话号码自动填充某些数据字段,使应用更加个性化。

添加连接

Office 365 用户数据源是可在 Power Apps 中使用的标准连接器。 要添加此连接器,请从命令功能区选择添加数据,然后在搜索字段中输入“Office 365 用户”。 从列表中选择 Office 365 用户,然后在与您的连接一起出现的对话框中,选择您的 Office 365 用户连接。

数据图标的屏幕截图,其中显示“添加数据”按钮和“Office”搜索结果。

“添加数据”窗口的屏幕截图,其中已选择“Office 365 用户”。

如果首次在此环境中添加此连接器,可能会看到类似下图的对话框。 请选择“连接”以添加此连接。

“Office 365 用户”窗口的屏幕截图,其中显示“连接”按钮。

用户个人资料信息

用户个人资料信息通过 Office 365 用户 MyProfile 操作调用。 同样,我们可以通过调用 SearchUser 操作来获取有关其他用户的信息。 有多种选项可用于在画布应用中获取用户信息。 要获取有关正在使用应用的用户的信息,可以使用 App OnStart 中的函数或按钮的 OnSelect

使用 App OnStart 存储用户个人资料信息

在此处将获取要查找的包含用户信息的记录并将其保存为全局变量,以便轻松地在整个应用中重用它。 由于这是信息记录,因此我们可以访问您的 Office 365 个人资料中现有的任何信息。

选择应用,然后选择 OnStart 属性并添加以下公式。

Set(varUserInfo, Office365Users.MyProfileV2())

OnStart 属性的屏幕截图,其中显示公式。

要填充我们的变量,请选择应用旁边的省略号并选择 Run OnStart

Run OnStart 属性的屏幕截图,其中显示公式。

现在已填充全局记录变量 varUserInfo,可在应用程序的任何位置调用该信息。 例如,可以在“文本输入”控件的 Default 属性中添加 varUserInfo.displayName

替换文本

下图显示可在应用中自动填充的属性,与手动输入相比,这样可以节省用户的时间。

用户个人资料信息的屏幕截图。

MyProfileV2 操作收集的数据包括来自用户 Office 365 用户个人资料的以下信息:id、displayName、givenName、surname、mail、mailNickname、accountEnabled、userPrincipalName、department、jobTitle、mobilePhone、businessPhones、city、companyName、country、officeLocation 以及 postalCode。

OnSelect 控件

如果需要收集关于另一个用户(当前用户以外的用户)的数据,则可以使用 SearchUser 操作。 练习此操作时,我们需要在“街道地址”文本输入字段下添加组合框控件。

设置“组合框”控件的属性,如下所示:

属性
DefaultSelectedItems Office365Users.SearchUser({searchTerm:varUserInfo.displayName})
DisplayFields ["DisplayName"]
IsSearchable true
Items Office365Users.SearchUser()
SelectMultiple false
OnChange Set(varSearchUserInfo, Office365Users.UserProfile(Self.Selected.Id))

SearchUser 操作与 MyProfile 操作收集的数据类似,但略有差异。 SearchUser 操作(默认情况下)会返回有关用户的以下信息:

  • City
  • CompanyName
  • Country
  • Department
  • DisplayName
  • GivenName
  • ID
  • JobTitle
  • Mail
  • MailNickname
  • mobilePhone
  • OfficeLocation
  • PostalCode
  • Surname
  • TelephoneNumber
  • UserPrincipalName
  • AccountEnabled
  • BusinessPhones

注意

您只能看到已为该员工输入的数据。 例如,如果此人的记录没有手机输入,则此操作将不会返回任何数据。

接下来,复制您为 MyProfile 操作创建的控件并将其粘贴到“组合框”控件下方。 更改粘贴文本输入字段的标签和默认设置,如下所示:

标签 文本输入默认
全名(显示名称) varSearchUserInfo.DisplayName
职务 varSearchUserInfo.JobTitle
部门 varSearchUserInfo.Department
电子邮件 varSearchUserInfo.Mail
城市 varSearchUserInfo.City
国家/地区 varSearchUserInfo.Country
邮政编码 varSearchUserInfo.PostalCode

请注意,SearchUser 数据中不包含可用的“街道地址”或“省/自治区/直辖市”。 另请注意,SearchUser 数据的数据字段均以大写字母(而不是小写字母)开头。

按住 Alt 键并选择“组合框”控件,您会发现,它会向您显示可用用户的显示名称以及搜索字段。 继续操作并选择一个用户,确保其下方的文本输入字段已填充。 其外观应与此类似。

搜索框的屏幕截图。

用户的搜索结果的屏幕截图。

您可以将应用置于“播放”模式并尝试搜索不同用户。 现在,您已了解如何获取其他用户的信息,让我们来看一下 Office 365 用户连接器提供的一些其他操作数据。

管理员信息

除了获取用户信息,还可以获取用户的管理员信息。

使用创建的组合框控件将 OnChange 属性修改为 Set(varSearchUserInfo, Office365Users.Manager(ComboBox1.Selected.Id))

管理员信息的屏幕截图。

注意

如果选择的用户没有管理员,您会发现文本输入字段可能会在应用处于编辑模式时显示错误。 这是因为 Power Apps 会返回此用户不存在管理员的错误数据。 随后,您可以使用这一信息向用户显示通知,例如:“此人没有管理员”。 错误函数会返回有关您错误的信息,而不会打断您的用户体验。

您可以在活跃用户下的 Microsoft 365 管理中心确认这是否为正确的管理员。 选择用户的显示名称会在屏幕右侧打开一个窗格,您可在其中查看此信息。

Microsoft Entra ID 中的管理员信息的屏幕截图。

查看所有直接下属

与查找管理员信息类似,您的 Office 365 用户连接器还允许您查找直接向一个管理员报告的所有用户。

我们将组合使用集合控件来显示直接下属集合是一个数据变量,可以存储数据列表或表,可在整个应用中使用。 控件可以显示包含多个记录的表,并且每个记录都可以包含多种类型的数据。 在此场景中,我们要将集合创建为数据源。 首先,创建一个新屏幕。

添加组合框控件并将 Items 属性设置为 Office365Users.SearchUser()。 接下来,将 SelectMultiple 属性设置为 false,将 DisplayFields 属性设置为 ["DisplayName"],并将 OnChange 属性设置为 ClearCollect(colDirectReports, Office365Users.DirectReportsV2(Self.Selected.Id).value)

现在,我们来显示两条信息,一条显示有多少用户直接向管理员报告,另一条则列出这些用户名。

要获取向所选管理员报告的用户数量,请添加标签控件并将其 Text 属性设置为 CountRows(colDirectReports)。 此公式计算我们的直接下属集合中与所选人员对应的行数。 如果结果为零,则表明此人没有直接下属。

“标签”控件的屏幕截图,其中已设置 text 属性。

要显示其他信息,列出所有下属,请插入垂直库,并将数据源(Items 属性)设置为 colDirectReports。 将布局更改为标题,将字段(或者库中标题标签的 Text 属性)更改为 displayName。 完成后,您的屏幕应与下图相似:

“插入”菜单中的“垂直库”选项的屏幕截图,其中已设置 Items 属性。

我们现在已经体验了如何通过 Office 365 用户连接调用操作数据。 我们使用此数据填充了“文本输入”字段和另一个名为集合的数据窗体,并将其中的信息显示在中。 在下一单元中,我们将进一步探讨如何在库中显示数据并与之交互。

有关 Office 365 用户连接的详细信息,请参阅 Office 365 用户连接器参考资料