<p>我正在使用 Google 登錄,幾個月前它可以正常工作,但現在當我嘗試登入時,它會出現以下錯誤:</p>
<blockquote>
<p>遇到未捕獲的異常類型:Google_Service_Exception</p>
<p>訊息:呼叫 GET 時發生錯誤
https://www.googleapis.com/plus/v1/people/me:(403) 舊版 People API
之前未在項目 XXXXXXXX 中使用過或已停用。使能夠
透過訪問它
https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=XXXXXXXX
然後重試。如果您最近啟用了此 API,請等待幾分鐘
傳播到我們的系統並重試的操作。</p>
</blockquote>
<p>訪問它顯示的連結</p>
<pre class="brush:php;toolbar:false;">"Failed to load."
"There was an error while loading /apis/.....googleapis.com/overview?project=<project_id>. Please try again."</pre>
<p>我也啟用了 <code>People API</code></p>
<p>但仍收到相同的錯誤訊息</p>
<p>我已啟用 API:</p>
<p>請提供任何解決方案,謝謝</p>
<p>代碼:</p>
<pre class="brush:php;toolbar:false;"><?php
require_once('Google/autoload.php');
class Google {
protected $CI;
public function __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"
)
);
}
public function get_login_url(){
return $this->client->createAuthUrl();
}
public function validate(){
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';
return $info;
}
}
}</前>
<區塊引用>
<p>GoogleConfig.php</p>
</區塊引用>
$config['google_client_id']=“XXXXX.apps.googleusercontent.com”;
$config['google_client_secret']=“XXXX”;</pre>
<p>控制器:</p>
$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></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 範圍,現在不存在。個人資料和電子郵件應該就夠了。