در این مقاله، نحوه ارسال پیام تیم ها به هر کاربری را از یک کاربر خاص (حساب سرویس) از Power Automate یاد خواهیم گرفت.
سناریو
این یک سناریوی بسیار خاص است، اما یکی از مشتریان من میخواست از یک حساب خاص برای هر کاربر پیامی برای تیم ارسال کند، آنها نمیخواستند از عمل "پست پیام به عنوان ربات جریان برای کاربر" استفاده کنند، زیرا در این مورد ، آن را به عنوان Flow Bot نشان می دهد و آنها می خواستند مکالمه جدیدی را 1:1 بین این حساب و کاربر شروع کنند تا مکالمه بتواند در همان زمینه ادامه یابد.
هنگامی که تمام اقدامات موجود در Power Automate مربوط به پیام Teams را بررسی کردم و متوجه شدم که با استفاده از اقدامات پیشفرض این امکان وجود ندارد، میدانستم که باید به Graph API مراجعه کنم.
من نقطه پایانی زیر را پیدا کردم که به ما امکان می دهد برای کاربر پیام ارسال کنیم،
URL مرجع - https://docs.microsoft.com/en-us/graph/api/chat-post-messages?view=graph-rest-1.0&tabs=http
بنابراین اگر بتوانیم در نقطه پایانی بالا ببینیم، به شناسه چت به عنوان پارامتر URL نیاز دارد. و همچنین اگر به مستندات بالا نگاه کنیم، این نقطه پایانی از مجوز برنامه پشتیبانی نمی کند که در مورد من خوب است زیرا من همیشه نیاز به ارسال از یک حساب خاص دارم و از این مجوز حساب خاص استفاده خواهم کرد.
در زیر یک اسکرین شات برای ارجاع سریع جدول مجوز وجود دارد.
اکنون مشکل دیگری که در اینجا باید حل شود نحوه دریافت شناسه چت بین یک کاربر خاص و هر کاربر دیگری است. با استفاده دستی از تیمها در مرورگر وب با استفاده از حساب خود، میتوانم بفهمم که chatId یک شناسه منحصربهفرد است که در URL با هر کاربر دیگری در دسترس است. بنابراین برای هر کاربر یک: یک چت، یک شناسه چت منحصر به فرد (همچنین به عنوان شناسه گفتگو شناخته می شود) وجود دارد که می تواند برای ارسال پیام استفاده شود.
بنابراین من باید راهی پیدا کنم تا این شناسه چت را با هر کاربر (پویا) از حساب خود پیدا کنم، در اینجا آموخته های من از اولین گزینه برای بررسی اقدامات تیم موجود مفید بود. میتوانم بفهمم که اگر از action Create Chat از یک حساب خاص استفاده کنم، chatId را در مرجع دریافت خواهم کرد که میتوانیم از آن برای برقراری دومین تماس API استفاده کنیم.
اگر به عملکرد زیر نگاه کنید، به آدرس ایمیل کاربری نیاز دارد که میخواهیم چت را با او شروع کنیم.
و هنگامی که این را اجرا کردید یا اگر برای دیدن خروجی اکشن بالا یک اکشن compose اضافه کنید، میتوانیم ببینیم گفتگوId را دریافت میکنیم که چیزی جز chatId نیست.
اکنون اجازه دهید نحوه برقراری تماس واقعی Graph API را ببینیم. ساده ترین راه برای فراخوانی Graph API از Power Automate استفاده از Send HTTP Request to Graph endpoint با استفاده از Azure AD Authentication است. اما این در مورد ما کار نخواهد کرد زیرا فقط برای مجوزهای برنامه قابل استفاده است و در مورد ما نقطه پایانی ارسال پیام هدفمند از مجوزهای برنامه پشتیبانی نمی کند.
برای این کار، باید یک Azure AD Registration ایجاد کنیم و مجوزهای لازم را ارائه کنیم. پس بیایید ببینیم چگونه این کار را انجام دهیم.