从网站脚本调用 Power Automate
网站设计是一种强大的扩展性机制,用于自定义和标准化网站集的外观。 其中一个脚本操作 - triggerFlow - 可用于调用自定义解决方案,以应用我们本身不支持的配置。 Power Automate 流还可用于业务自动化 - 在这种情况下,与网站设计一起使用以跟踪网站创建!
本文介绍如何使用网站设计和 Power Automate 构建简单的网站目录。 每当使用此网站设计创建网站时,都会捕获网站的详细信息并将其写入 SharePoint 列表。
本文中的步骤对以下组件进行了说明:
- SharePoint 列表
- 网站设计和网站脚本
- Power Automate
首先创建 SharePoint 列表,然后它将在 Power Automate 引用 - 这将由创建网站后应用的网站设计触发。
创建网站目录列表
首先设置列表,它将用于记录使用此网站设计创建的所有网站。
选择用于托管列表的网站集。
创建名为“网站目录”的新列表
配置以下字段:
- webUrl(超链接或图片)
- webDescription(单行文本)
- creatorName(单行文本)
- ccreatorEmail(单行文本)
- createdTimeUTC(单行文本)
创建流
为了捕获网站创建事件并创建相应的列表项,你需要创建一个流 - 随后可以在网站设计的网站脚本中引用它:
转到 Power Automate 网站并登录,再选择页面顶部的“*+ 空白自动化创建”。
单击下一个屏幕上的“跳过”
选择“搜索连接器和触发器”以选择触发器
搜索“请求”,然后选择“请求 - 当收到 HTTP 请求时[高级版]”。 注意:请求触发器现在是“高级版”,因此需要额外的许可。
输入以下 JSON 作为请求正文:
{ "type": "object", "properties": { "webUrl": { "type": "string" }, "parameters": { "type": "object", "properties": { "event": { "type": "string" }, "product": { "type": "string" } } }, "webDescription": { "type": "string" }, "creatorName": { "type": "string" }, "creatorEmail": { "type": ["string", "null"] }, "createdTimeUTC": { "type": "string" } } }
选择“+ 新建步骤”
搜索“创建项目”,然后选择“SharePoint - 创建项目”。
输入已创建上述列表的网站地址。
选择在上一步中创建的“网站目录”列表。
为“标题”字段输入值 - 这将是每个列表项的相同值。 例如“Contoso 旅游:已创建新项目网站”。
对于列表表单中的每个字段,请从动态内容选取器中添加相应的元素。 完成后,操作应该类似于:
选择“保存”。 此时将生成需要为网站脚本
triggerFlow
操作复制的 HTTP Post URL。选择流中的第一步(“当收到 HTTP 请求时”),并复制 URL。
保存流。
创建网站设计
打开 PowerShell,并确保已安装最新的 SharePoint Online 命令行管理程序。
使用 Connect-SPOService 连接到租户。
Connect-SPOService -Url https://[yourtenant]-admin.sharepoint.com
现在可以获取现有网站设计。
Get-SPOSiteDesign
若要创建网站设计,首先需要创建网站脚本。 网站设计是引用一个或多个网站脚本的容器。
将以下 JSON 代码复制到剪贴板并进行修改。 将 url 属性设置为创建流时复制的值。 此 URL 如下所示:
https://prod-27.westus.logic.azure.com:443/workflows/ef7434cf0d704dd48ef5fb6...oke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun
{ "$schema": "schema.json", "actions": [ { "verb": "triggerFlow", "url": "[paste the workflow trigger URL here]", "name": "Record site creation event", "parameters": { "event": "site creation", "product": "SharePoint Online" } } ] }
再次选择 JSON 并将它复制到剪贴板。
打开 PowerShell 并输入以下代码,将脚本复制到变量中并创建网站脚本:
$script = Get-Clipboard -Raw Add-SPOSiteScript -Title "Site Script to record site creation event" -Content $script Get-SPOSiteScript
将会看到包含一个或多个网站脚本的列表,包括刚刚创建的网站脚本。 选择你创建的网站脚本的 ID 并复制到剪贴板。
使用以下命令创建网站设计:
Add-SPOSiteDesign -Title "Record site creation" -Description "The creation of this site will be recorded in the site directory list" -SiteScripts [Paste the ID of the Site Script here] -WebTemplate "64"
注意
Add-SPOSiteDesign cmdlet 将网站设计与团队网站相关联。 若要将设计与通信网站相关联,请使用 -WebTemplate "68"
。
验证结果
若要测试结果,请新建一个网站。 在 SharePoint 租户中,依次选择“SharePoint”>“创建网站”>“团队网站”。 (如果已禁用自助式网站创建,则需要从 SharePoint 管理中心创建网站。)
新建的网站设计应显示为设计选项。 请注意,网站设计在网站创建后应用。 如果正确配置了它,流将获得触发。 可以查看流的运行历史记录,以验证它是否正常运行。