掌握 Power Automate 中的 HTTP 触发器
设想
Power Automate 中的 HTTP 触发器提供了在各种场景中启动流程(例如检索数据或将数据提交到外部系统)的宝贵功能。当现有连接器缺少特定的触发点时,HTTP 触发器流程尤为有用。此外,当需要从外部应用程序/第三方应用程序和其他服务(例如 SharePoint)传递数据时,这些 HTTP 触发器也非常方便。
换句话说,如果您想从 Power Automate 中不可用的连接器触发流程,那么这种技术是可行的。
设想
我创建了一个名为“建议箱”的 SPFx 扩展,并且我希望能够从这个 SPFx 应用程序触发 Power Automate 流。
即时流 - 触发器
选择“当收到 HTTP 请求时”触发器
点击“使用示例有效负载生成架构”来创建用于传递数据的 JSON 结构。完成后,它将自动生成请求主体的 JSON 架构,您可以选择“Post”方法。
单击“完成”将生成 JSON 模式。
当触发此端点时,它需要三个属性:siteUrl、pageTitle 和 suggestionsBody
行动
具体来说,对于我的应用程序,我希望流程通过电子邮件发送 suggestionsBody。
现在,如果我们查看动态内容,我们可以看到 siteUrl、pageTitle 和 suggestionsBody 变量。
点击“保存”,将创建“HTTP POST URL”
添加新步骤“Response”并从动态内容中选择“Body”属性
使用 Postman 测试 HTTP 请求
-
选择 POST 作为方法
-
复制保存流程时获得的 HTTP POST URL 并指定端点
-
在正文中创建 JSON 示例
-
添加标题:Content-type=application/json
发送请求并检查您的电子邮件
从 SPFx 解决方案调用 Power Automate 流
在您的 tsx 文件中导入以下代码片段:
import { HttpClient, HttpClientResponse, IHttpClientOptions } from '@microsoft/sp-http';
它将从@microsoft/sp-http 包中导入必要的模块(HttpClient、HttpClientResponse 和 IHttpClientOptions)。
添加以下函数以触发 Power Automate 流
注意:将“postURL”替换为触发器中生成的实际 HTTP POST URL。
async function sendSuggestion(
siteUrl: string,
pageTitle: string,
suggestionBody: string
): Promise<HttpClientResponse> {
const postURL = <PASTE HERE HTTP POST URL>;
const body: string = JSON.stringify({
siteUrl: siteUrl,
pageTitle: pageTitle,
suggestionBody: suggestionBody,
});
const requestHeaders: Headers = new Headers();
requestHeaders.append('Content-type', 'application/json');
const httpClientOptions: IHttpClientOptions = {
body: body,
headers: requestHeaders,
};
console.log("Sending Suggestion");
return props.context.httpClient.post(
postURL,
HttpClient.configurations.v1,
httpClientOptions
).then((response: HttpClientResponse): Promise<HttpClientResponse> => {
console.log("Suggestion sent.");
return response.json();
});
}
瞧!
单击“保存建议”按钮将触发 Power Automate 流程并收到以下邮件。
现在,您可以使用 Power Automate 创建自定义 HTTP 触发器,您的应用程序可以在需要时调用该触发器。
在下面的评论中告诉我你将其集成到工作流程中的经历
鏂囩珷鏉ユ簮锛�https://dev.to/fernandaek/mastering-http-triggers-in-power-automate-43c4