none
Google Calendar Api 2. RRS feed

  • Pregunta

  • Hola a todos, hasta hace poco tenian en funcionamiento una aplicación windows forms que creaba una entrada en el calendario

    Google, pero el procedimiento ya no funciona ya que Google ya no trabaja con la Api 2 y recomienda la v3, alguien tiene un ejemplo de como funciona esta version con windows forms c#?

    Gracias, este es el codigo:

            private void insertar_evento()
            {
                try
                {
                    int mIdCliente = Convert.ToInt32(iDClienteComboBox.SelectedValue);

                    Clientes objCliente = Entidades.Clientes.Find(mIdCliente);

                    Service service = new CalendarService("Desarrollo y Tecnología Ltda");
                    service.setUserCredentials("martin.biancha@gmail.com", "******");
                    EventEntry entradaCalendario = new EventEntry();

                    entradaCalendario.Title.Text = id_ServicioComboBox.Text + " " + objCliente.RazonSocial;


                    string lcBody = "\n" +
                           "Oportunidad: " + id_ServicioComboBox.Text + "\n" +
                           "Requerimiento: " + richEditControl1.Text.Trim() + "\n" +
                           "Empresa: " + objCliente.RazonSocial + "\n" +
                           "Contacto:  " + contactoTextBox.Text + "\n" +
                           "Telefonos: " + telefonosTextBox.Text + "\n" +
                           "Email: " + emailTextBox.Text;

                    entradaCalendario.Content.Content = lcBody;

                    Where ubicacionEvento = new Where();
                    ubicacionEvento.ValueString = "Conexion IO SAS";
                    entradaCalendario.Locations.Add(ubicacionEvento);

                    //Fecha y hora inicio del evento, fecha y hora fin del evento Google Calendar
                    string fechaInicio = fechaSolicitudDateTimePicker.Value.ToShortDateString() + " 09:00:00";
                    string fechaFin = fechaSolicitudDateTimePicker.Value.ToShortDateString() + " 10:00:00";

                    DateTime dt1 = Convert.ToDateTime(fechaInicio);
                    while (dt1.DayOfWeek != DayOfWeek.Monday) dt1 = dt1.AddDays(-1);

                    DateTime dt2 = Convert.ToDateTime(fechaFin);
                    while (dt2.DayOfWeek != DayOfWeek.Monday) dt2 = dt2.AddDays(-1);

                    DateTime FechaInicio = dt1;
                    DateTime FechaFin = dt2; //DateTime.Parse(fechaFin, System.Globalization.CultureInfo.CurrentCulture);

                    When desdeHastaCalendar = new When(FechaInicio, FechaFin);

                    entradaCalendario.Times.Add(desdeHastaCalendar);
                    //Reminder recordatorio = new Reminder();
                    //recordatorio.Hours = 1;
                    //recordatorio.Method = Reminder.ReminderMethod.sms;
                    //entradaCalendario.Reminders.Add(recordatorio);

                    // crear contacto
                    RequestSettings rs = new RequestSettings("Martín Bianchá", "martin.biancha@gmail.com", **");
                    ContactsRequest cr = new ContactsRequest(rs);
                    string lcContacto = this.contactoTextBox.Text;
                    string lcEmail = this.emailTextBox.Text;
                    string lcTelefono = this.telefonosTextBox.Text;
                    string lcDireccion = this.direccionTextBox.Text;


                    if (!String.IsNullOrEmpty(lcContacto))
                    {
                        Contact newContact = new Contact();
                        newContact.Title = "Sr(a)";
                        newContact.Name.FullName = lcContacto;
                        if (!String.IsNullOrEmpty(lcEmail))
                        {
                            EMail primaryemail = new EMail(lcEmail);
                            primaryemail.Primary = true;
                            primaryemail.Rel = ContactsRelationships.IsWork;
                            newContact.Emails.Add(primaryemail);
                        }

                        if (!String.IsNullOrEmpty(lcTelefono))
                        {
                            PhoneNumber phoneNumber = new PhoneNumber(lcTelefono);
                            phoneNumber.Primary = true;
                            phoneNumber.Rel = ContactsRelationships.IsMobile;
                            newContact.Phonenumbers.Add(phoneNumber);
                        }

                        newContact.Content = "Informacion de contacto " + objCliente.RazonSocial;
                        Uri feedUri = new Uri(ContactsQuery.CreateContactsUri("default"));

                        //The example assumes the ContactRequest object (cr) is already set up.
                        Contact createdContact = cr.Insert(feedUri, newContact);
                    }

                    Uri uriDireccionGoogle = new Uri("http://www.google.com/calendar/feeds/32je5bor51ansfmamkomft92kk@group.calendar.google.com/private/full");

                    AtomEntry entry = service.Insert(uriDireccionGoogle, entradaCalendario);
                }
                catch (Exception exception)
                {
                    MessageBox.Show("Ocurrio un error al tratar de crear la entrada en el calendario " + exception.Message);
                }
            }


    Tito Alomia V. Cel. 317 309 08 12


    • Editado titoalomia miércoles, 26 de noviembre de 2014 20:20
    miércoles, 26 de noviembre de 2014 19:54

Todas las respuestas

  • Me uno al post, al ejecutar mi proyecto, me genera este error:

    alguien que cuente con algun ejemplo o idea para utilizar la api de google v.3?

    tengo entendido que se debe usar un ID o incluso un API KEY, pero la documentacion de google es algo confusa, tambien para usar la api o instalarla via NUGET.

    gracias anticipadas.

    miércoles, 26 de noviembre de 2014 22:46