static void Main(string[] args) { var definition = new { grid = new { max_rows = 0, video_sources = new string[] { "", "", "" } } }; var videoLayoutJson = @"{grid:{max_rows:1,video_sources:[""*"",""*"",""*""]}}"; var json = JsonConvert.DeserializeAnonymousType(videoLayoutJson, definition); TwilioClient.Init("SKd8aac04eba0fa8ed056c6263990fa85c", "uUiLZ8XytHGuo15BPnU4EuZ5kdywBDWO"); try { var compositionResource = CompositionResource.Create( roomSid: "RM1c1588840e86e29906a0b51f7b3a4b20", audioSources: new List <string> { "*" }, videoLayout: json, //statusCallback: new Uri("http://my.server.org/callbacks"), format: FormatEnum.Mp4); Console.WriteLine($"Composition Resource: {compositionResource.Sid}"); } catch (Exception ex) { Console.WriteLine($"An exception occurred: {ex.Message}"); } }
public bool DeleteComposition(string compositionSid) { TwilioClient.Init(_apiAccountSid, _accountSid); var isDeleted = CompositionResource.Delete(compositionSid); return(isDeleted); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); CompositionResource.Delete(pathSid: "CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var composition = CompositionResource.Create(); Console.WriteLine(composition.Sid); }
static void Main(string[] args) { // Find your API Key SID and Secret at twilio.com/console const string apiKeySid = "SKXXXX"; const string apiKeySecret = "your_api_key_secret"; TwilioClient.Init(apiKeySid, apiKeySecret); var composition = CompositionResource.Fetch( pathSid: "CJXXXX" ); Console.WriteLine($"Composition Resource: {composition.Sid}"); }
static void Main(string[] args) { // Find your API Key SID and Secret at twilio.com/console const string apiKeySid = "SKXXXX"; const string apiKeySecret = "your_api_key_secret"; TwilioClient.Init(apiKeySid, apiKeySecret); CompositionResource.Delete( pathSid: "CJXXXX" ); Console.WriteLine("Composition removed"); }
public void TestFetchResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"status\": \"completed\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_completed\": \"2015-07-30T20:01:33Z\",\"date_deleted\": null,\"sid\": \"CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"room_sid\": \"RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"audio_sources\": [\"PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"user*\"],\"audio_sources_excluded\": [\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"],\"video_layout\": {\"grid\": {\"video_sources\": [\"*\"],\"video_sources_excluded\": [\"MTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"],\"reuse\": \"show_oldest\",\"x_pos\": 100,\"y_pos\": 600,\"z_pos\": 10,\"width\": 0,\"height\": 0,\"max_columns\": 0,\"max_rows\": 0,\"cells_excluded\": []},\"pip\": {\"video_sources\": [\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab\"],\"video_sources_excluded\": [],\"reuse\": \"none\",\"x_pos\": 100,\"y_pos\": 600,\"z_pos\": 10,\"width\": 0,\"height\": 0,\"max_columns\": 0,\"max_rows\": 0,\"cells_excluded\": []}},\"resolution\": \"1280x720\",\"format\": \"webm\",\"bitrate\": 64,\"size\": 4,\"duration\": 6,\"trim\": true,\"media_external_location\": null,\"encryption_key\": null,\"url\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"links\": {\"media\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media\"}}" )); var response = CompositionResource.Fetch("CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
public void TestFetchResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"status\": \"completed\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_completed\": \"2015-07-30T20:01:33Z\",\"date_deleted\": null,\"sid\": \"CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"audio_sources\": [\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"],\"video_sources\": [\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"],\"video_layout\": \"GRID\",\"resolution\": \"1280x720\",\"format\": \"webm\",\"bitrate\": 64,\"size\": 4,\"duration\": 6,\"room_sid\": \"RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"url\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"links\": {\"media\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media\"}}" )); var response = CompositionResource.Fetch("CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", client: twilioRestClient); Assert.NotNull(response); }
public void TestReadResultsResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"compositions\": [{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"status\": \"completed\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_completed\": \"2015-07-30T20:01:33Z\",\"date_deleted\": null,\"sid\": \"CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"audio_sources\": [\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab\"],\"video_sources\": [],\"video_layout\": \"GRID\",\"resolution\": \"1280x720\",\"format\": \"mp3\",\"bitrate\": 16,\"size\": 55,\"duration\": 10,\"room_sid\": \"RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"url\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"links\": {\"media\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media\"}}],\"meta\": {\"page\": 0,\"page_size\": 50,\"first_page_url\": \"https://video.twilio.com/v1/Compositions?PageSize=50&Page=0\",\"previous_page_url\": null,\"url\": \"https://video.twilio.com/v1/Compositions?PageSize=50&Page=0\",\"next_page_url\": null,\"key\": \"compositions\"}}" )); var response = CompositionResource.Read(client: twilioRestClient); Assert.NotNull(response); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console // DANGER! This is insecure. See http://twil.io/secure const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var composition = CompositionResource.Create( roomSid: "RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ); Console.WriteLine(composition.Sid); }
public void TestReadEnqueuedResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"compositions\": [],\"meta\": {\"page\": 0,\"page_size\": 10,\"first_page_url\": \"https://video.twilio.com/v1/Compositions?Status=enqueued&PageSize=10&Page=0\",\"previous_page_url\": null,\"url\": \"https://video.twilio.com/v1/Compositions?Status=enqueued&PageSize=10&Page=0\",\"next_page_url\": null,\"key\": \"compositions\"}}" )); var response = CompositionResource.Read(client: twilioRestClient); Assert.NotNull(response); }
public void TestDeleteResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.NoContent, "null" )); var response = CompositionResource.Delete("CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
static void Main(string[] args) { // Find your API Key SID and Secret at twilio.com/console // To set up environmental variables, see http://twil.io/secure const string apiKeySid = Environment.GetEnvironmentVariable("TWILIO_API_KEY_SID"); const string apiKeySecret = Environment.GetEnvironmentVariable("TWILIO_API_KEY_SECRET"); TwilioClient.Init(apiKeySid, apiKeySecret); CompositionResource.Delete( pathSid: "CJXXXX" ); Console.WriteLine("Composition removed"); }
public void TestReadResultsResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"compositions\": [{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"status\": \"completed\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_completed\": \"2015-07-30T20:01:33Z\",\"date_deleted\": null,\"sid\": \"CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"room_sid\": \"RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"audio_sources\": [\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"user*\"],\"audio_sources_excluded\": [],\"video_layout\": {\"grid\": {\"video_sources\": [\"user*\"],\"video_sources_excluded\": [],\"reuse\": \"show_oldest\",\"x_pos\": 100,\"y_pos\": 600,\"z_pos\": 10,\"width\": 0,\"height\": 0,\"max_columns\": 0,\"max_rows\": 0,\"cells_excluded\": []},\"pip\": {\"video_sources\": [\"RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab\"],\"video_sources_excluded\": [],\"reuse\": \"none\",\"x_pos\": 100,\"y_pos\": 600,\"z_pos\": 10,\"width\": 0,\"height\": 0,\"max_columns\": 0,\"max_rows\": 0,\"cells_excluded\": []}},\"resolution\": \"1280x720\",\"format\": \"webm\",\"bitrate\": 64,\"size\": 4,\"duration\": 6,\"trim\": true,\"media_external_location\": null,\"encryption_key\": null,\"url\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"links\": {\"media\": \"https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media\"}}],\"meta\": {\"page\": 0,\"page_size\": 50,\"first_page_url\": \"https://video.twilio.com/v1/Compositions?Status=completed&RoomSid=RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&DateCreatedAfter=2017-01-01T00%3A00%3A01Z&DateCreatedBefore=2017-12-31T23%3A59%3A59Z&PageSize=50&Page=0\",\"previous_page_url\": null,\"url\": \"https://video.twilio.com/v1/Compositions?Status=completed&RoomSid=RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&DateCreatedAfter=2017-01-01T00%3A00%3A01Z&DateCreatedBefore=2017-12-31T23%3A59%3A59Z&PageSize=50&Page=0\",\"next_page_url\": null,\"key\": \"compositions\"}}" )); var response = CompositionResource.Read(client: twilioRestClient); Assert.NotNull(response); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var compositions = CompositionResource.Read(); foreach (var record in compositions) { Console.WriteLine(record.Sid); } }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console // DANGER! This is insecure. See http://twil.io/secure const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var compositions = CompositionResource.Read(limit: 20); foreach (var record in compositions) { Console.WriteLine(record.Sid); } }
static void Main(string[] args) { // Find your API Key SID and Secret at twilio.com/console const string apiKeySid = "SKXXXX"; const string apiKeySecret = "your_api_key_secret"; TwilioClient.Init(apiKeySid, apiKeySecret); var compositions = CompositionResource.Read( status: CompositionResource.StatusEnum.Completed ); foreach (var record in compositions) { Console.WriteLine(record.Sid); } }
static void Main(string[] args) { // Find your API Key SID and Secret at twilio.com/console const string apiKeySid = "SKXXXX"; const string apiKeySecret = "your_api_key_secret"; TwilioClient.Init(apiKeySid, apiKeySecret); var compositions = CompositionResource.Read( roomSid: Promoter.ListOfOne("RMXXXX") ); foreach (var record in compositions) { Console.WriteLine(record.Sid); } }
static void Main(string[] args) { // Find your API Key SID and Secret at twilio.com/console // To set up environmental variables, see http://twil.io/secure const string apiKeySid = Environment.GetEnvironmentVariable("TWILIO_API_KEY_SID"); const string apiKeySecret = Environment.GetEnvironmentVariable("TWILIO_API_KEY_SECRET"); TwilioClient.Init(apiKeySid, apiKeySecret); var compositions = CompositionResource.Read( roomSid: Promoter.ListOfOne("RMXXXX") ); foreach (var record in compositions) { Console.WriteLine(record.Sid); } }
public void TestReadRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Get, Twilio.Rest.Domain.Video, "/v1/Compositions", "" ); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { CompositionResource.Read(client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }
public void TestCreateRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Post, Twilio.Rest.Domain.Video, "/v1/Compositions", "" ); request.AddPostParam("RoomSid", Serialize("RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { CompositionResource.Create("RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }
public List <CompositionDto> GetAllCompositions() { TwilioClient.Init(_apiAccountSid, _accountSid); var compositions = CompositionResource.Read(new ReadCompositionOptions { Status = CompositionResource.StatusEnum.Completed }); List <CompositionDto> compositionLst = new List <CompositionDto>(); foreach (var comp in compositions) { compositionLst.Add(new CompositionDto { CompositionSid = comp.Sid, Links = comp.Links, Url = comp.Url }); } return(compositionLst); }
public CompositionResource CreateComposition(string roomSid, List <string> recordingSids) { var compositionOptions = new CreateCompositionOptions { RoomSid = roomSid, //StatusCallback = new Uri("https://dda50c80.ngrok.io/Call/CompositionCallBack"), Format = "mp4", VideoLayout = new { grid = new { video_sources = new List <string> { "*" } } }, AudioSources = new List <string> { "*" } }; TwilioClient.Init(_apiAccountSid, _accountSid); var composition = CompositionResource.Create(compositionOptions); return(composition); }