Your problem is here:
<input type="hidden" id="session" name="session" value="0"> This should be value="1" since you want a long-lived session token. Out of curiosity why are you using <form> instead of using AuthSubUtil.getRequestUrl() to construct the URL directly? Cheers, -Jeff On Thu, Jul 17, 2008 at 4:43 AM, dongs <[EMAIL PROTECTED]> wrote: > > plz, help me.. > I received error message, when I run my web application. > > first I send request to "http://www.google.com/accounts/ > AuthSubRequest/ <http://www.google.com/accounts/AuthSubRequest/>" > and received token > > How can I modify my code to run my web app? > > > 1. send request for token > =================== > <form name="testForm" action="https://www.google.com/accounts/ > AuthSubRequest" method="GET"> > <input type="hidden" id="scope" name="scope" value="http:// > www.google.com/calendar/feeds/"> > <input type="hidden" id="session" name="session" value="0"> > <input type="hidden" id="secure" name="secure" value="1"> > <input type="hidden" id="next" name="next" value="http:// > wishclipr.nanuminet.com/yoko/dongs/test2.wcr"> > </form> > <input type="button" onClick="testForm.submit()"> > ==================== > > 2. get token and try to get calendar element..(http:// > wishclipr.nanuminet.com/yoko/dongs/test2.wcr?token=dsfjksji3435dkfj > ========================================== > public ModelAndView test2( > HttpServletRequest request, > HttpServletResponse response) throws Exception { > > // receive Token <- I checked > String onetimeUseToken = > AuthSubUtil.getTokenFromReply(request.getQueryString()); > > CalendarService myService = new CalendarService("exampleCo- > exampleApp-1.0"); > > java.security.PrivateKey privateKey = > > AuthSubUtil.getPrivateKeyFromKeystore(getServletContext().getRealPath > ("AuthSub.jks"), "mypassword","AuthSub", > "mypassword"); > > myService.setAuthSubToken(onetimeUseToken, privateKey); > > URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/ > owncalendars/full<http://www.google.com/calendar/feeds/default/owncalendars/full> > "); > > CalendarFeed resultFeed = myService.getFeed(feedUrl, > CalendarFeed.class); // <--- The error occured in this code > > System.out.println("Your calendars:"); > System.out.println(); > > ArrayList calList = new ArrayList(); > > for (int i = 0; i < resultFeed.getEntries().size(); i++) { > CalendarEntry entry = resultFeed.getEntries().get(i); > System.out.println("\t" + entry.getTitle().getPlainText()); > calList.add(entry.getTitle().getPlainText()); > } > > return new ModelAndView("calList"); > } > > 3. Error Message > ====================== > org.springframework.web.util.NestedServletException: Request > processing failed; nested exception is > com.google.gdata.util.AuthenticationException: Token invalid - Invalid > AuthSub token. > <HTML> > <HEAD> > <TITLE>Token invalid - Invalid AuthSub token.</TITLE> > </HEAD> > <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> > <H1>Token invalid - Invalid AuthSub token.</H1> > <H2>Error 401</H2> > </BODY> > </HTML> > > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java: > 583) > > > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java: > 501) > javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > root cause > > com.google.gdata.util.AuthenticationException: Token invalid - Invalid > AuthSub token. > <HTML> > <HEAD> > <TITLE>Token invalid - Invalid AuthSub token.</TITLE> > </HEAD> > <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> > <H1>Token invalid - Invalid AuthSub token.</H1> > <H2>Error 401</H2> > </BODY> > </HTML> > > > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown > Source) > > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown > Source) > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown > Source) > com.google.gdata.client.http.HttpGDataRequest.execute(Unknown > Source) > com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown > Source) > com.google.gdata.client.Service.getFeed(Unknown Source) > com.google.gdata.client.Service.getFeed(Unknown Source) > com.google.gdata.client.GoogleService.getFeed(Unknown Source) > com.google.gdata.client.Service.getFeed(Unknown Source) > > > wishclipr.test.controller.DongsTestController.test2(DongsTestController.java: > 92) > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > 25) > java.lang.reflect.Method.invoke(Method.java:585) > > > org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java: > 473) > > > org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java: > 410) > > > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java: > 153) > > > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java: > 48) > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java: > 875) > > > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java: > 809) > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java: > 571) > > > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java: > 501) > javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > ==================================================== > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Data Protocol" 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-help-dataapi?hl=en -~----------~----~----~----~------~----~------~--~---
