[英]OAuth2 authentication for Microsoft Graph using service account credentials
我想創建一個能夠在 Microsoft Teams 中自動發送消息的網絡服務。 我嘗試作為應用程序進行身份驗證,但目前 Microsoft 不支持授予應用程序權限以在 Teams 中發送消息,因此這里唯一的選擇是使用具有真實憑據的服務帳戶進行身份驗證(除非有其他方法?)。 此方法僅指定使用用戶交互以用戶身份登錄。
我想使用服務帳戶teamchatbot@domain.com
對 Microsoft Graph 進行身份驗證,以便在 Microsoft Teams 上發送消息。 (與此類似,但由於我沒有訪問資源,因此有點不同。)有沒有一種方法可以代表服務帳戶以靜默方式獲取訪問令牌以發送消息?
我還能想到其他一些方法。
1) 一個是您可以使用Microsoft Bot Framework創建一個機器人,一旦該機器人安裝到特定團隊,它就可以發送“主動”消息(即不是響應用戶消息的消息,而是需要時)。
從本質上講,當你的機器人被添加到團隊時,你可以訪問你的機器人中的特定事件(OnMembersAdded 用於一般機器人,現在有一個僅用於團隊的新事件)。 在我對Detect bot application open event 的回答中查看更多相關信息。 在這種情況下,您可以獲得稍后需要的信息,您可以將這些信息存儲在數據庫或任何地方,然后創建消息,就好像它是您的機器人發布到頻道一樣。 您可以在以編程方式向 Microsoft Teams 中的機器人發送消息中看到更多相關信息。
上面的這個選項需要做很多工作,但是如果您想要機器人的其他功能(例如從用戶接收消息的能力),則很有用
2) 另一種更簡單的方法是直接創建一個傳入的 webhook 到頻道。 這是一篇關於使用 PowerShell 執行此操作的帖子,因此您可以執行此操作以進行簡單測試並從那里推斷出 Node.js。
當然,像 Flow (Power Automate) 這樣的東西也是一種選擇,但是您已經在編寫代碼,因此上述方法之一可能更容易。
希望有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.