Austin, this is a service bug, from what i can see. A 302 on a POST is, in general, NOT a good thing. Per spec:
If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued. In general, the calendar service is doing something it should not. But, the .NET library does follow those. We put the StrictRedirect property on the requestfactory, which should be FALSE by default, and we would ONLY throw on this if that property is explicitly set. Is it possible you are setting this? If the transcript below is correct, then this is a calendar service bug. On a 302 response, per spec: The temporary URI SHOULD be given by the Location field in the response. What i see below is: We batch post with .NET, we get a 302. We recognize this, we batch post again (i can not see all the header/ location info, i do assume that we now batch post against the URI in the LOCATION header of the first 302.). We get another 302 back. There is no location header, so i get a 302 in the .NET client and i have NO idea where to go to. Beside that, a 30x return code is not considered an error. Is this problem reproducable ? If so, can you send me a sln file with everything (as small as possible) and i am willing to debug this to figure out what is going on, although i think my analysis is precise on point. The real question for me is, what do you want the .NET lib to do in that case? Frank Mantek Google On Jun 3, 2008, at 8:06 PM, Austin (Google) wrote: > Hi, > > The C# .NET client library should automatically follow redirect > (this is done underneath the API level). If for your particular > request this is not happening, you can file a bug request on the > client library here - > > http://code.google.com/p/google-gdata/issues/list > > please provide the code that can help us to reproduce the scenario, > thanks! > > Austin > > On Mon, Jun 2, 2008 at 10:25 AM, bobb <[EMAIL PROTECTED]> wrote: > > THanks for the extra info, Austin. I studied it quite thoroughly. I > understand the implications at the XML level, but frankly, I'm at a > complete loss at the C# API level. > > The way it works now, I invoke the calendar service upload like this: > > EventFeed results = (EventFeed)service.Batch(CalFeed, postUri); > > I searched the entire hierarchy of inherited classes/interfaces for > EventFeed, and found nothing that will tell me the HTTP return code, > or returned HTTP headers, or anything that would be useful for > following a re-direct instruction. How do I figure this out using the > C# client libs? > > On May 29, 1:55 pm, "Austin (Google)" <[EMAIL PROTECTED]> wrote: > > Hi, > > > > As documented in the protocol guide - > > > > http://code.google.com/apis/calendar/developers_guide_protocol.html#R > ... > > > > Requests that are sent to calendar server are sometimes redirect > with 302, > > your code needs to follow this redirection (along with auth token in > > header). This entry in FAQ provides more details regarding > redirection - > > > > http://code.google.com/support/bin/answer.py? > answer=55833&topic=10360 > > > > Hope it helps, > > Austin > > > > On Wed, May 28, 2008 at 8:06 AM, bobb <[EMAIL PROTECTED]> wrote: > > > > > I am creating a feed consisting of 2 calendar entries, 1 is > recurring. > > > When I call the Batch() function, I get an EventFeed instance > back, > > > but it contains no entries. The events are posted in the calendar. > > > > > The log file shows an odd result from the POST: "Moved > Temporarily" > > > > > Logfile contents follows:: > > > > > Request at: 5/28/2008 10:54:57 AM > > > POST to:http://www.google.com/calendar/feeds/default/private/full/batch > > > Header: Content-Type:application/atom+xml; charset=UTF-8 > > > Header: User-Agent:CalendarLogging GDataGAuth-CS/1.0.0 > > > Header: Authorization:GoogleLogin > > > > > > auth > = > DQAAAIUAAAChqswVTYPtaCEfMsmOa1NA5gR0rlGLwOehZXHgffP3Uxritqvf4jFkJbbSqXbTsu > -7Hd8TD_gn5U1se4BeKlPg0R91bW1I4__30Km2KJ5- > > > > > > WvOMIVf7Fk391V86YwHu9OS0ozAj8tD1GvkB0k6ILyssjitqPSODQUzw9_CxsIb1AB7AoYbTV3aocGgRgVltB88 > > > Header: Host:www.google.com > > > Header: Content-Length:1114 > > > Header: Expect:100-continue > > > Header: Connection:Keep-Alive > > > <?xml version="1.0" encoding="utf-8"?> > > > <feed xmlns="http://www.w3.org/2005/Atom" xmlns:batch="http:// > > > schemas.google.com/gdata/batch"> > > > <batch:operation type="insert" /> > > > <entry xmlns:gd="http://schemas.google.com/g/2005"> > > > <gd:where valueString="fef" /> > > > <gd:recurrence>DTSTART;VALUE=DATE:20080527T133000 > > > DTEND;VALUE=DATE:20080527T224500 > > > RRULE:FREQ=WEEKLY;BYDAY=TU;UNTIL=20080529 > > > </gd:recurrence> > > > <batch:id>0</batch:id> > > > <batch:operation type="insert" /> > > > <title type="text">test with ééééééé</title> > > > <category term="http://schemas.google.com/g/2005#event" > > > scheme="http://schemas.google.com/g/2005#kind" /> > > > <content type="text/xml" /> > > > </entry> > > > <entry xmlns:gd="http://schemas.google.com/g/2005"> > > > <gd:when startTime="2008-05-30T09:00:00-04:00" > > > endTime="2008-05-30T23:15:00-04:00" /> > > > <batch:id>1</batch:id> > > > <batch:operation type="insert" /> > > > <title type="text">test €</title> > > > <category term="http://schemas.google.com/g/2005#event" > > > scheme="http://schemas.google.com/g/2005#kind" /> > > > <content type="text/xml" /> > > > </entry> > > > </feed> > > > > > Response received at: 5/28/2008 10:54:58 AM > > > POST to:http://www.google.com/calendar/feeds/default/private/full/batch > > > Header: Content-Length:279 > > > Header: Cache-Control:private, max-age=0 > > > Header: Content-Type:text/html; charset=UTF-8 > > > Header: Date:Wed, 28 May 2008 14:55:07 GMT > > > Header: Expires:Wed, 28 May 2008 14:55:07 GMT > > > Header: Location:http://www.google.com/calendar/feeds/default/private/ > > > full/batch?gsessionid=MeKkE7hQJm59PJNv6gDeZg<http://www.google.com/calendar/feeds/default/private/full/batch?gsess... > > > > > > > > Header: Set- > Cookie:S=calendar=MeKkE7hQJm59PJNv6gDeZg;Expires=Thu, 28- > > > May-2009 14:55:07 GMT > > > Header: Server:GFE/1.3 > > > <HTML> > > > <HEAD> > > > <TITLE>Moved Temporarily</TITLE> > > > </HEAD> > > > <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> > > > <H1>Moved Temporarily</H1> > > > The document has moved <A HREF="http://www.google.com/calendar/feeds/ > > > default/private/full/batch?gsessionid=MeKkE7hQJm59PJNv6gDeZg<http://www.google.com/calendar/feeds/default/private/full/batch?gsess... > > > > > > > > ">here</ > > > A>. > > > </BODY> > > > </HTML> > > > > > Request at: 5/28/2008 10:54:58 AM > > > POST to: > > >http://www.google.com/calendar/feeds/default/private/full/batch?gsess > ... > > > Header: Content-Type:application/atom+xml; charset=UTF-8 > > > Header: User-Agent:CalendarLogging GDataGAuth-CS/1.0.0 > > > Header: Cookie:S=calendar=MeKkE7hQJm59PJNv6gDeZg;Expires=Thu, 28- > > > May-2009 14:55:07 GMT > > > Header: Authorization:GoogleLogin > > > > > > auth > = > DQAAAIUAAAChqswVTYPtaCEfMsmOa1NA5gR0rlGLwOehZXHgffP3Uxritqvf4jFkJbbSqXbTsu > -7Hd8TD_gn5U1se4BeKlPg0R91bW1I4__30Km2KJ5- > > > > > > WvOMIVf7Fk391V86YwHu9OS0ozAj8tD1GvkB0k6ILyssjitqPSODQUzw9_CxsIb1AB7AoYbTV3aocGgRgVltB88 > > > Header: Host:www.google.com > > > Header: Content-Length:1114 > > > Header: Expect:100-continue > > > <?xml version="1.0" encoding="utf-8"?> > > > <feed xmlns="http://www.w3.org/2005/Atom" xmlns:batch="http:// > > > schemas.google.com/gdata/batch"> > > > <batch:operation type="insert" /> > > > <entry xmlns:gd="http://schemas.google.com/g/2005"> > > > <gd:where valueString="fef" /> > > > <gd:recurrence>DTSTART;VALUE=DATE:20080527T133000 > > > DTEND;VALUE=DATE:20080527T224500 > > > RRULE:FREQ=WEEKLY;BYDAY=TU;UNTIL=20080529 > > > </gd:recurrence> > > > <batch:id>0</batch:id> > > > <batch:operation type="insert" /> > > > <title type="text">test with ééééééé</title> > > > <category term="http://schemas.google.com/g/2005#event" > > > scheme="http://schemas.google.com/g/2005#kind" /> > > > <content type="text/xml" /> > > > </entry> > > > <entry xmlns:gd="http://schemas.google.com/g/2005"> > > > <gd:when startTime="2008-05-30T09:00:00-04:00" > > > endTime="2008-05-30T23:15:00-04:00" /> > > > <batch:id>1</batch:id> > > > <batch:operation type="insert" /> > > > <title type="text">test €</title> > > > <category term="http://schemas.google.com/g/2005#event" > > > scheme="http://schemas.google.com/g/2005#kind" /> > > > <content type="text/xml" /> > > > </entry> > > > </feed> > > > > > Response received at: 5/28/2008 10:54:59 AM > > > POST to: > > >http://www.google.com/calendar/feeds/default/private/full/batch?gsess > ... > > > Header: GData-Version:1.0 > > > Header: Content-Length:4506 > > > Header: Cache-Control:private, max-age=0 > > > Header: Content-Type:application/atom+xml; charset=UTF-8 > > > Header: Date:Wed, 28 May 2008 14:55:08 GMT > > > Header: Expires:Wed, 28 May 2008 14:55:08 GMT > > > Header: Server:GFE/1.3 > > > <HTML> > > > <HEAD> > > > <TITLE>Moved Temporarily</TITLE> > > > </HEAD> > > > <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> > > > <H1>Moved Temporarily</H1> > > > The document has moved <A HREF="http://www.google.com/calendar/feeds/ > > > default/private/full/batch?gsessionid=MeKkE7hQJm59PJNv6gDeZg<http://www.google.com/calendar/feeds/default/private/full/batch?gsess... > > > > > > > > ">here</ > > > A>. > > > </BODY> > > > </HTML> > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Calendar Data API" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-calendar-help-dataapi?hl=en -~----------~----~----~----~------~----~------~--~---
