Keep getting a "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup" when attempting to google plus login on my web app
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
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);'
Michael Nana
Updated on July 08, 2022Comments
-
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); }