I agree w/ noGGin. It wasn't apparent that this would not work - it looked like you were making a style recommendation when saying we shouldn't call login() right after load.
On May 28, 2009 12:15pm, noGGin <lawrenc...@gmail.com> wrote: > should say: not a viable option > On May 28, 9:14 am, noGGin lawrenc...@gmail.com> wrote: > > For anyone who may read this and have the same problem. The tutorial > > section indicates that google.accounts.user.login() can be run > > immediately after loading, and it may be confusing to a user that is > > directed to a google login page without seeing your page first. It > > says that it is not recommended, and that a login button is the > > preferred way to do it for real-world applications. It does not say > > that your application will not work if google.accounts.user.login() is > > called immediately after loading, and that you must provide a login > > link/button. If you don't you will get a neverending loop at the grant/ > > deny access page. It seems that this is due to the cookie (containing > > the token) not being stored quickly enough after redirection back to > > your application page when login is called immediately after page > > load. > > > > Maybe this is something I should have seen or maybe the tutorial > > shouldn't indicate that doing everything on page load is a viable > > option. > > > > On May 25, 12:21 pm, noGGin lawrenc...@gmail.com> wrote: > > > > > Yes, all of the interactive samples work for me. But if I insert that > > > code into my initializePage function I still get the looping behavior. > > > I checked the cookies after running the interactive examples, there is > > > one named "g314-scope-0" and one named "g314-pending", whenever I run > > > my own code I only get a cookie named "g314-pending". > > > > > On May 25, 11:58 am, Eric Bidelman api.e...@google.com> wrote: > > > > > > Can you run this > sample?http://code.google.com/apis/blogger/docs/1.0/developers_guide_js.html... > > > > > > On Mon, May 25, 2009 at 11:29 AM, noGGin lawrenc...@gmail.com> > wrote: > > > > > > > Here is my code pulled from my test page: > > > > > > > > > > > >www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> > > > > > http://www.w3.org/1999/xhtml"> > > > > > > > > > > > > > > > > > My Google Data API Application > > > > > http://www.google.com/jsapi? > > > > > key=ABQIAAAAMckdzp79H9T72-3yHiv- > > > > > BRQBnJMNXV2JFGJdzYopxFXhdLLc0RRJkNyWywXhm8h-gZVIaxK4uLg69Q" > type="text/ > > > > > javascript"> > > > > > > > > > > // > > > > > > > google.load("gdata", "1.x"); > > > > > google.setOnLoadCallback(initializePage); > > > > > > > function initializePage() { > > > > > var scope = "http://www.blogger.com/feeds/"; > > > > > if (google.accounts.user.checkLogin(scope)) { > > > > > var service = new google.gdata.BloggerService('lawrence79- > > > > > TestApp-v1.0'); > > > > > alert("here"); > > > > > } else { > > > > > var token = google.accounts.user.login(scope); > > > > > } > > > > > } > > > > > > > //]]> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I tried to display a simple alert after login but I get the > > > > > neverending access request loop. I am not blocking cookies. I've > also > > > > > tried with and without the api key on my domain. I've also tried > it on > > > > > my localhost. I'm not sure what I'm doing wrong. > > > > > > > On May 25, 11:04 am, Eric Bidelman api.e...@google.com> wrote: > > > > > > Hi guys, > > > > > > Try setting up your page as follows: > > > > > >http://gdatatips.blogspot.com/2008/12/using-javascript-client-library... > > > > > > > > Basically, you need a flow like this: > > > > > > > google.load('gdata', '1.x');google.setOnLoadCallback(initializePage); > > > > > > > > function initializePage() { > > > > > > var scope = 'http://www.google.com/m8/feeds/'; > > > > > > if (google.accounts.user.checkLogin(scope)) { > > > > > > var service = new > > > > > google.gdata.contacts.ContactsService('co-App-v1.0'); > > > > > > // get data > > > > > > } else { > > > > > > // redirect to Google to get a token > > > > > > var token = google.accounts.user.login(scope); // can ignore the > > > > > > returned token value > > > > > > } > > > > > > > > } > > > > > > > > > http://gdatatips.blogspot.com/2008/12/using-javascript-client-library.. > > > > > .> > > > > > > Eric > > > > > > > > On Mon, May 25, 2009 at 10:53 AM, noGGin lawrenc...@gmail.com> > wrote: > > > > > > > > > I am experiencing the same functionality. Has anyone found a > > > > > > > resolution? > > > > > > > > > On May 10, 10:19 am, Haberkornelius marc.haberk...@gmail.com> > wrote: > > > > > > > > My application is attempting to read a list of Contacts > using the > > > > > > > > Contacts API. I am using the JavaScript client library at > > > > > google.com/ > > > > > > > > jsapi. I invoke: > > > > > > > > > > function logMeIn() { > > > > > > > > var scope = 'http://www.google.com/m8/feeds'; > > > > > > > > var token = google.accounts.user.checkLogin(scope); > > > > > > > > alert('token is: ' + token); > > > > > > > > token = google.accounts.user.login(scope); > > > > > > > > > > } > > > > > > > > > > This asks me first, which Google Account would I like to > use (I have > > > > > > > > 2), then asks me whether to accept or deny the access > request. I > > > > > > > > accept, and my browser is directed back to my page at: > > > > > > > > > > >http://localhost:8000/contacts_google#2%2FT7Zr-SI3SYU6R_HJSHd8gA > > > > > > > > > > The logMeIn() function executes again, and the output > is "token is: > > > > > > > > " (empty string). Then, the page is forwarded back to > Google to ask > > > > > > > > me which account to use, etc....it loops forever. It seems > like the > > > > > > > > JS client library is not correctly parsing the token from > the URI. > > > > > > > > I've looked at the cookies defined for localhost, and I see > one > > > > > called > > > > > > > > g314-pending. > > > > > > > > > > I'm currently running an application in a test environment > on my > > > > > > > > desktop (URL ishttp://localhost:8000), but I'm not thinking > that > > > > > > > > should pose a problem, unless the JS client library is > hardcoded to > > > > > > > > NOT support localhost. > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Data Protocol" group. To post to this group, send email to google-help-dataapi@googlegroups.com To unsubscribe from this group, send email to google-help-dataapi+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-help-dataapi?hl=en -~----------~----~----~----~------~----~------~--~---