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
-~----------~----~----~----~------~----~------~--~---

Reply via email to