使用AzureFunction开发最简单的Teams Outgoing Webhook
上篇文章講了teams app的serverless架構(gòu),這篇主要講如何真正使用Azure Function來(lái)開(kāi)發(fā)一個(gè)最最簡(jiǎn)單的Teams Outgoing Webhook。
我們先登入azure的portal,創(chuàng)建一個(gè)azure function。我這里創(chuàng)建了一個(gè)名字叫outgoing-webhook的azure function。完成后如下圖,記住這個(gè)azure function的URL,我這里是?https://outgoing-webhook.azurewebsites.net
在左邊菜單里選擇”Functions”,點(diǎn)擊”Add”創(chuàng)建一個(gè)新的function
選擇Trigger,我們使用HTTP Trigger
輸入我們function的名字,我這里叫HandleMessage,有一點(diǎn)需要注意,Authorization level需要選擇”Anonymous”,然后點(diǎn)擊Create Function
完成后就可以看到我們有了HandleMessage這個(gè)函數(shù)。
輸入我們的outgoing webhook代碼。
#r "Newtonsoft.Json"using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using Newtonsoft.Json;public class Message {public string Text { get; set; } }public static async Task<IActionResult> Run(HttpRequest req, ILogger log) {log.LogInformation("C# HTTP trigger function processed a request.");string requestBody = await new StreamReader(req.Body).ReadToEndAsync();var message = JsonConvert.DeserializeObject<Message>(requestBody);return new OkObjectResult(new Message { Text = "Echo: " + message.Text }); }回到Teams,先選擇需要添加outgoing webhook的一個(gè)team,選擇”Manage team”
進(jìn)入”Apps”頁(yè)面,在右下方,點(diǎn)擊 “Create an outgoing webhook”,你有可能看不到這個(gè)選項(xiàng),如果看不到,你需要用管理員賬號(hào)按照下面的步驟到office365后臺(tái)進(jìn)行設(shè)置
使用你的Office365管理員賬號(hào)登入”https://portal.office.com”,點(diǎn)擊”Admin”菜單
在左側(cè)找到”Teams”菜單
然后找到 “Teams app”,點(diǎn)擊”P(pán)ermission policies”,點(diǎn)擊你所在policy組,我這里是默認(rèn)的”Global (Org-wide default)”
確保Custom apps是Allow all apps
再到Setup policies,確保 “Upload custom apps”是打開(kāi)的狀態(tài)
回到Teams,刷新頁(yè)面,或者重新登入,現(xiàn)在你應(yīng)該可以看到 “Create an outgoing webhook”的連接了,點(diǎn)擊它。
在彈出的頁(yè)面里輸入你的webhook名字,和URL。?
我這里使用名字”O(jiān)utgoingWebhookTest”,URL是https://outgoing-webhook.azurewebsites.net/api/HandleMessage。這個(gè)URL就是我們前面創(chuàng)建的azure function的URL,加上function的名字。
{azure function url}/api/{http-triggered function name}創(chuàng)建完后進(jìn)入一個(gè)channel,at這個(gè)webhook,我這里是 @outgoingWebhookTest
后面跟上你想發(fā)給這個(gè)webhook的文字。
發(fā)送后,等幾秒鐘后,你就可以收到我們function發(fā)回來(lái)的回復(fù)了。
如果你點(diǎn)開(kāi)Azure Function的log,可以實(shí)時(shí)的看到我們function被teams調(diào)用的記錄
使用Azure Function開(kāi)發(fā)的好處是代碼簡(jiǎn)單,不需要ngrok之類(lèi)的工具,而且當(dāng)你webhook只是用來(lái)自己測(cè)試玩玩,基本是免費(fèi)的,這也是Azure serverless的一大優(yōu)勢(shì)!
總結(jié)
以上是生活随笔為你收集整理的使用AzureFunction开发最简单的Teams Outgoing Webhook的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 基础之pymouse鼠标操
- 下一篇: python在程序中模拟键盘鼠标操作