찾다

 >  Q&A  >  본문

(403) Legacy 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> </인용문> <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('세션'); $this->CI->config->load('google_config'); $this->클라이언트 = 새로운 Google_Client(); $this->client->setClientId($this->CI->config->item('google_client_id')); $this->client->setClientSecret($this->CI->config->item('google_client_secret')); $this->클라이언트->setRedirectUri($url[0]); $this->클라이언트->setScopes(배열( "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(); } 공개 함수 유효성 검사(){ if (isset($_GET['code'])) { $this->클라이언트->인증($_GET['code']); $_SESSION['access_token'] = $this->클라이언트->getAccessToken(); } if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $this->클라이언트->setAccessToken($_SESSION['access_token']); $plus = new Google_Service_Plus($this->클라이언트); $person = $plus->people->get('나'); $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'; $정보를 반환합니다. } } }</pre> <인용문> <p>GoogleConfig.php</p> </인용문> <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"> 구글로 로그인 </버튼></pre></p>
P粉201448898P粉201448898461일 전629

모든 응답(1)나는 대답할 것이다

  • P粉790819727

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

    API가 비활성화되었습니다.

    이 오류 메시지는 Google Cloud Console으로 인해 발생합니다.

    왜 활성화되지 않았는지에 대해서는 답변을 드릴 수 없습니다.

    이 문제를 해결하려면 라이브러리 아래의 Google Cloud Console

    으로 이동하세요.

    사람 검색 API

    클릭

    그런 다음 디스플레이 관리가 이미 활성화되어 있으므로 활성화 버튼을 클릭하세요.

    로딩 실패

    로드 실패 오류는 두 가지를 의미할 수 있습니다.

    1. 이 애플리케이션을 실행하는 데 사용 중인 Google Cloud Console에서 누군가가 사용 중이던 프로젝트를 삭제했습니다.
    2. 누군가가 Google Cloud Console에서 프로젝트에 대한 액세스 권한을 삭제했습니다. 관리자가 누구인지 확인하고 위의 오류를 수정하도록 하세요.

    오류 메시지가 좀 혼란스럽습니다. 이는 귀하가 이 엔드포인트 https://www.googleapis.com/plus /v1/people/me를 사용하고 있음을 의미하는 것 같습니다. 내 생각에는 모든 Google Plus API 엔드포인트의 이름이 몇 년 전에 people api로 변경된 것 같습니다. people.get을 사용해야 합니다. 그러면 Google이 귀하가 아직 사용하고 있는 기능을 방금 비활성화한 것은 아닌지 궁금합니다.

    범위

    앱에서 이러한 범위를 제거해 보세요

    이것은 이전 Google Plus 제품군이며 현재는 존재하지 않습니다. 개인 정보와 이메일이면 충분합니다.

    회신하다
    0
  • 취소회신하다