PlAwAnSaI
Administrator
Microsoft 365 Copilot มี Function สร้างบันทึกการประชุมใน Teams แต่ค่าลิขสิทธิ์อาจสูงเกินไปสำหรับองค์กร สำหรับผู้ที่มองหาทางเลือกที่ประหยัดกว่า การใช้ Power Automate หรือ Power Apps ร่วมกับ Microsoft Graph API และ Azure OpenAI จะเป็น Solution ที่ปรับขนาดได้ และเป็นมิตรกับงบประมาณ
ในบทความนี้ เราจะสำรวจวิธีการทำให้กระบวนการสร้างบันทึกการประชุมเป็นไปโดยอัตโนมัติ โดยใช้ประโยชน์จาก Microsoft Graph API ในการดึงข้อมูลการถอดเสียงการประชุมและสรุปข้อมูลเหล่านั้นโดยใช้ Model ภาษาของ Azure OpenAI เราจะกล่าวถึงทั้งสิทธิ์ที่ได้รับมอบหมาย (การดึงข้อมูลการถอดเสียงในฐานะผู้ใช้ที่ลงชื่อเข้าใช้) และสิทธิ์ของ App (การดึงข้อมูลการถอดเสียงในนามของผู้ใช้)
ในส่วนที่ 1 เราจะสำรวจ Endpoint ของ Microsoft Graph API ที่จำเป็นสำหรับการเข้าถึงบันทึกการประชุม Teams และการตั้งค่าการลงทะเบียน App Entra ID ในส่วนที่ 2 เราจะดูวิธีการ Integrate API เหล่านี้เข้ากับ Power Automate โดยใช้ตัวเชื่อมต่อแบบกำหนดเอง (สำหรับผู้ใช้ที่ลงชื่อเข้าใช้) และตัวเชื่อมต่อ HTTP (สำหรับการเข้าถึงระดับ App) เพื่อดึงบันทึกการประชุม
การดึงข้อมูลบันทึกการประชุมด้วย Microsoft Graph API
ก่อนอื่น เราต้องดึงข้อมูลการถอดเสียงการประชุมจาก Microsoft Teams โดยใช้ Microsoft Graph API, Microsoft มี Endpoint สำหรับการเข้าถึงข้อมูลการถอดเสียงการประชุมที่บันทึกไว้ แต่ต้องมีสิทธิ์และการตั้งค่าเฉพาะบางอย่างด้วย
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ โปรดตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
ในการเข้าถึง Endpoint ของ Microsoft Graph API ด้วยตัวเชื่อมต่อแบบกำหนดเอง และตัวเชื่อมต่อ HTTP ใน Power Automate จะต้องมีการสร้างการลงทะเบียน App Entra ID สำหรับการเข้าถึงแบบ Delegate และการเข้าถึงแบบ App
การลงทะเบียน App Entra ID สำหรับผู้ใช้ที่ลงชื่อเข้าใช้ (สิทธิ์การเข้าถึงแบบ Delegate) – ตัวเชื่อมต่อแบบกำหนดเอง:
การลงทะเบียน App Entra ID ในนามของผู้ใช้ที่เข้าสู่ระบบ (การเข้าถึง App) – ตัวเชื่อมต่อ HTTP:
อนุญาตให้ App เข้าถึงการประชุม Online ในนามของผู้ใช้:
ติดตั้ง Teams PowerShell: Install-Module -Name MicrosoftTeams > Y
ในการเข้าถึง Endpoint Graph API เพื่อดึงข้อมูลการถอดเสียงการประชุมในนามของผู้ใช้ที่ลงชื่อเข้าใช้ จะต้องกำหนดค่านโยบายการเข้าถึง App สำหรับการลงทะเบียน App Entra ID ที่สร้างไว้ก่อนหน้านี้โดยใช้ Client ID เรียกใช้ Script PowerShell ดังต่อไปนี้
หมายเหตุ: หากการลงทะเบียน App ไม่ได้รับอนุญาตให้เข้าถึงผ่านนโยบายการเข้าถึง App การพยายามเข้าถึงปลายทาง Graph API สำหรับเนื้อหาการถอดเสียงจะส่งผลให้เกิดข้อผิดพลาดดังต่อไปนี้
ขั้นตอนที่ 2: ดึงข้อมูลการถอดเสียงโดยใช้ Microsoft Graph API
Microsoft Graph API มี Endpoint สำหรับเข้าถึงและจัดการกิจกรรมในปฏิทิน และบันทึกการประชุมของ Teams เราจะมาดูวิธีการดึงข้อมูลกิจกรรมของผู้ใช้ แยก ID การประชุม, และรับ URL ของเนื้อหาบันทึกการประชุมกัน โดยใช้ Graph Explorer
การตั้งค่าตัวเชื่อมต่อแบบกำหนดเอง:
ตัวเชื่อมต่อแบบกำหนดเองทำหน้าที่เป็นสะพานเชื่อมระหว่าง Power Apps หรือ Power Automate กับ Microsoft Graph API ช่วยให้การสื่อสารเป็นไปได้ เราได้สร้างตัวเชื่อมต่อแบบกำหนดเองพร้อมการดำเนินการที่จำเป็นทั้งหมดเพื่อสร้างบันทึกการประชุมโดยใช้ Microsoft Graph API ไว้แล้ว สามารถ Download ได้จาก Link นี้ หลังจากนำเข้า Solution ลงใน Power Apps Environment แล้ว ให้ไปที่ Tab ความปลอดภัยในตัวเชื่อมต่อแบบกำหนดเอง และคัดลอก Redirect URL

