Interesting case. I see that your code is not explicitly handling the
redirect, so that must mean that your library is doing it
automatically for you.

I think what is happening here is that the library you are using is
incorrectly issuing a GET on the redirect. This is mentioned in the
Google documentation as a common problem and there is an
X-If-No-Redirect header that you can set so that the post will not
automatically be redirect. You will then have to POST again to the
location specified in the response.

You can read more about this here:

http://code.google.com/support/bin/answer.py?answer=55833&topic=10360

Ray



On Wed, May 14, 2008 at 12:46 PM, Lich <[EMAIL PROTECTED]> wrote:
>
> Thank you for your response here is all the code:
>
>
> function GConnect($url, $headers = null, $c_type = null, $body = null,
> $timeout = 10, $redirects = 5) {
>  $fp = curl_init();
>  curl_setopt($fp, CURLOPT_ENCODING, '');
>  curl_setopt($fp, CURLOPT_URL, $url);
>  curl_setopt($fp, CURLOPT_HEADER, 1);
>  curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1);
>  curl_setopt($fp, CURLOPT_TIMEOUT, $timeout);
>  curl_setopt($fp, CURLOPT_CONNECTTIMEOUT, $timeout);
>  curl_setopt($fp, CURLOPT_REFERER, $url);
>  if (!is_array($headers)) $headers = array();
>  if (!is_array($load_headers)) $load_headers = array();
>  foreach ($headers as $key => $value) $load_headers[] = "$key:
> $value";
>  curl_setopt($fp, CURLOPT_HTTPHEADER, $load_headers);
>  curl_setopt($fp, CURLOPT_FAILONERROR, 1);
>  if ($c_type == 'POST') {
>  curl_setopt($fp, CURLOPT_POST, true);
>  curl_setopt($fp, CURLOPT_POSTFIELDS, $body);
>  }
>  if ($c_type == 'PUT') {
>  $fdata = tmpfile();
>  fwrite($fdata, $body);
>  fseek($fdata, 0);
>  curl_setopt($fp, CURLOPT_PUT, true);
>  curl_setopt($fp, CURLOPT_INFILE, $fdata);
>  curl_setopt($fp, CURLOPT_INFILESIZE, strlen($body));
>  }
>  if ($c_type == 'DELETE') {
>  curl_setopt($fp, CURLOPT_CUSTOMREQUEST, "DELETE");
>  }
>  curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 1);
>  curl_setopt($fp, CURLOPT_MAXREDIRS, $redirects);
>  $response = curl_exec($fp);
>  if (curl_errno($fp)) {
>  return 'cURL error ' . curl_errno($fp) . ': ' . curl_error($fp);
>  } else {
>  $info = curl_getinfo($fp);
>  curl_close($fp);
>  }
>  return $response;
> }
>
> // Check for authentication and login
> $gcdomain = 'mydomain';
> $gcpass = 'pass';
> $gcuser = 'admin';
> $body = "&Email=".$gcuser."@".$gcdomain."&Passwd=".
> $gcpass."&accountType=HOSTED&service=cl";
> $url = "https://www.google.com/accounts/ClientLogin";;
> $feed = GConnect($url, $header_array, 'POST', $body);
> list($headers,$body) = explode("\n\r", $feed);
> $body_array = explode("\n", $body);
> foreach ($body_array as $body) {
>  list($key, $val) = explode('=', $body);
>  if ($key == 'Auth') $client = $val;
> }
>
> // Add Event
> $body = "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gCal='http://
> schemas.google.com/gCal/2005'><content type='html'>Tennis with John
> May 14 3pm-3:30pm</content><gCal:quickadd value='true'/></entry>";
> $header_array = array('Authorization' => "GoogleLogin auth=$client",
> 'Content-Type' => 'application/atom+xml');
> $url = "http://www.google.com/calendar/feeds/[EMAIL PROTECTED]/private/
> full";
> $body = preg_replace("/\n/","",$body);
> $feed = GConnect($url, $header_array, 'POST', $body);
> list($headers,$body) = explode("\n\r", $feed);
> print_r($feed);
> exit;
>
> Here is the output:
>
> HTTP/1.1 302 Moved Temporarily
> Set-Cookie: S=calendar=ABdRo6Wsej46D3u1OhXQ5Q;Expires=Thu, 14-May-2009
> 19:36:01 GMT
> Location: http://www.google.com/calendar/feeds/[EMAIL 
> PROTECTED]/private/full?gsessionid=ABdRo6Wsej46D3u1OhXQ5Q
> Content-Type: text/html; charset=UTF-8
> Date: Wed, 14 May 2008 19:36:01 GMT
> Expires: Wed, 14 May 2008 19:36:01 GMT
> Cache-Control: private, max-age=0
> Transfer-Encoding: chunked
> Server: GFE/1.3
>
> HTTP/1.1 200 OK
> Content-Type: application/atom+xml; charset=UTF-8
> Cache-Control: max-age=0, must-revalidate, private
> GData-Version: 1.0
> Last-Modified: Fri, 09 May 2008 18:53:10 GMT
> Transfer-Encoding: chunked
> Date: Wed, 14 May 2008 19:36:02 GMT
> Server: GFE/1.3
>
> <?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/
> 2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'
> xmlns:batch='http://schemas.google.com/gdata/batch' xmlns:gCal='http://
> schemas.google.com/gCal/2005' xmlns:gd='http://schemas.google.com/g/
> 2005'><id>http://www.google.com/calendar/feeds/testuser%40mydomain/
> private/full</id><updated>2008-05-09T18:53:10.000Z</updated><category
> scheme='http://schemas.google.com/g/2005#kind' term='http://
> schemas.google.com/g/2005#event'/><title type='text'>Test Account</
> title><subtitle type='text'>Test Account</subtitle><link
> rel='alternate' type='text/html' href='http://www.google.com/calendar/
> [EMAIL PROTECTED]'/><link rel='http://schemas.google.com/g/
> 2005#feed' type='application/atom+xml' href='http://www.google.com/
> calendar/feeds/testuser%40mydomain/private/full'/><link rel='http://
> schemas.google.com/g/2005#post' type='application/atom+xml'
> href='http://www.google.com/calendar/feeds/testuser%40mydomain/private/
> full'/><link rel='http://schemas.google.com/g/2005#batch'
> type='application/atom+xml' href='http://www.google.com/calendar/feeds/
> testuser%40mydomain/private/full/batch'/><link rel='self'
> type='application/atom+xml' href='http://www.google.com/calendar/feeds/
> testuser%40mydomain/private/full?max-results=25'/><author><name>Test
> Account</name><email>[EMAIL PROTECTED]</email></author><generator
> version='1.0' uri='http://www.google.com/calendar'>Google Calendar</
> generator><openSearch:totalResults>6</
> openSearch:totalResults><openSearch:startIndex>1</
> openSearch:startIndex><openSearch:itemsPerPage>25</
> openSearch:itemsPerPage><gCal:timezone value='America/Denver'/
>><entry><id>http://www.google.com/calendar/feeds/testuser%40mydomain/
> private/full/98suu0elr9rlkn0nm585jb2d3c</
> id><published>2008-05-09T18:50:14.000Z</
> published><updated>2008-05-09T18:50:14.000Z</updated><category
> scheme='http://schemas.google.com/g/2005#kind' term='http://
> schemas.google.com/g/2005#event'/><title type='text'>Test Account</
> title><content type='text'/><link rel='alternate' type='text/html'
> href='http://www.google.com/calendar/hosted/mydomain/event?
> eid=OThzdXUwZWxyOXJsa24wbm01ODVqYjJkM2MgMTUwNjlAbXlyaWNoZGFkZHJlYW0uY29t'
> title='alternate'/><link rel='self' type='application/atom+xml'
> href='http://www.google.com/calendar/feeds/testuser%40mydomain/private/
> full/98suu0elr9rlkn0nm585jb2d3c'/><link rel='edit' type='application/
> atom+xml' href='http://www.google.com/calendar/feeds/testuser
> %40mydomain/private/full/98suu0elr9rlkn0nm585jb2d3c/63346042214'/
>><author><name>Test Account</name><email>[EMAIL PROTECTED]</email></
> author><gd:comments><gd:feedLink href='http://www.google.com/calendar/
> feeds/testuser%40mydomain/private/full/98suu0elr9rlkn0nm585jb2d3c/
> comments'/></gd:comments><gd:eventStatus value='http://
> schemas.google.com/g/2005#event.confirmed'/><gd:visibility
> value='http://schemas.google.com/g/2005#event.default'/
>><gd:transparency value='http://schemas.google.com/g/
> 2005#event.opaque'/><gCal:uid
> value='[EMAIL PROTECTED]'/><gCal:sequence
> value='0'/><gd:when startTime='2008-05-10T10:30:00.000-06:00'
> endTime='2008-05-10T12:30:00.000-06:00'/><gd:who rel='http://
> schemas.google.com/g/2005#event.organizer' valueString='Test Account'
> email='[EMAIL PROTECTED]'/><gd:where/></entry><entry><id>http://
> www.google.com/calendar/feeds/testuser%40mydomain/private/full/l99lv6032747nt8mq7jm9095n4</id><published>2008-05-08T16:27:35.000Z</published><updated>2008-05-08T16:27:35.000Z</updated><category
> scheme='http://schemas.google.com/g/2005#kind' term='http://
> schemas.google.com/g/2005#event'/><title type='text'>Sat event</
> title><content type='text'/><link rel='alternate' type='text/html'
> href='http://www.google.com/calendar/hosted/mydomain/event?
> eid=bDk5bHY2MDMyNzQ3bnQ4bXE3am05MDk1bjQgMTUwNjlAbXlyaWNoZGFkZHJlYW0uY29t'
> title='alternate'/><link rel='self' type='application/atom+xml'
> href='http://www.google.com/calendar/feeds/testuser%40mydomain/private/
> full/l99lv6032747nt8mq7jm9095n4'/><link rel='edit' type='application/
> atom+xml' href='http://www.google.com/calendar/feeds/testuser
> %40mydomain/private/full/l99lv6032747nt8mq7jm9095n4/63345947255'/
>><author><name>Test Account</name><email>[EMAIL PROTECTED]</email></
> author><gd:comments><gd:feedLink href='http://www.google.com/calendar/
> feeds/testuser%40mydomain/private/full/l99lv6032747nt8mq7jm9095n4/
> comments'/></gd:comments><gd:eventStatus value='http://
> schemas.google.com/g/2005#event.confirmed'/><gd:visibility
> value='http://schemas.google.com/g/2005#event.default'/
>><gd:transparency value='http://schemas.google.com/g/
> 2005#event.opaque'/><gCal:uid
> value='[EMAIL PROTECTED]'/><gCal:sequence
> value='0'/><gd:when startTime='2008-05-10T05:30:00.000-06:00'
> endTime='2008-05-10T07:30:00.000-06:00'/><gd:who rel='http://
> schemas.google.com/g/2005#event.organizer' valueString='Test Account'
> email='[EMAIL PROTECTED]'/><gd:where/></entry><entry><id>http://
> www.google.com/calendar/feeds/testuser%40mydomain/private/full/cibg9hlbgpk3uj0rpuhm814afk</id><published>2008-05-08T16:21:31.000Z</published><updated>2008-05-08T16:21:31.000Z</updated><category
> scheme='http://schemas.google.com/g/2005#kind' term='http://
> schemas.google.com/g/2005#event'/><title type='text'>Friday Event</
> title><content type='text'/><link rel='alternate' type='text/html'
> href='http://www.google.com/calendar/hosted/mydomain/event?
> eid=Y2liZzlobGJncGszdWowcnB1aG04MTRhZmsgMTUwNjlAbXlyaWNoZGFkZHJlYW0uY29t'
> title='alternate'/><link rel='self' type='application/atom+xml'
> href='http://www.google.com/calendar/feeds/testuser%40mydomain/private/
> full/cibg9hlbgpk3uj0rpuhm814afk'/><link rel='edit' type='application/
> atom+xml' href='http://www.google.com/calendar/feeds/testuser
> %40mydomain/private/full/cibg9hlbgpk3uj0rpuhm814afk/63345946891'/
>><author><name>Test Account</name><email>[EMAIL PROTECTED]</email></
> author><gd:comments><gd:feedLink href='http://www.google.com/calendar/
> feeds/testuser%40mydomain/private/full/cibg9hlbgpk3uj0rpuhm814afk/
> comments'/></gd:comments><gd:eventStatus value='http://
> schemas.google.com/g/2005#event.confirmed'/><gd:visibility
> value='http://schemas.google.com/g/2005#event.default'/
>><gd:transparency value='http://schemas.google.com/g/
> 2005#event.opaque'/><gCal:uid
> value='[EMAIL PROTECTED]'/><gCal:sequence
> value='0'/><gd:when startTime='2008-05-09T02:00:00.000-06:00'
> endTime='2008-05-09T03:00:00.000-06:00'/><gd:who rel='http://
> schemas.google.com/g/2005#event.organizer' valueString='Test Account'
> email='[EMAIL PROTECTED]'/><gd:where/></entry><entry><id>http://
> www.google.com/calendar/feeds/testuser%40mydomain/private/full/73ok43trb5ium0i6ndha6tcm5s</id><published>2008-05-08T16:12:29.000Z</published><updated>2008-05-08T16:16:37.000Z</updated><category
> scheme='http://schemas.google.com/g/2005#kind' term='http://
> schemas.google.com/g/2005#event'/><title type='text'>Friday event</
> title><content type='text'>description</content><link rel='alternate'
> type='text/html' href='http://www.google.com/calendar/hosted/mydomain/
> event?
> eid=NzNvazQzdHJiNWl1bTBpNm5kaGE2dGNtNXMgMTUwNjlAbXlyaWNoZGFkZHJlYW0uY29t'
> title='alternate'/><link rel='self' type='application/atom+xml'
> href='http://www.google.com/calendar/feeds/testuser%40mydomain/private/
> full/73ok43trb5ium0i6ndha6tcm5s'/><link rel='edit' type='application/
> atom+xml' href='http://www.google.com/calendar/feeds/testuser
> %40mydomain/private/full/73ok43trb5ium0i6ndha6tcm5s/63345946597'/
>><author><name>Test Account</name><email>[EMAIL PROTECTED]</email></
> author><gd:comments><gd:feedLink href='http://www.google.com/calendar/
> feeds/testuser%40mydomain/private/full/73ok43trb5ium0i6ndha6tcm5s/
> comments'/></gd:comments><gd:eventStatus value='http://
> schemas.google.com/g/2005#event.confirmed'/><gd:visibility
> value='http://schemas.google.com/g/2005#event.default'/
>><gd:transparency value='http://schemas.google.com/g/
> 2005#event.opaque'/><gCal:uid
> value='[EMAIL PROTECTED]'/><gCal:sequence
> value='0'/><gd:when startTime='2008-05-09T13:30:00.000-06:00'
> endTime='2008-05-09T14:30:00.000-06:00'/><gd:who rel='http://
> schemas.google.com/g/2005#event.organizer' valueString='Test Account'
> email='[EMAIL PROTECTED]'/><gd:where valueString='Office'/></
> entry><entry><id>http://www.google.com/calendar/feeds/testuser
> %40mydomain/private/full/eu1pa3u3rmq81snisva4sp06u8</
> id><published>2008-05-08T16:12:57.000Z</
> published><updated>2008-05-08T16:12:57.000Z</updated><category
> scheme='http://schemas.google.com/g/2005#kind' term='http://
> schemas.google.com/g/2005#event'/><title type='text'>Sat event</
> title><content type='text'/><link rel='alternate' type='text/html'
> href='http://www.google.com/calendar/hosted/mydomain/event?
> eid=ZXUxcGEzdTNybXE4MXNuaXN2YTRzcDA2dTggMTUwNjlAbXlyaWNoZGFkZHJlYW0uY29t'
> title='alternate'/><link rel='self' type='application/atom+xml'
> href='http://www.google.com/calendar/feeds/testuser%40mydomain/private/
> full/eu1pa3u3rmq81snisva4sp06u8'/><link rel='edit' type='application/
> atom+xml' href='http://www.google.com/calendar/feeds/testuser
> %40mydomain/private/full/eu1pa3u3rmq81snisva4sp06u8/63345946377'/
>><author><name>Test Account</name><email>[EMAIL PROTECTED]</email></
> author><gd:comments><gd:feedLink href='http://www.google.com/calendar/
> feeds/testuser%40mydomain/private/full/eu1pa3u3rmq81snisva4sp06u8/
> comments'/></gd:comments><gd:eventStatus value='http://
> schemas.google.com/g/2005#event.confirmed'/><gd:visibility
> value='http://schemas.google.com/g/2005#event.default'/
>><gd:transparency value='http://schemas.google.com/g/
> 2005#event.opaque'/><gCal:uid
> value='[EMAIL PROTECTED]'/><gCal:sequence
> value='0'/><gd:when startTime='2008-05-10T16:30:00.000-06:00'
> endTime='2008-05-10T18:00:00.000-06:00'/><gd:who rel='http://
> schemas.google.com/g/2005#event.organizer' valueString='Test Account'
> email='[EMAIL PROTECTED]'/><gd:where/></entry><entry><id>http://
> www.google.com/calendar/feeds/testuser%40mydomain/private/full/tuom2i3qb4h073idi18vr52e6k</id><published>2008-05-07T17:25:56.000Z</published><updated>2008-05-07T17:25:56.000Z</updated><category
> scheme='http://schemas.google.com/g/2005#kind' term='http://
> schemas.google.com/g/2005#event'/><title type='text'>New Event</
> title><content type='text'/><link rel='alternate' type='text/html'
> href='http://www.google.com/calendar/hosted/mydomain/event?
> eid=dHVvbTJpM3FiNGgwNzNpZGkxOHZyNTJlNmsgMTUwNjlAbXlyaWNoZGFkZHJlYW0uY29t'
> title='alternate'/><link rel='self' type='application/atom+xml'
> href='http://www.google.com/calendar/feeds/testuser%40mydomain/private/
> full/tuom2i3qb4h073idi18vr52e6k'/><link rel='edit' type='application/
> atom+xml' href='http://www.google.com/calendar/feeds/testuser
> %40mydomain/private/full/tuom2i3qb4h073idi18vr52e6k/63345864356'/
>><author><name>Test Account</name><email>[EMAIL PROTECTED]</email></
> author><gd:comments><gd:feedLink href='http://www.google.com/calendar/
> feeds/testuser%40mydomain/private/full/tuom2i3qb4h073idi18vr52e6k/
> comments'/></gd:comments><gd:eventStatus value='http://
> schemas.google.com/g/2005#event.confirmed'/><gd:visibility
> value='http://schemas.google.com/g/2005#event.default'/
>><gd:transparency value='http://schemas.google.com/g/
> 2005#event.opaque'/><gCal:uid
> value='[EMAIL PROTECTED]'/><gCal:sequence
> value='0'/><gd:when startTime='2008-05-07T12:30:00.000-06:00'
> endTime='2008-05-07T14:00:00.000-06:00'/><gd:who rel='http://
> schemas.google.com/g/2005#event.organizer' valueString='Test Account'
> email='[EMAIL PROTECTED]'/><gd:where/></entry></feed>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to