abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ugo Cei <ugo....@gmail.com>
Subject Re: Google Data APIs and chunked encoding
Date Sat, 07 Oct 2006 15:08:14 GMT

On Oct 5, 2006, at 6:31 PM, James M Snell wrote:

> The other way is to use the GoogleLoginAuthCredentials:
>
>  Client client = new CommonsClient();
>
>  GoogleLoginAuthCredentials credentials =
>    new GoogleLoginAuthCredentials(
>      "email", "password", "blogger");
>
>  client.addCredentials(
>    "http://beta.blogger.com",
>    null, null,
>    credentials);
>
> This will perform the GoogleLogin once and reuse the auth token for  
> each
> request.

OK, I've tried for hours but still cannot use this method to  
authenticate. Here is the relevant snippet from my code:

         Client client = new CommonsClient();
         GoogleLoginAuthScheme.register();
         GoogleLoginAuthCredentials credentials = new  
GoogleLoginAuthCredentials(GOOGLE_USERID,
                 GOOGLE_PASSWORD, "cl");
         client.addCredentials(baseUrl, null, null, credentials);
         // client.usePreemptiveAuthentication(true);
         ClientResponse response = doPost(client, privateCalendarUrl,  
event);

The error I get is:

ERROR - HttpMethodDirector         - Missing service in challenge
org.apache.commons.httpclient.auth.MalformedChallengeException:  
Missing service in challenge
	at org.apache.abdera.ext.gdata.GoogleLoginAuthScheme.processChallenge 
(GoogleLoginAuthScheme.java:70)
	at  
org.apache.commons.httpclient.auth.AuthChallengeProcessor.processChallen 
ge(AuthChallengeProcessor.java:161)
	at  
org.apache.commons.httpclient.HttpMethodDirector.processWWWAuthChallenge 
(HttpMethodDirector.java:686)
	at  
org.apache.commons.httpclient.HttpMethodDirector.processAuthenticationRe 
sponse(HttpMethodDirector.java:660)
	at org.apache.commons.httpclient.HttpMethodDirector.executeMethod 
(HttpMethodDirector.java:192)
	at org.apache.commons.httpclient.HttpClient.executeMethod 
(HttpClient.java:396)
	at org.apache.commons.httpclient.HttpClient.executeMethod 
(HttpClient.java:324)
	at org.apache.abdera.protocol.client.CommonsClient.execute 
(CommonsClient.java:130)
	at org.apache.abdera.protocol.client.Client.post(Client.java:139)

I've also tried using preemptive authentication (which the Google  
Data API seems to want) but this fails also, because it looks like  
HttpClient (3.0) cannot do preemptive authentication with anything  
else but a BasicAuthScheme.

Some help would really be appreciated, I'm completely stuck.

	Ugo


Mime
View raw message