ในบทความนี้ เราจะสำรวจวิธีการทำให้กระบวนการสร้างบันทึกการประชุมเป็นไปโดยอัตโนมัติ โดยใช้ประโยชน์จาก Microsoft Graph API ในการดึงข้อมูลการถอดเสียงการประชุมและสรุปข้อมูลเหล่านั้นโดยใช้ Model ภาษาของ Azure OpenAI เราจะกล่าวถึงทั้งสิทธิ์ที่ได้รับมอบหมาย (การดึงข้อมูลการถอดเสียงในฐานะผู้ใช้ที่ลงชื่อเข้าใช้) และสิทธิ์ของ App (การดึงข้อมูลการถอดเสียงในนามของผู้ใช้)
ในส่วนที่ 1 เราจะสำรวจ Endpoint ของ Microsoft Graph API ที่จำเป็นสำหรับการเข้าถึงบันทึกการประชุม Teams และการตั้งค่าการลงทะเบียน App Entra ID ในส่วนที่ 2 เราจะดูวิธีการ Integrate API เหล่านี้เข้ากับ Power Automate โดยใช้ตัวเชื่อมต่อแบบกำหนดเอง (สำหรับผู้ใช้ที่ลงชื่อเข้าใช้) และตัวเชื่อมต่อ HTTP (สำหรับการเข้าถึงระดับ App) เพื่อดึงบันทึกการประชุม
การดึงข้อมูลบันทึกการประชุมด้วย Microsoft Graph API
ก่อนอื่น เราต้องดึงข้อมูลการถอดเสียงการประชุมจาก Microsoft Teams โดยใช้ Microsoft Graph API, Microsoft มี Endpoint สำหรับการเข้าถึงข้อมูลการถอดเสียงการประชุมที่บันทึกไว้ แต่ต้องมีสิทธิ์และการตั้งค่าเฉพาะบางอย่างด้วย
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ โปรดตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- เข้าถึงการลงทะเบียน App ใน Portal Entra ID
- License Power Automate / Power Apps ระดับ Premium หากต้องการทดสอบตัวเชื่อมต่อแบบกำหนดเอง คุณสามารถสมัครใช้แผน Community ได้หากคุณไม่มีแผนระดับ Premium
- Instance บริการ Azure OpenAI สำหรับประมวลผลข้อความ
ในการเข้าถึง Endpoint ของ Microsoft Graph API ด้วยตัวเชื่อมต่อแบบกำหนดเอง และตัวเชื่อมต่อ HTTP ใน Power Automate จะต้องมีการสร้างการลงทะเบียน App Entra ID สำหรับการเข้าถึงแบบ Delegate และการเข้าถึงแบบ App
| Scenario | Permission Type | ใช้กับ |
|---|---|---|
| Signed-in User | Delegated Permission | Custom Connector |
| Automation / Background (ไม่มี User) App เรียก Graph API เอง | Application Permission | HTTP Connector |
การลงทะเบียน App Entra ID สำหรับผู้ใช้ที่ลงชื่อเข้าใช้ (สิทธิ์การเข้าถึงแบบ Delegate) – ตัวเชื่อมต่อแบบกำหนดเอง:
- ไปที่ Microsoft Entra ID
- สร้างการลงทะเบียน App ใหม่ และจดบันทึก App (Client) ID, Tenant ID, และ Client Secret
- ภายใต้สิทธิ์การเข้าถึง API ให้เพิ่มสิทธิ์ที่ได้รับมอบหมายต่อไปนี้:
- OnlineMeetings.Read
- OnlineMeetingTranscript.Read.All
- Calendars.Read
- User.Read
.
- ให้สิทธิ์ผู้ดูแลระบบในการใช้สิทธิ์ดังกล่าว
การลงทะเบียน App Entra ID ในนามของผู้ใช้ที่เข้าสู่ระบบ (การเข้าถึง App) – ตัวเชื่อมต่อ HTTP:
- ไปที่ Microsoft Entra ID
- สร้างการลงทะเบียน App ใหม่ และจดบันทึก App (Client) ID, Tenant ID, และ Client Secret
- ภายใต้สิทธิ์การใช้งาน API ให้เพิ่มสิทธิ์การใช้งาน App ต่อไปนี้:
- OnlineMeetings.Read.All
- OnlineMeetingTranscript.Read.All
- Calendars.Read
- User.Read.All
อนุญาตให้ App เข้าถึงการประชุม Online ในนามของผู้ใช้:
ติดตั้ง Teams PowerShell: Install-Module -Name MicrosoftTeams > Y
ในการเข้าถึง Endpoint Graph API เพื่อดึงข้อมูลการถอดเสียงการประชุมในนามของผู้ใช้ที่ลงชื่อเข้าใช้ จะต้องกำหนดค่านโยบายการเข้าถึง App สำหรับการลงทะเบียน App Entra ID ที่สร้างไว้ก่อนหน้านี้โดยใช้ Client ID เรียกใช้ Script PowerShell ดังต่อไปนี้
Code:
New-CsApplicationAccessPolicy -Identity AAP-policy -AppIds "ReplaceClientIdfromEntraIDAppRegforApplicationAccess" -Description "To grant the Application access to MS Graph API Endpoints for Transcription"
Grant-CsApplicationAccessPolicy -PolicyName AAP-policy -Global
หมายเหตุ: หากการลงทะเบียน App ไม่ได้รับอนุญาตให้เข้าถึงผ่านนโยบายการเข้าถึง App การพยายามเข้าถึงปลายทาง Graph API สำหรับเนื้อหาการถอดเสียงจะส่งผลให้เกิดข้อผิดพลาดดังต่อไปนี้
Code:
Application is not allowed to perform operations on the user ‘xxxx-xxxxx-xxx-xxx-xxxx’, neither is allowed access through RSC permission evaluation.
ขั้นตอนที่ 2: ดึงข้อมูลการถอดเสียงโดยใช้ Microsoft Graph API
Microsoft Graph API มี Endpoint สำหรับเข้าถึงและจัดการกิจกรรมในปฏิทิน และบันทึกการประชุมของ Teams เราจะมาดูวิธีการดึงข้อมูลกิจกรรมของผู้ใช้ แยก ID การประชุม, และรับ URL ของเนื้อหาบันทึกการประชุมกัน โดยใช้ Graph Explorer
- การดึงข้อมูล User Event เพื่อดึงรายการ Event ในปฏิทินของผู้ใช้:
คำขอนี้จะส่งรายละเอียดเกี่ยวกับ Event ที่ผู้ใช้กำหนดไว้กลับมา รวมถึงหัวข้อ เวลาเริ่มต้นและสิ้นสุด สถานที่ และผู้เข้าร่วมCode:GET https://graph.microsoft.com/v1.0/me/calendar/events
การตั้งค่าตัวเชื่อมต่อแบบกำหนดเอง:
ตัวเชื่อมต่อแบบกำหนดเองทำหน้าที่เป็นสะพานเชื่อมระหว่าง Power Apps หรือ Power Automate กับ Microsoft Graph API ช่วยให้การสื่อสารเป็นไปได้ เราได้สร้างตัวเชื่อมต่อแบบกำหนดเองพร้อมการดำเนินการที่จำเป็นทั้งหมดเพื่อสร้างบันทึกการประชุมโดยใช้ Microsoft Graph API ไว้แล้ว สามารถ Download ได้จาก Link นี้ หลังจากนำเข้า Solution ลงใน Power Apps Environment แล้ว ให้ไปที่ Tab ความปลอดภัยในตัวเชื่อมต่อแบบกำหนดเอง และคัดลอก Redirect URL
Last edited: