public async Task <OnlineMeeting> CreateOnlineMeetingAsync(string tenantId, string organizerId, Guid scenarioId) { var statelessClient = new GraphServiceClient( this.graphEndpointUri.AbsoluteUri, this.GetAuthenticationProvider(tenantId, scenarioId)); var meetingRequest = statelessClient.Communications.OnlineMeetings.Request(); var onlineMeeting = new OnlineMeeting() { Participants = new MeetingParticipants() { Organizer = new MeetingParticipantInfo() { Identity = new IdentitySet() { User = new Identity() { Id = organizerId, }, }, }, }, Subject = "Test meeting.", }; var meeting = await meetingRequest.AddAsync(onlineMeeting).ConfigureAwait(false); return(meeting); }
/// <summary> /// Creates the online meeting asynchronous. /// </summary> /// <param name="tenantId">The tenant identifier.</param> /// <param name="organizerId">The organizer identifier.</param> /// <returns> The newly created onlinemeeting. </returns> public static async Task <Microsoft.Graph.OnlineMeeting> CreateOnlineMeetingAsync(string tenantId, string organizerId) { var onlineMeeting = new OnlineMeeting( new RequestAuthenticationProvider(appId, appSecret), graphUri); var meetingDetails = await onlineMeeting.CreateOnlineMeetingAsync(tenantId, organizerId, default(Guid)).ConfigureAwait(false); Console.WriteLine(meetingDetails.Id); Console.WriteLine(meetingDetails.ChatInfo.ThreadId); return(meetingDetails); }
/// <summary> /// Creates the online meeting asynchronous. /// </summary> /// <param name="tenantId">The tenant identifier.</param> /// <param name="organizerId">The organizer identifier.</param> /// <returns> The newly created onlinemeeting. </returns> public static async Task <Microsoft.Graph.OnlineMeeting> CreateOnlineMeetingAsync(string tenantId, string organizerId) { var name = typeof(Program).Assembly.GetName().Name; var logger = new GraphLogger(name); var onlineMeeting = new OnlineMeeting( new AuthenticationProvider(name, appId, appSecret, logger), graphUri); var meetingDetails = await onlineMeeting.CreateOnlineMeetingAsync(tenantId, organizerId, default(Guid)).ConfigureAwait(false); Console.WriteLine(meetingDetails.Id); Console.WriteLine(meetingDetails.ChatInfo.ThreadId); return(meetingDetails); }
/// <summary> /// Creates a new online meeting. Meeting organizer would be the oid of the token. /// Permissions required : OnlineMeetings.ReadWrite. /// </summary> /// <param name="tenantId">The tenant identifier.</param> /// <param name="scenarioId">The scenario identifier - needed in case of debugging for correlating client side request with server side logs.</param> /// <returns> The onlinemeeting. </returns> public async Task <OnlineMeeting> CreateUserMeetingRequestAsync(string tenantId, Guid scenarioId) { var statelessClient = new GraphServiceClient( this.graphEndpointUri.AbsoluteUri, this.GetAuthenticationProvider(tenantId, scenarioId)); var meetingRequest = statelessClient.Me.OnlineMeetings.Request(); DateTimeOffset startTime = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)); DateTimeOffset endTime = new DateTimeOffset(DateTime.Now.AddMinutes(30), TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)); var onlineMeeting = new OnlineMeeting() { Subject = "Test User Meeting", StartDateTime = startTime, EndDateTime = endTime, }; var meeting = await meetingRequest.AddAsync(onlineMeeting).ConfigureAwait(false); return(meeting); }