検索

ホームページ  >  に質問  >  本文

(403) レガシー People API > はプロジェクト XXXXXXXX で以前に使用されていないか、Codeigniter で無効になっています

<p>Google ログインを使用しており、数か月前までは正常に動作していましたが、現在ログインしようとすると次のエラーが表示されます。</p> <ブロック引用> <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;">「読み込みに失敗しました。」 「/apis/....googleapis.com/overview?project=<project_id> の読み込み中にエラーが発生しました。もう一度お試しください。」</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'); クラス Google { 保護された $CI; パブリック関数 __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」 ) ); } パブリック関数 get_login_url(){ return $this->client->createAuthUrl(); } パブリック関数 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 = 新しい 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 を返します。 } } }</pre> <ブロック引用> <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"> Googleでログイン </button></pre></p>
P粉201448898P粉201448898445日前622

全員に返信(1)返信します

  • P粉790819727

    P粉7908197272023-08-26 20:10:13

    API が無効になっています。

    このエラー メッセージは Google Cloud Console が原因です。

    なぜ有効になっていないのかという質問には答えることができません。

    この問題を解決するには、[ライブラリ] の下の Google Cloud Console

    に移動してください。

    人材APIの検索

    ###クリックして###

    次に、[有効にする] ボタンをクリックして、管理がすでに有効になっていることを表示します。

    ###読み込みに失敗しました###

    ロード失敗エラーには 2 つの意味があります。

    このアプリケーションの実行に使用している

    Google Cloud Console

    で使用していたプロジェクトが誰かに削除されました。
    1. Google Cloud Console でプロジェクトへのアクセス権が誰かに削除されました 管理者を調べて、上記のエラーを修正してもらいます。
    2. ###燃えている###
    3. エラー メッセージを見て少し混乱しました。これは、このエンドポイント https://www.googleapis.com/plus /v1/people/me を使用していることを意味しているようです。数年前に、すべての Google Plus API エンドポイントの名前が People API に変更されたと思います。
    4. people.get
    を使用する必要があります。このことを考えると、あなたがまだ使用しているものを Google が無効にしただけなのではないかと疑問に思います。

    ###範囲###

    これらのスコープをアプリから削除してみてください

    https://www.googleapis.com/auth/plus.login

    https://www.googleapis.com/auth/plus.me

    • これらは、現在は存在しない古い Google Plus スコープです。個人情報と電子メールで十分です。

      返事
      0
  • キャンセル返事