Alain -
 
Did you post this bug as an  issue in Google code?  If so, can you post the 
link?  I would like to "follow it".  I am having the same issue.
 
Thanks,
Burton

On Monday, June 11, 2012 4:34:45 PM UTC-5, Alain wrote:

> Hello,
>
> Thanks for the issue report. I'll send in a patch ASAP, in the meantime, 
> you can fix this by changing this 
> line<https://code.google.com/p/gdata-java-client/source/browse/trunk/java/src/com/google/gdata/util/AuthenticationException.java#96>
> :
>      if (authHeader == null)
>       throw new NullPointerException("No authentication header 
> information"); 
>
> To return instead of throwing an exception.
>
> Best,
> Alain
>
> On Fri, Jun 8, 2012 at 3:39 PM, Alexey Panteleev <[email protected]> wrote:
>
>> Hello,
>>
>>  I have just started using ContactsService in a new way, with OAuth2, 
>> using GoogleCredential mechanism.
>> Unfortunately it seems there is a bug in the gdata lib or the protocol! 
>> Whenever my token expires the library throws the NPE exception because "
>> WWW-Authenticate" si not available in the response. So 
>> SessionExpiredException 
>> exception is never thrown and the credential's refreshToken listener is 
>> never called.
>>
>>  Any suggestions?
>>
>>
>> >>>Token invalid - Invalid token: Stateless token expired<<<
>>
>> Exception in thread "main" java.lang.NullPointerException: No 
>> authentication header information
>>
>> at com.google.gdata.util.AuthenticationException.initFromAuthHeader(
>> AuthenticationException.java:96)
>>
>> at com.google.gdata.util.AuthenticationException.<init>(
>> AuthenticationException.java:67)
>>
>> at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(
>> HttpGDataRequest.java:608)
>>
>> at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(
>> GoogleGDataRequest.java:564)
>>
>> at com.google.gdata.client.http.HttpGDataRequest.checkResponse(
>> HttpGDataRequest.java:560)
>>
>> at com.google.gdata.client.http.HttpGDataRequest.execute(
>> HttpGDataRequest.java:538)
>>
>> at com.google.gdata.client.http.GoogleGDataRequest.execute(
>> GoogleGDataRequest.java:536)
>>
>> at com.google.gdata.client.Service.getFeed(Service.java:1135)
>>
>>
>>
>>
>>
>> GoogleCredential credential = new GoogleCredential.Builder()
>>
>>   .setTransport(new NetHttpTransport())
>>
>>   .setJsonFactory(new JacksonFactory())
>>
>>   .setClientSecrets(CLIENT_ID,
>>
>> CLIENT_SECRET)
>>
>>   .addRefreshListener(new CredentialRefreshListener() {
>>
>>
>>    @Override
>>
>>   public void onTokenResponse(Credential credential,
>>
>>    TokenResponse tokenResponse) {
>>
>>    svc.setAccessToken(tokenResponse.getAccessToken());
>>
>>    if (tokenResponse.getRefreshToken() != null)
>>
>>    svc.setRefreshToken(tokenResponse.getRefreshToken());
>>
>>   }
>>
>>
>>    @Override
>>
>>   public void onTokenErrorResponse(Credential credential,
>>
>>    TokenErrorResponse tokenErrorResponse) {
>>
>>    svc.setAccessToken(null);
>>
>>    svc.setRefreshToken(null);
>>
>>   }
>>
>>   }).build();
>>
>>
>>  credential.setAccessToken(svc.getAccessToken());
>>
>>  credential.setRefreshToken(svc.getRefreshToken());
>>
>> myService = new ContactsService("App-1");
>>
>> myService.setOAuth2Credentials(credential);
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Google Contacts, Shared Contacts and User Profiles APIs" 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://code.google.com/apis/contacts/community/forum.html
>>
>
>
>
> -- 
> Alain Vongsouvanh | Developer Programs Engineer
>  

-- 
You received this message because you are subscribed to the Google
Groups "Google Contacts, Shared Contacts and User Profiles APIs" 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://code.google.com/apis/contacts/community/forum.html

Reply via email to