Bir ics dosyasını Google'a içe aktarmayı başaramıyorum. Takvim apis'de aradım. Görünüşe göre uygulamıyorlar. Daha sonra Google caldav denedim (belgelerin% 99’dan yoksundur).iGoogle'da caldav kullanarak ics'e aktarma
Bu örnek işlevi yazdım ve 400 BAD REQUEST hatasıyla başarısız oluyor.
private void TestGoogleCaldav()
{
string contents = string.Empty;
string downloadURL = string.Format("https://apidata.googleusercontent.com/caldav/v2/<email>/events/dav.ics");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(downloadURL));
request.Method = "PUT";
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
request.ContentType = "application/x-www-form-urlencoded";
request.KeepAlive = true;
request.Timeout = 15 * 60 * 1000;
string headervalue = string.Empty;
string[] scope = new string[] { CalendarService.Scope.Calendar };
string token = GetOauthAccessToken(scope);
headervalue = string.Format("Authorization: Bearer {0}", token);
request.Headers.Add(headervalue);
string iCalFileName = @"C:\temp\invite.ics";
System.IO.StreamReader myFile = new System.IO.StreamReader(iCalFileName);
string myString = myFile.ReadToEnd();
var bytes = Encoding.ASCII.GetBytes(myString);
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(bytes, 0, bytes.Length);
}
var response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
}
else
{
}
}
ICS geçerli ve bozuk değil. (Harici kullanıcıya gönderirken Google tarafından oluşturulmuştur).
ICS dosyası:
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20160427T150000Z
DTEND:20160427T160000Z
DTSTAMP:20160208T145831Z
ORGANIZER;CN=Test user:mailto:[email protected]
UID:[email protected]
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=the user;X-NUM-GUESTS=0:mailto:[email protected]
CREATED:20160208T145831Z
DESCRIPTION:View your event
LAST-MODIFIED:20160208T145831Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:ics
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
"ICS geçerli ve bozuk değil. (Harici kullanıcıya gönderirken Google tarafından oluşturuldu." Eh, bu bir iTIP talebi (YÖNTEM: İSTEK), normal bir CalDAV yükü değil. Ayrıca, ASCII? Gerçekten mi? – hnh
Düzenli bir calDAV yükünü almaya çalışmak için açıldım. Bir test için bir bağlantın var mı? (Not: Bu dosya, exchange ve amazon workmail'e aktarılır). – CloudAnywhere
Charles'ı veya benzer bir aracı kullanarak iCal'den bir tane yakalayın. – hnh