power APP如何读取TEAMS/OFFICE365 用户列表

我们做这个tickets系统, 需要把issue 分给相应的人员处理, 那么需要读取服务部门的员工列表,

功能是先有一个文本框,根据文本框里面的内容输入查询OFFICE 365list , 选到员工:

问题来了, 如何读取?

首先退一步讲,方法一,建立sharepoint 一个LIST 放置所有assign 的员工列表, 但是这个就无法做后期权限控制等。

还是回到本身的方法上来, https://docs.microsoft.com/en-us/power-apps/maker/canvas-apps/connections/connection-office365-users 提供了指南,

马上试一下,

读取OFFICE365列表

但是它报错呀, 真是服了

原来是自己没仔细看, 下边还有个列子, 就是根据输入的文本框去查询OFFICE 365 用户信息, 然后把用户显示出来, 这样做

读取Office365信息
Gallery ITEM 显示筛选

这里只是筛选创建人的ticket .

SortByColumns(
Filter(‘Sungiven Help Desk_1’,StartsWith(‘Created By’.DisplayName,TextInput1.Text)),
“Created”,
Descending)

如果查询OFFICE 365 怎么写?

在Gallery Items 里面写:

Office365Users.SearchUserV2({searchTerm:TextInput2.Text}).value

接着我们 对于筛选出来的员工, 分配TICKET 作为任务,

点击分配 的时候弹出窗口提示 , 参考 https://aaronsoo.com/?p=497

assign a ticket

重点来了, 如何把OFFICE365里面的数据读出来, update 到sharepoint 里面的assigned to 字段?

update assigned to person

Patch( ‘Sungiven Help Desk_1’, First( Filter( ‘Sungiven Help Desk_1’, ID = Gallery2.Selected.ID ) ), { AssignTo: Gallery3.Selected.Mail } );
UpdateContext({VarShowAssignScreen:false});
Navigate(AssignConfirmation);

这里用了patch 方法update , 其中第二部分是UPDATE 哪个ticket(where) ,第三部分{ AssignTo: Gallery3.Selected.Mail } 是UPDATE 的内容 , 多了一个GALLERY 因为是第二部从OFFICE 365选择用户的原因,这里防止重名,写入的Email.

变量 VarShowAssignScreen 的控制不多说了, 详见前文博客。

Leave a Reply

Your email address will not be published. Required fields are marked *