(403) Legacy People API > wurde bisher nicht im Projekt XXXXXXXX verwendet oder ist in Codeigniter deaktiviert
P粉201448898
2023-08-25 22:54:55
<p>Ich verwende die Google-Anmeldung und sie hat vor ein paar Monaten einwandfrei funktioniert, aber jetzt, wenn ich versuche, mich anzumelden, wird die folgende Fehlermeldung angezeigt: </p>
<blockquote>
<p>Nicht erfasster Ausnahmetyp: Google_Service_Exception</p>
<p>Meldung: Fehler beim Aufruf von GET
https://www.googleapis.com/plus/v1/people/me: (403) Alte Version der People API
Bisher nicht im Projekt XXXXXXXX verwendet oder deaktiviert. aktivieren
Zugriff darauf über
https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=XXXXXXXX
Dann versuchen Sie es erneut. Wenn Sie diese API kürzlich aktiviert haben, warten Sie bitte ein paar Minuten
Geben Sie es an unser System weiter und wiederholen Sie den Vorgang.</p>
</blockquote>
<p>Besuchen Sie den angezeigten Link</p>
<pre class="brush:php;toolbar:false;">"Laden fehlgeschlagen."
„Beim Laden von /apis/....googleapis.com/overview?project=<project_id> ist ein Fehler aufgetreten.“</pre>
<p>Ich habe auch die <code>People API</code></p> aktiviert.
<p>Aber es wird immer noch die gleiche Fehlermeldung angezeigt</p>
<p>Ich habe die API aktiviert: </p>
<p>Bitte geben Sie uns eine Lösung, vielen Dank</p>
<p>Code:</p>
<pre class="brush:php;toolbar:false;"><?php
require_once('Google/autoload.php');
Klasse Google {
geschütztes $CI;
öffentliche Funktion __construct($url){
$this->CI =&
$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"
)
);
}
öffentliche Funktion get_login_url(){
return $this->client->createAuthUrl();
}
öffentliche Funktion validieren(){
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 = new Google_Service_Plus($this->client);
$person = $plus->people->get('me');
$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';
$info zurückgeben;
}
}
}</pre>
<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">
Melden Sie sich mit Google an
</button></pre></p>
API 已禁用。
此错误消息是由于 Google Cloud Console 上的项目未启用此 api 造成的一个> .
为什么不启用它是一个我无法回答的问题。
要修复此问题,请转到库下的 Google Cloud Console
搜索人员 API
点击它
然后单击启用按钮,我的显示管理,因为它已经启用。
加载失败
加载失败错误可能意味着两件事。
着火
错误消息让我有点困惑。这似乎暗示您正在使用此端点
https://www.googleapis.com/plus /v1/people/me
。我认为所有的 google plus api 端点几年前都被重命名为 people api。您应该使用 people.get 这让我想知道是否谷歌刚刚禁用了您仍在使用的某些东西。范围
请尝试从您的应用中删除这些范围
它们是旧的 google plus 范围,现在不存在。个人资料和电子邮件应该足够了。