Example #1
0
        public void CanGetOAuthUrl()
        {
            var expectedUrl = "http://test.com";

            http.Stub(
                HttpPost
                .Url("https://api.cronofy.com/v1/add_to_calendar")
                .RequestHeader("Content-Type", "application/json; charset=utf-8")
                .RequestBodyFormat(
                    "{{\"client_id\":\"{0}\",\"client_secret\":\"{1}\",\"oauth\":{{\"redirect_uri\":\"{2}\",\"scope\":\"{3}\",\"state\":\"{4}\"}},\"event\":{{\"event_id\":\"{5}\",\"summary\":\"{6}\",\"start\":{{\"time\":\"{7}\",\"tzid\":\"Etc/UTC\"}},\"end\":{{\"time\":\"{8}\",\"tzid\":\"Etc/UTC\"}}}}}}",
                    clientId, clientSecret, redirectUrl, scope, state, eventId, summary, startString, endString)
                .ResponseCode(200)
                .ResponseBodyFormat(
                    "{{\"url\":\"{0}\"}}", expectedUrl)
                );

            var addToCalendarRequest = new AddToCalendarRequestBuilder()
                                       .OAuthDetails(redirectUrl, scope, state)
                                       .UpsertEventRequest(upsertEventRequest)
                                       .Build();

            var actualUrl = client.AddToCalendar(addToCalendarRequest);

            Assert.Equal(expectedUrl, actualUrl);
        }
Example #2
0
        /// <summary>
        /// Add To Calendar example.
        /// </summary>
        private static void AddToCalendarExample()
        {
            Console.Write("Enter Client id: ");
            var clientId = Console.ReadLine();

            Console.Write("Enter Secret: ");
            var clientSecret = Console.ReadLine();

            string redirectUrl = "http://example.com/redirectUri";
            string scope       = "read_events create_event";

            string         eventId = "testEventId";
            string         summary = "Test Summary";
            DateTimeOffset start   = DateTime.Now;
            DateTimeOffset end     = DateTime.Now + new TimeSpan(2, 0, 0);

            var client = new CronofyOAuthClient(clientId, clientSecret);

            var upsertEventRequest = new UpsertEventRequestBuilder()
                                     .EventId(eventId)
                                     .Summary(summary)
                                     .Start(start)
                                     .End(end)
                                     .Build();

            var request = new AddToCalendarRequestBuilder()
                          .OAuthDetails(redirectUrl, scope)
                          .UpsertEventRequest(upsertEventRequest)
                          .Build();

            var actualUrl = client.AddToCalendar(request);

            Console.WriteLine(actualUrl);

            Process.Start(actualUrl);
        }