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
