Lane or Ryan,

Would you agree that this appears to be a GoDaddy problem?  Are there
any other reasons you can think of that would be causing this
behavior?  They are starting to say now that this is a coding issue
and they can't help me, but I'm 99% that is not the case.  Do you
agree?

Thanks for your help!

On Jun 14, 9:24 am, CrazyAtlantaGuy <[EMAIL PROTECTED]> wrote:
> Once my previous change is made, I run the code below.  It's a simple
> example of connecting to the Google server using username/password
> authentication and retrieving the list of calendars.
>
>     require_once 'Zend/Loader.php';
>     Zend_Loader::loadClass('Zend_Gdata');
>     Zend_Loader::loadClass('Zend_Gdata_AuthSub');
>     Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
>     Zend_Loader::loadClass('Zend_Gdata_Calendar');
>     Zend_Loader::loadClass('Zend_Http_Client');
>
>     $service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
>     $user = '[EMAIL PROTECTED]';
>     $pass = 'XXXXXXX';
>
>     $config = array(
>     'adapter'    => 'Zend_Http_Client_Adapter_Proxy',
>     'proxy_host' => 'proxy.shr.secureserver.net',
>     'proxy_port' => 3128
>     );
>
>     try {
>     $http = new Zend_Http_Client();
>     $http->setConfig($config);
>     $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass,
> $service, $http);
>     var_dump($client);
>     $http->setConfig($config);
>
>     $gdataCal = new Zend_Gdata_Calendar($client);
>     $calFeed = $gdataCal->getCalendarListFeed();
>     foreach ($calFeed as $calendar) {
>       echo '<li>' . $calendar->title() . '</li>';
>     }
>     } catch (Zend_Exception $e) {
>     var_dump($e);
>     }
>
> When I run this it fails and dumps the error.  I'll cut to the chase
> and show you what I sent...
>
>     POSThttps://www.google.com:443/accounts/ClientLoginHTTP/1.1
>     Host:www.google.com
>     Connection: close
>     User-agent: Zend-ZendFramework Zend_Framework_Gdata/1.0.0RC2
>     Content-type: application/x-www-form-urlencoded
>     Content-length: 115
> accountType=HOSTED_OR_GOOGLE&Email=crazyatlantaguy
> %40gmail.com&Passwd=XXXXXX&service=cl&source=Zend-ZendFramework
>
> ...and the dump containing what I received in return...
>
>     ["last_response:protected"]=>
>       object(Zend_Http_Response)#5 (5) {
>         ["version:protected"]=>
>         string(3) "1.0"
>         ["code:protected"]=>
>         int(501)
>         ["message:protected"]=>
>         string(15) "Not Implemented"
>         ["headers:protected"]=>
>         array(8) {
>           ["Server"]=>
>           string(18) "squid/2.6.STABLE12"
>           ["Date"]=>
>           string(29) "Thu, 14 Jun 2007 12:29:47 GMT"
>           ["Content-type"]=>
>           string(9) "text/html"
>           ["Content-length"]=>
>           string(4) "1093"
>           ["Expires"]=>
>           string(29) "Thu, 14 Jun 2007 12:29:47 GMT"
>           ["X-squid-error"]=>
>           string(15) "ERR_UNSUP_REQ 0"
>           ["X-cache"]=>
>           string(27) "MISS from wc02.shr.phx3.gdg"
>           ["Proxy-connection"]=>
>           string(5) "close"
>         }
>         ["body:protected"]=>
>         string(1093) "
>
> ERROR
> The requested URL could not be retrieved
> While trying to retrieve the URL:https://www.google.com/accounts/ClientLogin
> The following error was encountered:
>     * Unsupported Request Method and Protocol
> Squid does not support all request methods for all access protocols.
> For example, you can not POST a Gopher request.
> Your cache administrator is webmaster.
> Generated Thu, 14 Jun 2007 12:29:47 GMT by wc02.shr.phx3.gdg (squid/
> 2.6.STABLE12)
> "}}
>
> This is this reason that I contacted GoDaddy and was told that their
> proxy does not support POST over outgoing SSL.  Which I agree does not
> make any sense.  How you can you just ban key parts of HTTP?   I
> attempted to modify the ClientLogin code further to make this
> authentication request us GET instead of POST.  Although I believe I
> made the right change (it works as a URL the browser) I still receive
> this message from the proxy.
>
> On Jun 14, 9:12 am, CrazyAtlantaGuy <[EMAIL PROTECTED]> wrote:
>
> > First - A suggested change for google's implementation of the
> > framework in PHP.
>
> > Within the file \Zend\GData\ClientLogin.php there are conditions while
> > creating the client HTTP object which can cause it to fail without
> > throwing an exception.  This is why people have discussed their
> > $client variable being null.  There is an error here, we just don't
> > see it because of a bug which causes it to return null instead.
>
> > To fix this in the most recent release of Zend, RC2, modify line 142
> > so that instead of reading:
> >         } elseif ($response->getStatus() == 403) {
> > it reads
> >         } else {
>
> > Now when an unexpected error code is returned an exception is thrown.
> > Previously exceptions were only thrown for 403 errors - not too
> > helpful in our case.
>
> > On Jun 14, 8:20 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
>
> > > My ultimate goal is quite simple, all I really want to do is read my
> > > event data so I can generate an RSS feed that can be fed into tumblr.
>
> > > I called godaddy, just on the off chance they'd be able to tell me
> > > problems I'd encounter, and got a lot of "We don't help with coding"
> > > and then when I just asked to make sure if it was even possible on
> > > their shared hosting they told me it was, but that it'd be difficult.
>
> > > Anyway using the help from this thread, along with the manual I
> > > crafted:
>
> > > $config = array(
> > >                 'adapter'    => 'Zend_Http_Client_Adapter_Proxy',
> > >                 'proxy_host' => 'proxy.shr.secureserver.net',
> > >                 'proxy_port' => 3128
> > >         );
> > >         // Instantiate a client object
> > > $clientp = new Zend_Http_Client($myCalendar, $config);
> > > $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, 'cl',
> > > $clientp);
> > > $service = new Zend_Gdata_Calendar($client);
>
> > > try {
> > >     $listFeed= $service->getCalendarListFeed();} catch 
> > > (Zend_Gdata_App_Exception $e) {
>
> > >     echo "Error: " . $e->getResponse();
>
> > > }
>
> > > I get the Error every time, and I did some other testing and the
> > > $client variable is null.  I also am not setting $myCalendar because I
> > > wasn't entirely clear and what that should be.  I tried putting names
> > > of my calendars in there, which those caused invalid schema errors, I
> > > also tried the addresses of my feeds, which didn't throw errors, but
> > > didn't improve the situation.
>
> > > I also tried getting events instead of calendars with the same
> > > results.  At this point I'm not sure if it's an error with goDaddy, or
> > > just my not understanding how to use the API.
> > > On Jun 14, 1:08 am, "Ryan Boyd (Google)" <[EMAIL PROTECTED]> wrote:
>
> > > > Hi CrazyAtlantaGuy,
>
> > > > That seems a bit odd that POST would not be allowed, as it's a common
> > > > method of HTTP communication-- used in many web sites for form data
> > > > and also used by lots of different APIs.
>
> > > > What operations were you performing at the time you received the
> > > > timeout errors?  Was it adding new entries, or updating/deleting
> > > > entries?  If the latter, the PUT/DELETE methods are used by default.
> > > > These methods are less common and much more likely to be blocked by a
> > > > proxy server.  Fortunately, there is an option in Zend_Gdata_Calendar
> > > > (via way of Zend_Gdata_App) to indicate that you want POST requests to
> > > > be used in place of PUTs/DELETEs.  This is set by calling
> > > > $calendarService->setHttpMethodOverride(true);  Setting this property
> > > > tells the library to sent HTTP POSTS but add a 'X-Http-Method-
> > > > Override' header indicating that PUT or DELETE was the intentioned
> > > > method.
>
> > > > If it really is POST being disallowed, then the only other major
> > > > remaining methods are GET and HEAD.  It is highly unlikely that any
> > > > insert/update/delete operations will ever work with Google data APIs
> > > > using these HTTP verbs as GET and HEAD requests should not have any
> > > > side-effects based upon the HTTP spec.
>
> > > > Also, for future debugging-- any HTTP errors should throw an instance
> > > > of Zend_Gdata_App_HttpException.  This provides a method called
> > > > getResponse() which returns the Zend_Http_Response object.  Just
> > > > var_dump this and you should have any information you want about the
> > > > server error.
>
> > > > Good luck in getting this resolved!
>
> > > > Cheers,
> > > > -Ryan
>
> > > > On Jun 13, 5:32 pm, CrazyAtlantaGuy <[EMAIL PROTECTED]> wrote:
>
> > > > > I've been working on this recently too and have run into the same
> > > > > troubles.  I was able to avoid the timeout error by using the proxy -
> > > > > however now that I can connect to the proxy the communications with
> > > > > google still fails.  Adding lots of print lines to the Zend code I
> > > > > have found that the proxy is sending back an HTTP error message,"501
> > > > > Not Implemented."  After several emails with GoDaddy support I've been
> > > > > told "it appears that our hosting does not support the 'POST' option
> > > > > when using our proxy service".  The Google's PHP code does all of it's
> > > > > communications by POSTs, which means that as things stand it using the
> > > > > Zend Framework as-is to communicate with Google just won't work.
>
> > > > > It would be really nice if GoDaddy realized having the proxy caused
> > > > > their customers a real headache and just got ride of it.  The only
> > > > > other solutions, so I see it, is to rewrite parts of the Google PHP so
> > > > > that it no longer sends and retrieves using POSTs.  Well, there's
> > > > > always the option of finding another host, which may be the easier of
> > > > > the two.
>
> > > > > Any other ideas or solutions would be most appreciated.
>
> > > > > On Jun 13, 3:41 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
>
> > > > > > I'm trying to do something similar, and the code you provided got me
> > > > > > to stop having the connection error, however when I use the code
> > > > > > similar to yours above, only putting in my user and pass, I end up
> > > > > > getting a null client returned.
>
> > > > > > I'm also unsure what the $myCalendar variable should be set to.... 
> > > > > > or
> > > > > > if I need to call some other kind of function before I can do this.
>
> > > > > > On Jun 8, 1:00 pm, Erik <[EMAIL PROTECTED]> wrote:
>
> > > > > > > Hi, this is not helping. However, In theGodaddyhelp I found out 
> > > > > > > thatGodaddyuses a proxy for the google checkout application. So I 
> > > > > > > tried
>
> ...
>
> read more >>


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