2013-04-28 4 views
5

내가 설정 내 값으로 config.php에 노력하고있어하지만 난이 치명적인 오류 :Google_AuthException : invalid_grant

치명적인 오류 : 메시지 catch되지 않은 예외 'Google_AuthException' '오류 가져 오는으로 OAuth2 액세스 토큰, 메시지 :' invalid_grant '. https://developers.google.com/glass/quickstart/php

내가 잘못 무엇인지 어떤 생각 : 문서가 여기에 말한대로

나는 클라이언트 ID, 비밀, 간단한 API 키, 위치 및 SQLite 데이터베이스를 입력

미리 감사드립니다.

답변

2

Glassware를 호스팅하는 URL이 API 콘솔에 올바른 OAuth 2.0 리디렉션 URI로 나열되지 않은 경우 이런 일이 발생합니다. 이 문제를 해결하려면 다음 단계를 따르십시오.

  1. 먼저 OAuth 2.0 리디렉션 URI를 결정하십시오. 이것은 트래픽이 OAuth 댄스의 끝 부분에있는 곳입니다. 올바른 값은 PHP 빠른 시작을 실행하는 위치에 따라 다릅니다. 로컬 웹 서버에서 실행중인 경우 http://localhost/mirror-quickstart-php/oauth2callback.php 일 수 있습니다. example.com에서 실행중인 경우 https://example.com/oauth2callback.php 일 수 있습니다.
  2. API console으로 이동하십시오. 이 링크를 클릭하면 올바른 패널 (서비스)로 연결되지만 올바른 프로젝트에 있는지 다시 확인하십시오.
  3. 아래로 스크롤하면 페이지의 일부분 (예 : enter image description here)이 표시됩니다. '설정 수정 ...'을 클릭하십시오.
  4. OAuth 리디렉션 URI를 입력 할 수있는 팝업 창이 표시됩니다. 상단 텍스트 영역에 리디렉션 URI를 추가하십시오. 각 URI를 고유 한 줄에 넣어야합니다. enter image description here
  5. PHP 빠른 시작을 위해 페이지를 새로 고침하면 모든 것이 작동합니다.

여전히 문제가있는 경우 페이지의 전체 오류 메시지와 기본 URL에 대한 값을 config.php에 공유하십시오.

+2

이 경우 오류 메시지가 redirect_uri_mismatch가 아니겠습니까? invalid_grant는 콜백 이후에 "코드 교환 단계"동안 오류가 발생하는 것처럼 들리지만, 어떻게 일어날 지 확신 할 수는 없지만 ... – Scarygami

+0

Ahh 좋은 지적입니다. @ user2328837, 대답으로 문제가 해결되지 않으면 동일한 계정에서 OAuth 흐름을 따라야합니다. 리디렉션으로 이어지는 코드를 재사용하거나 서버 측 교환시 클라이언트 ID가 일치하지 않는 것도 원인 일 수 있습니다. – mimming

+0

안녕 제니, 사전에 도움에 감사드립니다! 하위 도메인 http://glass.misinspiraciones.com/에서이 내용을 테스트하고 있습니다. – user2328837

0

당신이 구글에서 invalid_grant 오류가 발생하는 경우 대신의 코드에서 client ID 대한 값으로 client ID 구글에서 개발자 콘솔을 사용하여, 개발자 콘솔에서 email address 값을 사용해보십시오. 이것은 실제로 그들이 기대하는 것입니다. 따라서 확인하려면 Client ID의 값은 개발자 콘솔의 값이어야합니다. @developer.gserviceaccount.com