我使用GraphAPI创建了一个在线会议。会议后如何获取参加者信息(开始/结束日期)等?

时间:2020-09-24 16:32:28

标签: graph microsoft-teams c3.js

我们学校想进行虚拟校园参观。因此,计划是创建在线会议,然后当学生注册参加校园访问时,将该学生添加为参与者。在访问时间,指导老师和学生将使用MS团队进行交流。会议结束后,我们的程序将获取会议/呼叫者信息并进行处理。我的代码称为“ await graphClient.Me.OnlineMeetings.Request()。AddAsync(onlineMeeting);”我可以从创建的会议对象获取id / joinweburl(no videoTeleconferenceId)。会议结束后,我不确定如何检索呼叫者的信息。 有人可以帮忙吗?

谢谢

2 个答案:

答案 0 :(得分:0)

videoTeleconferenceId来自会议室设备,这些设备是为Cloud-Video-Interop许可用户生成的。您需要获得Get meeting详细信息API的许可。

如果响应将VTC ID设置为null,则GET在线会议API将无法按预期工作。 您可以尝试使用CreateOrGet api来实现相同的功能。在这里,您需要指定一个自定义的外部ID。如果需要将在线会议嵌入自定义日历中,并且您指定了外部ID来关联在线会议。该API处于Beta版,预计将来会更改。

答案 1 :(得分:0)

Trinetra-MSFT,我有一个相关问题...我真的很困惑,您是graph.api问题回答最多的人... 我知道当我创建在线会议时,在日历上看不到..但是在任何地方都看不到? 第二,我试图在一个通道上创建此会议,但不使用http,我正在c#上使用graph api。在http示例中,它显示必须添加一个chatinfo。但是,当我添加它时,我得到一个错误,即chatinfo必须为null。 第三,也是最后一个,当我创建一个事件(不是在线会议)并且添加一个组织者时,api不会读取它……我写给组织者的东西都没关系,它将组作为组织者...而且不允许任何人编辑此事件...

                            var @event = new Event
                            {
                                Subject = dety.ders_kodu,
                                Body = new ItemBody
                                {
                                    ContentType = BodyType.Html,
                                    Content = dety.ders_kodu + " Canlı Dersi"
                                },
                                Location = new Location
                                {
                                    DisplayName = grubu.DisplayName
                                },
                                Attendees = AttendeeList,
                                Start = new DateTimeTimeZone
                                {
                                    DateTime = baslangicTarihi,
                                    TimeZone = "Europe/Istanbul"
                                },
                                End = new DateTimeTimeZone
                                {
                                    DateTime = bitisTarihi,
                                    TimeZone = "Europe/Istanbul"
                                },
                                Organizer = new Recipient { EmailAddress = new EmailAddress { Address = dety.akamicname, Name = dety.akamicname } },
                                IsOrganizer = true,

                                Recurrence = new PatternedRecurrence
                                {
                                    Pattern = new RecurrencePattern
                                    {
                                        Type = RecurrencePatternType.Weekly,
                                        Interval = 1,
                                        DaysOfWeek = new List<Microsoft.Graph.DayOfWeek>() { dayOf }
                                    },
                                    Range = new RecurrenceRange
                                    {
                                        Type = RecurrenceRangeType.EndDate,
                                        EndDate = new Date(2020, 12, 4),
                                        StartDate = new Date(2020, 10, 19),
                                        RecurrenceTimeZone = "Europe/Istanbul"
                                    }
                                },
                                AllowNewTimeProposals = true,
                                IsOnlineMeeting = true,
                                OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness,
                                TransactionId = transact
                            };
                            var even = await graphClient.Groups[akad.dersmickod].Events
                                      .Request()
                                      .AddAsync(@event).ConfigureAwait(false);