【问题标题】:Create Google Calendar Events Using .NET使用 .NET 创建 Google 日历活动
【发布时间】:2013-11-29 09:25:49
【问题描述】:

我需要使用 ASP.NET 创建 Google 日历事件。 要求:单击按钮后,将捕获活动详细信息,例如开始时间、结束时间、议程、与会者的电子邮件 ID,并将在 Google 日历中创建活动。

请帮忙。

提前致谢。

【问题讨论】:

    标签: c# asp.net google-calendar-api icalendar


    【解决方案1】:

    您需要创建一个电子邮件格式以发送给您的联系人,或者您想要的任何内容,希望对您有所帮助:)

    public void SendAppointment()
        {
            try
            {
                MailMessage msg = new MailMessage();
                SmtpClient sc = new SmtpClient("smtp.gmail.com", 587);
                msg.From = new MailAddress("no-reply@email.com", "NEW EVENT");
                sc.Credentials = new NetworkCredential("no-reply@email.com", "password");
                sc.EnableSsl = true;
    
                msg.To.Add(new MailAddress("invited@mail.com", "Invited"));
                msg.Subject = "Subject";
                msg.Body = "YOUR CONTENT";
    
                StringBuilder str = new StringBuilder();
                str.AppendLine("BEGIN:VCALENDAR");
                str.AppendLine("PRODID:-//GeO");
                str.AppendLine("VERSION:2.0");
                str.AppendLine("METHOD:REQUEST");
                str.AppendLine("BEGIN:VEVENT");
                str.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", START_DATE));
                str.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", DateTime.UtcNow));
                str.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", END_DATE));
                str.AppendLine("LOCATION: " + Direccion);
                str.AppendLine(string.Format("UID:{0}", Guid.NewGuid()));
                //str.AppendLine(string.Format("DESCRIPTION:{0}", msg.Body));
                str.AppendLine(string.Format("DESCRIPTION;ENCODING=QUOTED-PRINTABLE:{0}", msg.Body));
    
                str.AppendLine(string.Format("X-ALT-DESC;FMTTYPE=text/html:{0}", msg.Body));
                str.AppendLine(string.Format("SUMMARY;ENCODING=QUOTED-PRINTABLE:{0}", msg.Subject));
                str.AppendLine(string.Format("ORGANIZER:MAILTO:{0}", msg.From.Address));
    
                str.AppendLine(string.Format("ATTENDEE;CN=\"{0}\";RSVP=TRUE:mailto:{1}", msg.To[0].DisplayName, msg.To[0].Address));
    
                str.AppendLine("BEGIN:VALARM");
                str.AppendLine("TRIGGER:-PT15M");
                str.AppendLine("ACTION:DISPLAY");
                str.AppendLine("DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Reminder");
                str.AppendLine("END:VALARM");
                str.AppendLine("END:VEVENT");
                str.AppendLine("END:VCALENDAR");
                System.Net.Mime.ContentType type = new System.Net.Mime.ContentType("text/calendar");
                type.Parameters.Add("method", "REQUEST");
                //type.Parameters.Add("method", "PUBLISH");
                type.Parameters.Add("name", "Cita.ics");
                msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(str.ToString(), type));
                sc.Send(msg);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
    

    【讨论】:

      【解决方案2】:

      您需要的是 iCalendar 文件。请看这里http://en.wikipedia.org/wiki/ICalendar。 在这里Creating iCal Files in c#

      【讨论】:

        猜你喜欢
        • 2023-04-04
        • 2019-10-24
        • 2017-01-24
        • 2023-03-07
        • 1970-01-01
        • 2020-08-27
        • 1970-01-01
        • 2020-12-20
        • 1970-01-01
        相关资源
        最近更新 更多