(403) L'API Legacy People > n'a pas été utilisée auparavant dans le projet XXXXXXXX ou est désactivée dans Codeigniter
P粉201448898
2023-08-25 22:54:55
<p>J'utilise la connexion Google et cela fonctionnait bien il y a quelques mois, mais maintenant, lorsque j'essaie de me connecter, l'erreur suivante apparaît : </p>
<blockquote>
<p>Type d'exception non interceptée rencontré : Google_Service_Exception</p>
<p>Message : Erreur lors de l'appel de GET
https://www.googleapis.com/plus/v1/people/me : (403) Ancienne version de l'API People
Non utilisé auparavant dans le projet XXXXXXXX ou désactivé. activer
y accéder via
https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=XXXXXXXX
Puis réessayez. Si vous avez récemment activé cette API, veuillez patienter quelques minutes
propager à notre système et réessayer l’opération.</p>
</blockquote>
<p>Visitez le lien affiché</p>
<pre class="brush:php;toolbar:false;">"Échec du chargement."
"Une erreur s'est produite lors du chargement de /apis/....googleapis.com/overview?project=<project_id> Veuillez réessayer."</pre>.
<p>J'ai également activé l'API <code>People</code></p>
<p>Mais j'obtiens toujours le même message d'erreur</p>
<p>J'ai activé l'API : </p>
<p>Veuillez fournir une solution, merci</p>
<p>Code :</p>
<pre class="brush:php;toolbar:false;"><?php
require_once('Google/autoload.php');
classe Google {
$CI protégé ;
fonction publique __construct($url){
$this->CI =&get_instance();
$this->CI->load->library('session');
$this->CI->config->load('google_config');
$this->client = new Google_Client();
$this->client->setClientId($this->CI->config->item('google_client_id'));
$this->client->setClientSecret($this->CI->config->item('google_client_secret'));
$this->client->setRedirectUri($url[0]);
$this->client->setScopes(array(
"https://www.googleapis.com/auth/plus.login",
"https://www.googleapis.com/auth/plus.me",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile"
)
);
}
fonction publique get_login_url(){
return $this->client->createAuthUrl();
}
fonction publique valider(){
if (isset($_GET['code'])) {
$this->client->authenticate($_GET['code']);
$_SESSION['access_token'] = $this->client->getAccessToken();
}
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
$this->client->setAccessToken($_SESSION['access_token']);
$plus = nouveau Google_Service_Plus($this->client);
$personne = $plus->people->get('moi');
$info['id']=$person['id'];
$info['email']=$person['emails'][0]['value'];
$info['name']=$person['displayName'];
$info['link']=$person['url'];
$info['profile_pic']=substr($person['image']['url'],0,strpos($person['image']['url'],"?sz=50")) . '?sz=800';
renvoie $info ;
}
}
}≪/pré>
<blockquote>
<p>GoogleConfig.php</p>
</blockquote>
<pre class="brush:php;toolbar:false;">$config['google_client_id']="XXXXX.apps.googleusercontent.com";
$config['google_client_secret']="XXXX";</pre>
<p>控制器:</p>
<pre class="brush:php;toolbar:false;">$this->load->library('google',array(base_url().$this->config->item(' google_redirect_url_signin')));
$this->data['google_redirect_url_signin']=$this->google->get_login_url();</pre>
<p>查看:</p>
<pre class="brush:php;toolbar:false;"><button onclick="location.href ='<?=$google_redirect_url_signin?>';" class="loginBtn loginBtn--google">
Connectez-vous avec Google
</bouton></pre></p>
L'API est désactivée.
Ce message d'erreur est dû à Google Cloud Console 上的项目未启用此 api 造成的一个> .
Pourquoi il n'est pas activé est une question à laquelle je ne peux pas répondre.
Pour résoudre ce problème, accédez à Google Cloud Console
sous BibliothèquesAPI de recherche de personnes
Cliquez dessus
Cliquez ensuite sur le bouton Activer pour ma gestion d'affichage car il est déjà activé.
Échec du chargement
L'erreur d'échec du chargement peut signifier deux choses.
Feu
Le message d'erreur me rend un peu confus. Cela semble impliquer que vous utilisez ce point de terminaison
https://www.googleapis.com/plus /v1/people/me
. Je pense que tous les points de terminaison Google Plus API ont été renommés People API il y a quelques années. Vous devriez utiliser people.get Cela me fait me demander si Google vient de désactiver quelque chose que vous utilisez toujours.Portée
Veuillez essayer de supprimer ces étendues de votre application
Ils appartiennent à l'ancienne gamme Google Plus et n'existent plus maintenant. Les informations personnelles et l’e-mail devraient suffire.