Keep getting a "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup" when attempting to google plus login on my web app

102,006

Solution 1

I too ran into the same error - "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup".

I went and checked my google developer console under APIs for the project associated with the API key/ auth key, eg, https://console.developers.google.com/project/<your app id>/apiui/api. The status for Google+API was set to OFF. I turned it ON.

I then got another access token, and then tried with the new one. It worked, ie, the error was gone and I got the profile details. To cross-check if that was indeed the cause of the error, I went back to console and disabled Google+ API. But now, I get the error:

"Access Not Configured. Please use Google Developers Console to activate the API for your project."

So, I am not 100% sure that it was the turning on/off of the Google+ API in my developer console, but do ensure that this is turned on. Also, wait a few minutes after turning on, and ensure that you get a fresh token each time before trying it.

Solution 2

This issue happens when you are already logged in and still try to login again and again. I faced same error so did some experiments 1) I opened website on my mobile and everything was fine. 2) Then i tried on another laptop and used different gmail account to login and it again worked fine. 3) On my first laptop i tied again by clicking "Signin" button i got same error, so i opened google.com then logged out completely and then tried again, this time it worked. So i believe, Issue is clicking login button again and again without logout.

I am not sure if this is a really a issue, but atleast this is what i found. I am still trying, trying and trying , will post if i found anything else.

Cheers !!

Solution 3

google api

Make sure you have Google+ Api here enabled.

Without it you will get errors like:

"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",

To enable it:

1) open https://console.developers.google.com

2) choose your project (top right corner)

3) search for "Google+ API" in search box and enable it if it is not enabled already.

Solution 4

You have to add the apiKey with the URL:

$curl = curl_init( 'https://www.googleapis.com/urlshortener/v1/url?key=AIza3834-Key' );

Solution 5

So I ran into this issue and the above two methods/solutions (enabling API access, and signing out of accounts) did not work for me because for google+ signin you have to pass in the access token in the authorization header of the http call.

Here's how you do it via jQuery:

    $.ajax({
      type: "GET", 
      url: "https://www.googleapis.com/plus/v1/people/me",
      headers: {
       "Authorization":"Bearer " + {access_token},
      }
    });

It seems your issue is with the server side code where you pass in access_token in the params (which is not necessary).

Here's my attempt on what the PHP implementation would look like:

$opts = array(
'http'=>array(
 'method'=>"GET",
 'header'=>"Authorization: Bearer ".$access_token 
 )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('https://www.googleapis.com/plus/v1/people/me', false, $context);'
Share:
102,006
Michael Nana
Author by

Michael Nana

Updated on July 08, 2022

Comments

  • Michael Nana
    Michael Nana almost 2 years

    I'm trying to implement Google plus sign up on my web app and I followed the google docs to set up the sign up however when I attempt a signup after accepting permissions and using the access token returned to me any api restcall I make returns the Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup error. I have already signed up my app with a ouath 2.0 key, so I don't seem to get what I'm doing wrong. Here is my code.

    Cient Side:

    const clientId = "5XXX000XX.apps.googleusercontent.com";
    const apiKey = "AIzaSyCAXE5JSa36jcC*X7HV40SBcIWBiVGUTBE";
    const scopes = "https://www.googleapis.com/auth/plus.login";
    let accessToken = null;
    
    function initer() {
      gapi.client.setApiKey(apiKey);
      // alert("Hello init");
      if ($("#authorize-button").length > 0) {
        $("#authorize-button").click(onLoginClick);
      }
    }
    
    function onLoginClick() {
      // $("#modalLoading").modal();
      // alert("yeah");
      gapi.auth.authorize({ client_id: clientId, scope: scopes, immediate: false }, onConnect);
    }
    
    function onConnect(authResult) {
      // alert("On connect");
      if (authResult && !authResult.error) {
        alert("Hey");
        accessToken = authResult.access_token;
        triggerLogin();
      } else {
        alert("Error");
      }
    }
    
    triggerLogin = function() {
      alert("Triggering login");
      $("#modalLoading").modal();
      $.ajax({
        url: window.config.site_root + "account/google_login",
        type: "POST",
        data: "access_token=" + accessToken,
        success: onLogin,
        error() {
          onError("Logging In", "starting your session");
        },
      });
    };
    
    onLogin = function(login) {
      alert("Login start");
      $("#modalLoading").modal("hide");
      if (login.operation) {
        location.reload();
      } else {
        alert("Register will start");
        triggerRegistration();
      }
    };
    
    triggerRegistration = function() {
      $("#modalLoading").modal();
      $.ajax({
        url: window.config.site_root + "account/google_registration",
        type: "POST",
        data: "access_token=" + accessToken,
        success: onRegistration,
        error() {
          alert("An Error");
        },
      });
    };
    
    onRegistration = function(data) {
      alert("Handling register");
      $("#modalLoading").modal("hide");
      if (data.account_exists) {
        stage.showErrorModal(
          "Account already registered",
          "There is already an account with that email address, are you sure you created an account using this login method?",
        );
      } else if (data.operation) {
        alert("Login now");
        triggerLogin();
      } else {
        alert("Error");
        onError("Registering", "creating your account");
      }
    };
    

    Here is my server side code

     public function google_registration()
                {
                    $access_token = (isset($_POST["access_token"]) && !empty($_POST["access_token"])) ? $_POST["access_token"] : null;
    
    
                    $name = null;
                    $email = null;
                    $account_id = null;
                    $picture = null;
                    $gender = null;
    
                    try
                    {
                        if($access_token)
                        {
                            $me = file_get_contents("https://www.googleapis.com/plus/v1/people/me?access_token=".$access_token);
                            if($me)
                            {
                                $me = json_decode($me);
                                $name = $me->name.formatted;
                                $email = $me->email;
                                $account_id = $me->id;
                                $picture = $me->image;
                                $gender = ($me->gender == "female") ? 1 : 0;
                            }
                        }
                    }
                    catch(Exception $error)
                    {
                        // let the system handle the error quietly.
                    }
                    return $this->service_registration("google", $name, $email, $account_id, $picture, $gender);
    
                }