public static bool CheckForNotExpiredAccess(string AccessTokenStatus, string RefreshTokenStatus) { GoogleTokenModel TokenObject = new GoogleTokenModel(); TokenObject.Access_Token = AccessTokenStatus; TokenObject.Refresh_Token = RefreshTokenStatus; CalendarService CalService = GoogleCalendarManager.GetCalendarService(TokenObject); string AllCalendarFeed = @"http://www.google.com/calendar/feeds/default/allcalendars/full"; Uri postUri = new Uri(AllCalendarFeed); CalendarQuery CalendarQuery = new CalendarQuery(); CalendarQuery.Uri = postUri; bool inform = true; try { CalendarFeed calFeed = CalService.Query(CalendarQuery); } catch (Exception e) { inform = false; }; return(inform); }
private bool SaveCalendarIdAndUrl() { CalendarFeed resultFeed = null; CalendarService myService = new CalendarService("MyCalendar-1"); m_Service.setUserCredentials(m_UserName, m_Password); CalendarQuery query = new CalendarQuery(); // query.Uri = new Uri(CALENDARS_URL); query.Uri = new Uri("https://www.google.com/calendar/feeds/default/allcalendars/full"); resultFeed = (CalendarFeed)m_Service.Query(query); foreach (CalendarEntry entry in resultFeed.Entries) { //LogManager.Instance.WriteToFlatFile(entry.Title.Text); //LogManager.Instance.WriteToFlatFile(m_CalendarName); if (entry.Title.Text == m_CalendarName) { int p = entry.Id.AbsoluteUri.IndexOf("full/"); m_CalendarId = entry.Id.AbsoluteUri.Substring(p + 5); //m_CalendarId = entry.Id.AbsoluteUri.Substring(63); m_CalendarUrl = string.Format(CALENDAR_TEMPLATE, m_CalendarId); //"https://www.google.com/calendar/feeds/" + m_CalendarId + "/private/full";// string.Format(CALENDAR_TEMPLATE, m_CalendarId); return(true); } } return(false); }
/// <summary> /// Gets all the calendars the user has write access to /// </summary> public List <string> GetAllOwnedCalendars() { List <string> calendars = new List <string>(); CalendarQuery query = new CalendarQuery(); query.Uri = new Uri(calendarsOwnedUrl); CalendarFeed resultFeed = (CalendarFeed)this.calService.Query(query); foreach (CalendarEntry entry in resultFeed.Entries) { calendars.Add(entry.Title.Text); } return(calendars); }
private void refreshCalendar() { CalendarQuery query = new CalendarQuery(); query.Uri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full"); CalendarFeed resultFeed = (CalendarFeed)myService.Query(query); //Console.WriteLine("Your calendars:\n"); listBox1.Items.Clear(); foreach (CalendarEntry entry in resultFeed.Entries) { listBox1.Items.Add(entry.Title.Text); richTextBox1.AppendText(entry.Content.AbsoluteUri.ToString() + "\n"); //richTextBox1.Text += entry.Title.Text + "\n"; } }
private string getUriOfSelectedCalendar(string calendarTitle) { CalendarQuery query = new CalendarQuery(); query.Uri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full"); CalendarFeed resultFeed = (CalendarFeed)myService.Query(query); foreach (CalendarEntry entry in resultFeed.Entries) { if (calendarTitle == entry.Title.Text) { return(entry.Content.AbsoluteUri); } } return("NO"); }
private bool SaveCalendarIdAndUrl() { CalendarQuery query = new CalendarQuery(); query.Uri = new Uri(CALENDARS_URL); CalendarFeed resultFeed = (CalendarFeed)m_Service.Query(query); foreach (CalendarEntry entry in resultFeed.Entries) { if (entry.Title.Text == m_CalendarName) { m_CalendarId = entry.Id.AbsoluteUri.Substring(63); m_CalendarUrl = string.Format(CALENDAR_TEMPLATE, m_CalendarId); return(true); } } return(false); }
private bool SaveCalIdAndUrl() { CalendarQuery qry = new CalendarQuery(); qry.Uri = new Uri(CAL_URL); CalendarFeed resultFeed = (CalendarFeed)g_calService.Query(qry); foreach (CalendarEntry entry in resultFeed.Entries) { if (entry.Title.Text == g_CalendarName) { g_CalId = entry.Id.AbsoluteUri.Substring(63); g_CalUrl = string.Format(CAL_TEMPLATE, g_CalId); return(true); } } return(false); }
public void TestCalendarGroupIDError() { // arrange CalendarFeed TestFeed = new CalendarFeed(); Rss calendarDataBlock = new Rss(); IEnumerable <Rss> calendarDataList = new Rss[0]; // act calendarDataBlock.Title = "Error"; calendarDataBlock.Description = "Group ID error"; calendarDataBlock.Link = "webmaster"; calendarDataBlock.PubDateString = DateTime.Now; calendarDataList = TestFeed.GetRssFeed("BadGroupID", "5", CalendarData.CalendarURL); // assert StringAssert.Contains(calendarDataList.Last().Title, calendarDataBlock.Title); StringAssert.Contains(calendarDataList.Last().Description, calendarDataBlock.Description); StringAssert.Contains(calendarDataList.Last().Link, calendarDataBlock.Link); StringAssert.StartsWith(calendarDataList.Last().PubDateString.ToString(), calendarDataBlock.PubDateString.ToString("d")); // just check date }
public void TestCalendarValidDataFromFile() { // arrange CalendarFeed TestFeed = new CalendarFeed(); Rss calendarDataBlock = new Rss(); IEnumerable <Rss> calendarDataList = new Rss[0]; // act calendarDataBlock.Title = "Worship"; calendarDataBlock.Description = "<b>Worship</b> - 12/11/2016 - 9:00 AM to 10:00 AM<br /><br />"; calendarDataBlock.Link = "http://calendar.churchart.com/calendar/calendar.aspx?cei=262662443&event_date=12/11/2016&ci=73866977&igd=98186886"; calendarDataBlock.PubDateString = Convert.ToDateTime(" 2016 - 12 - 11T14: 00:00Z ").ToLocalTime(); calendarDataList = TestFeed.GetRssFeed("All", "0", "http://www.monckscornerumc.org/documents/RSS_Data_Feed.xml"); // must use invalid group id to use empty group index // assert Assert.AreEqual(calendarDataBlock.Title, calendarDataList.First().Title); Assert.AreEqual(calendarDataBlock.Description, calendarDataList.First().Description); Assert.AreEqual(calendarDataBlock.Link, calendarDataList.First().Link); Assert.AreEqual(calendarDataBlock.PubDateString, calendarDataList.First().PubDateString); }
public void TestCalendarInvalidXmlDataFromFile() { // arrange CalendarFeed TestFeed = new CalendarFeed(); Rss calendarDataBlock = new Rss(); IEnumerable <Rss> calendarDataList = new Rss[0]; // act calendarDataBlock.Title = "Error"; calendarDataBlock.Description = "Group ID error"; calendarDataBlock.Link = "webmaster"; calendarDataBlock.PubDateString = DateTime.Now; calendarDataList = TestFeed.GetRssFeed("dont care", "0", "http://www.monckscornerumc.org/documents/RSS_Corrupt_Data.xml"); // must use invalid group id to use empty group index // assert StringAssert.Contains(calendarDataList.Last().Title, calendarDataBlock.Title); StringAssert.Contains(calendarDataList.Last().Description, calendarDataBlock.Description); StringAssert.Contains(calendarDataList.Last().Link, calendarDataBlock.Link); StringAssert.StartsWith(calendarDataList.Last().PubDateString.ToString(), calendarDataBlock.PubDateString.ToString("d")); // just check date }
public void TestCalendarRssError() { // arrange CalendarFeed TestFeed = new CalendarFeed(); Rss calendarDataBlock = new Rss(); IEnumerable <Rss> calendarDataList = new Rss[0]; // act calendarDataBlock.Title = "Error"; calendarDataBlock.Description = "RSS error"; calendarDataBlock.Link = "webmaster"; calendarDataBlock.PubDateString = DateTime.Now; calendarDataList = TestFeed.GetRssFeed("Worship", "7", "http://www.bartbrock.com/"); // returns HTTP data stream instead of RSS // assert StringAssert.Contains(calendarDataList.First().Title, calendarDataBlock.Title); StringAssert.Contains(calendarDataList.First().Description, calendarDataBlock.Description); StringAssert.Contains(calendarDataList.First().Link, calendarDataBlock.Link); StringAssert.StartsWith(calendarDataList.First().PubDateString.ToString(), calendarDataBlock.PubDateString.ToString("d")); // just check date }
public void TestCalendarValidData() { // arrange CalendarFeed TestFeed = new CalendarFeed(); Rss calendarDataBlock = new Rss(); IEnumerable <Rss> calendarDataList = new Rss[0]; // act calendarDataBlock.Title = "Worship"; calendarDataBlock.Description = "<b>Worship</b> - 12/11/2016 - 9:00 AM to 10:00 AM<br /><br />"; calendarDataBlock.Link = "http://calendar.churchart.com/calendar/calendar.aspx?cei=262662443&event_date=12/11/2016&ci=73866977&igd=98186886"; calendarDataBlock.PubDateString = Convert.ToDateTime(" 2016 - 12 - 11T14: 00:00Z ").ToLocalTime(); calendarDataList = TestFeed.GetRssFeed("Worship", "10", CalendarData.CalendarURL); // assert Assert.AreEqual(calendarDataBlock.Title, calendarDataList.First().Title); Assert.AreEqual(calendarDataBlock.Description, calendarDataList.First().Description); Assert.AreEqual(calendarDataBlock.Link, calendarDataList.First().Link); Assert.AreEqual(calendarDataBlock.PubDateString, calendarDataList.First().PubDateString); }
static void Main(string[] args) { string calendarURI = "http://www.google.com/calendar/feeds/default/allcalendars/full"; string userName = "******"; string passWord = "******"; //创建日历服务对象 CalendarService services = new CalendarService("CalendarTestApp"); services.setUserCredentials(userName, passWord); CalendarQuery query = new CalendarQuery(); query.Uri = new Uri("http://www.google.com/calendar/feeds/default/allcalendars/full"); CalendarFeed resultFeed = (CalendarFeed)services.Query(query); Console.WriteLine("Your calendars:\n"); foreach (CalendarEntry entry in resultFeed.Entries) { Console.WriteLine(entry.Title.Text + "\n"); } Console.ReadKey(); }
private void deleteCalendar(CalendarService service, string calendarTitle) { //assume title is non-empty for now CalendarQuery query = new CalendarQuery(); query.Uri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full"); CalendarFeed resultFeed = (CalendarFeed)service.Query(query); foreach (CalendarEntry entry in resultFeed.Entries) { if (entry.Title.Text == calendarTitle) { try { entry.Delete(); } catch (GDataRequestException) { MessageBox.Show("Unable to delete primary calendar.\n"); } } } }
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { string[] uris; string povtoruvanje = ""; mwGoogleEvent.ActiveViewIndex = 0; if ((Request.QueryString["token"] != null) && Session["sessionToken"] == null) { Session["sessionToken"] = AuthSubUtil.exchangeForSessionToken(Request.QueryString["token"], null); } GAuthSubRequestFactory authFactory = new GAuthSubRequestFactory("cl", "FEITPortal"); authFactory.Token = (string)Session["sessionToken"]; myCalendarService.RequestFactory = authFactory; CalendarQuery query = new CalendarQuery(); query.Uri = new Uri("http://www.google.com/calendar/feeds/default/owncalendars/full"); try { CalendarFeed resultFeed = myCalendarService.Query(query); foreach (CalendarEntry entry in resultFeed.Entries) { uris = entry.Id.Uri.ToString().Split('/'); ListItem li = new ListItem(); li.Text = entry.Title.Text; li.Value = uris[8]; ddlKalendari.Items.Add(li); } } catch (Exception ex) { hlGcal1.Visible = true; hlNazad1.Visible = true; lblGreska.Text = "Немате креирано Google Calendar"; mwGoogleEvent.ActiveViewIndex = 3; } Calendar.COURSE_EVENTS_INSTANCEDataTable nastan = (Calendar.COURSE_EVENTS_INSTANCEDataTable)Session["gNastan"]; foreach (Calendar.COURSE_EVENTS_INSTANCERow r in nastan) { CoursesTier CourseTier = new CoursesTier(Convert.ToInt32(Session["COURSE_ID"])); novNastan.Content.Language = r.COURSE_EVENT_ID.ToString(); novNastan.Title.Text = r.TITLE; novNastan.Content.Content = "Предмет: " + CourseTier.Name + " Опис: " + r.DESCRIPTION + " Тип: " + r.TYPEDESCRIPTION + " ID:" + r.COURSE_EVENT_ID.ToString(); Where mesto = new Where(); mesto.ValueString = r.ROOM; novNastan.Locations.Add(mesto); int recType = Convert.ToInt32(r.RECURRENCE_TYPE); DateTime startDate = Convert.ToDateTime(r.STARTDATE); DateTime endDate = Convert.ToDateTime(r.ENDDATE); DateTime startTime = Convert.ToDateTime(r.STARTIME); DateTime endTime = Convert.ToDateTime(r.ENDTIME); TimeSpan span = endTime - startTime; if (recType != 0) { Recurrence rec = new Recurrence(); string recData; string dStart = "DTSTART;TZID=" + System.TimeZone.CurrentTimeZone.StandardName + ":" + startDate.ToString("yyyyMMddT") + startTime.AddHours(-1).ToString("HHmm") + "00\r\n"; string dEnd = "DTEND;TZID=" + System.TimeZone.CurrentTimeZone.StandardName + ":" + startDate.ToString("yyyyMMddT") + startTime.AddHours(-1 + span.Hours).ToString("HHmm") + "00\r\n"; string rRule = ""; povtoruvanje = "<b>Повторување:</b> "; switch (recType) { case 1: rRule = "RRULE:FREQ=DAILY;INTERVAL=" + r.RECURRENCE_NUMBER + ";UNTIL=" + endDate.ToString("yyyyMMddTHHmm") + "00Z\r\n"; povtoruvanje += "Дневно, секој " + r.RECURRENCE_NUMBER.ToString() + " ден <br> </br> <br> </br>"; break; case 2: string daysInWeek = ""; string denovi = ""; if (r.DAYSINWEEK[0] == '1') { daysInWeek += "MO,"; denovi += " Понеделник,"; } if (r.DAYSINWEEK[1] == '1') { daysInWeek += "TU,"; denovi += " Вторник,"; } if (r.DAYSINWEEK[2] == '1') { daysInWeek += "WE,"; denovi += " Среда,"; } if (r.DAYSINWEEK[3] == '1') { daysInWeek += "TH,"; denovi += " Четврток,"; } if (r.DAYSINWEEK[4] == '1') { daysInWeek += "FR,"; denovi += " Петок,"; } if (r.DAYSINWEEK[5] == '1') { daysInWeek += "SA,"; denovi += " Сабота,"; } if (r.DAYSINWEEK[6] == '1') { daysInWeek += "SU,"; denovi += " Недела,"; } daysInWeek = daysInWeek.Substring(0, daysInWeek.Length - 1); denovi = denovi.Substring(0, denovi.Length - 1); rRule = "RRULE:FREQ=WEEKLY;INTERVAL=" + r.RECURRENCE_NUMBER + ";BYDAY=" + daysInWeek + ";UNTIL=" + endDate.ToString("yyyyMMddTHHmm") + "00Z\r\n"; povtoruvanje += "Неделно, секоја " + r.RECURRENCE_NUMBER + " недела и тоа во: " + denovi + " <br> </br> <br> </br>"; break; case 3: rRule = "RRULE:FREQ=MONTHLY;INTERVAL=" + r.RECURRENCE_NUMBER + ";UNTIL=" + endDate.ToString("yyyyMMddTHHmm") + "00Z\r\n"; povtoruvanje += "Месечно, секој " + r.RECURRENCE_NUMBER + " месец <br> </br> <br> </br>"; break; } recData = dStart + dEnd + rRule; rec.Value = recData; novNastan.Recurrence = rec; } else { When vreme = new When(); vreme.StartTime = r.STARTIME; vreme.EndTime = r.ENDTIME; novNastan.Times.Add(vreme); } lblPrikaz.Text += "<b>Наслов: </b>" + r.TITLE + "<br> </br> <br> </br>"; lblPrikaz.Text += "<b>Опис: </b>" + r.DESCRIPTION + "<br> </br> <br> </br>"; lblPrikaz.Text += "<b>Просторија: </b>" + r.ROOM + "<br> </br> <br> </br>"; lblPrikaz.Text += "<b>Тип: </b>" + r.TYPEDESCRIPTION + "<br> </br> <br> </br>"; lblPrikaz.Text += povtoruvanje; lblPrikaz.Text += "<b>Почетен датум: </b>" + startDate.ToShortDateString() + " <b>Краен датум: </b>" + endDate.ToShortDateString() + "<br> </br> <br> </br>"; lblPrikaz.Text += "<b>Време: Од </b>" + startTime.ToShortTimeString() + " <b>До</b> " + endTime.ToShortTimeString(); } Session["novNastan"] = novNastan; } }
// povikuvanje na id na defaultniot calendar public string GetCalendarIdentifier() { GoogleTokenModel GoogleTokenModelObject = new GoogleTokenModel(); SqlConnection konekcija3 = new SqlConnection(); konekcija3.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda = new SqlCommand(); komanda.Connection = konekcija3; komanda.CommandText = "SELECT * FROM Users WHERE UserName=@UserName"; komanda.Parameters.Add("@UserName", (string)Session["UserName"]); try { konekcija3.Open(); SqlDataReader citac = komanda.ExecuteReader(); while (citac.Read()) { GoogleTokenModelObject.Access_Token = (string)citac["AccessToken"]; GoogleTokenModelObject.Refresh_Token = (string)citac["RefreshToken"]; } citac.Close(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija3.Close(); } // zapocnuva get calendar id CalendarService CalService = GoogleCalendarManager.GetCalendarService(GoogleTokenModelObject); string AllCalendarFeed = @"http://www.google.com/calendar/feeds/default/allcalendars/full"; Uri postUri = new Uri(AllCalendarFeed); CalendarQuery CalendarQuery = new CalendarQuery(); CalendarQuery.Uri = postUri; string CalendarID = ""; try { CalendarFeed calFeed = CalService.Query(CalendarQuery); if (calFeed != null && calFeed.Entries.Count > 0) { foreach (CalendarEntry CalEntry in calFeed.Entries) { //Commented to post the new appointments on the main calendar instead of cleverfox calendar //if (CalEntry.Title.Text.Contains("Cleverfox") == true) //{ //CalendarID = CalEntry.Title.Text; CalendarID = CalEntry.EditUri.ToString().Substring(CalEntry.EditUri.ToString().LastIndexOf("/") + 1); break; //} } } } catch (Exception e) { lblMessage.Text = e.ToString(); } return(CalendarID); }
//zamanje na id od default calendar private static string GetCalendarID(CalendarService CalService) { Uri postUri = new Uri(AllCalendarFeed); CalendarQuery CalendarQuery = new CalendarQuery(); CalendarQuery.Uri = postUri; CalendarFeed calFeed = CalService.Query(CalendarQuery); string CalendarID = ""; if (calFeed != null && calFeed.Entries.Count > 0) { foreach (CalendarEntry CalEntry in calFeed.Entries) { //Commented to post the new appointments on the main calendar instead of cleverfox calendar //if (CalEntry.Title.Text.Contains("Cleverfox") == true) //{ //CalendarID = CalEntry.Title.Text; CalendarID = CalEntry.EditUri.ToString().Substring(CalEntry.EditUri.ToString().LastIndexOf("/") + 1); break; //} } } #region Commented to post the new appointments on the main calendar instead of cleverfox calendar /*if (string.IsNullOrEmpty(CalendarID) == false) * { * * } * else * { * Google.GData.Client.AtomEntry cal = new AtomEntry(); * cal.Title.Text = "Cleverfox"; * * CalService.Insert(new Uri(OwnCalendarFeed), cal); * } * calFeed = CalService.Query(CalendarQuery); * * //if search contains result then update * if (calFeed != null && calFeed.Entries.Count > 0) * { * foreach (CalendarEntry CalEntry in calFeed.Entries) * { * if (CalEntry.Title.Text.Contains("Cleverfox") == true) * { * //CalendarName = CalEntry.Title.Text; * CalendarID = CalEntry.EditUri.ToString().Substring(CalEntry.EditUri.ToString().LastIndexOf("/") + 1); * //if (CalEntry.TimeZone != "Canada/Vancouver") * //{ * // CalEntry.TimeZone = "(GMT-07:00) Arizona"; * // CalEntry.Update(); * //} * if (CalEntry.TimeZone != MerchantTimeZone) * { * CalEntry.TimeZone = MerchantTimeZone; * CalEntry.Update(); * } * break; * } * } * }*/ #endregion return(CalendarID); }
//private static IEnumerable<CalendarEntry> DownloadAll(CalendarQuery query, CalendarService service) //{ // IEnumerable<CalendarEntry> allCalendars = new List<CalendarEntry>(); // CalendarFeed feed = service.Query(query); // bool hasCals = false; // while (feed != null && feed.Entries.Count > 0) // { // hasCals = true; // allCalendars = allCalendars.Concat<CalendarEntry>(feed.Entries.Cast<CalendarEntry>()); // // just query the same query again. // if (feed.NextChunk != null) // { // query.Uri = new Uri(feed.NextChunk); // feed = service.Query(query); // } // else // feed = null; // } // return hasCals ? allCalendars : null; //} private static IEnumerable <CalendarEntry> DownloadAll(CalendarQuery query, CalendarService service, CancellationToken token) { CalendarFeed feed = null; for (int i = 0; i < MaxTries; i++) { try { feed = service.Query(query); break; } catch { if (i == MaxTries - 1) { throw; } Thread.Sleep(AttemptDelay); } token.ThrowIfCancellationRequested(); } while (feed != null && feed.Entries.Count > 0) { foreach (CalendarEntry entry in feed.Entries.Cast <CalendarEntry>()) { yield return(entry); } // just query the same query again. if (feed.NextChunk != null) { query.Uri = new Uri(feed.NextChunk); for (int i = 0; i < MaxTries; i++) { try { feed = service.Query(query); break; } catch { if (i == MaxTries - 1) { throw; } Thread.Sleep(AttemptDelay); } token.ThrowIfCancellationRequested(); } } else { feed = null; } } }