最近有一些朋友問我,有沒有可能獲取到會議的詳情,我搜索了目前所有的 teams 文檔,發現有一個api可以獲取,不過在我寫這篇文章的時候,這個 api 還在 preview 階段,可能在正式發布前,還會有一些變化,但是按照之前的經驗,這個變化基本不會有。 :)
我們來看看如果在 c# 代碼里調用這個 api
MeetingInfo meetingInfo = await TeamsInfo.GetMeetingInfoAsync(turnContext);
如果大家喜歡直接使用 http request 來調用 api 的話,url 如下:
GET /v1/meetings/{meetingId}
返回的會議信息有如下這些:
{ "details": { "id": "{meeting ID}", "msGraphResourceId": "", "scheduledStartTime": "2022-01-30T08:50:00+00:00", "scheduledEndTime": "2022-01-30T09:30:00+00:00", "joinUrl": "https://teams.microsoft.com/l/abcdef.....", "title": "test meeting title", "type": "Scheduled"}, "conversation": { "isGroup": true, "conversationType": "groupchat","id": "{meeting chat ID}" }, "organizer": { "id": "{user ID}", "aadObjectId": "{user AAD ID}", "tenantId": "{Tenant ID}" }
}
大家可以看到這里面有這些信息:meeting id,會議開始和結束時間,會議類型,會議加入的 url,會議標題,會議組織者的 id 和 aad id,會議對應的會話的 id。
看到這里,大家是不是已經準備開始寫代碼躍躍欲試了?如果大家直接調用的話,可能會遇到一個關于權限的錯誤。原因是這個 api 需要 RSC 權限配置。
打開我們 app 的 manifest.json 文件,找到?webApplicationInfo
?節點,加入?OnlineMeeting.ReadBasic.Chat
,如果大家對 RSC 不太了解,可以拷貝如下的 json
"webApplicationInfo": {"id": "你的 bot id","resource": "https://RscPermission","applicationPermissions": ["OnlineMeeting.ReadBasic.Chat"]
}
如果我們的 app 還需要其他 RSC 的權限,可以把所有的權限列在?applicationPermissions
?節點里,大家也可以在下面這個頁面找到所有的權限。?Enable resource-specific consent in Teams - Teams | Microsoft Docs