많은 유사한 질문이 있습니다. 'invalid_grant'가 Google api에서 얻은 유일한 '답변'이지만, 모두 오래된 것입니다. 같은 메시지에.OAuth2 토큰을 새로 고침하는 중 오류가 발생했습니다. @ Google_CalendarServices (PHP)
이상한 부분은이 '물건'이 2 일 전에는 작동하지 않는다는 것입니다. Google CRM에서는 GoogleAccount와 관련된 Google 캘린더로 회의를 예약합니다. 이제 우리는 지난 2 일 동안 문제가 발생 했었고 결코 전에는 발생하지 않았습니다.
응용 프로그램은 다음과 같이 실패
Google_HttpRequest Object ( [batchHeaders:Google_HttpRequest:private] => Array ( [Content-Type] => application/http [Content-Transfer-Encoding] => binary [MIME-Version] => 1.0 [Content-Length] => ) [url:protected] => https://accounts.google.com/o/oauth2/token [requestMethod:protected] => POST [requestHeaders:protected] => Array ( [content-type] => application/x-www-form-urlencoded [content-length] => 196 ) [postBody:protected] => client_id=111111111.apps.googleusercontent.com&client_secret=secretSECTRETsecretSECRET&refresh_token=1%2FveryLONGtokenSTRINGhafbuaADDFR&grant_type=refresh_token [userAgent:protected] => Google Calendar PHP Starter Application google-api-php-client/0.6.0 [responseHttpCode:protected] => 400 [responseHeaders:protected] => Array ( [content-type] => application/json; charset=utf-8 [cache-control] => no-cache, no-store, max-age=0, must-revalidate [pragma] => no-cache [expires] => Mon, 01 Jan 1990 00:00:00 GMT [date] => Thu, 10 Nov 2016 01:05:15 GMT [x-content-type-options] => nosniff [x-frame-options] => SAMEORIGIN [x-xss-protection] => 1; mode=block [server] => GSE [alt-svc] => quic=":443"; ma=2592000; v="36,35,34" [accept-ranges] => none [vary] => Accept-Encoding [transfer-encoding] => chunked ) [responseBody:protected] => { "error" : "invalid_grant" } [accessKey] => )
것은 그래, 우리는 이전 버전을 사용하지 새로운 것을 :
이Fatal error: Uncaught exception 'Google_AuthException' with message 'Error refreshing the OAuth2 token, message: '{"error" : "invalid_grant";} Stack trace: #0 /path/to/plugins/google-api-php-client/src/auth/Google_OAuth2.php(240): Google_OAuth2->refreshTokenRequest(Array) #1 /path/to/plugins/google-api-php-client/src/auth/Google_OAuth2.php(217): Google_OAuth2->refreshToken('1/ourtoken...') #2 /path/to/plugins/google-api-php-client/src/service/Google_ServiceResource.php(167): Google_OAuth2->sign(Object(Google_HttpRequest)) #3 /path/to/plugins/google-api-php-client/src/contrib/Google_CalendarService.php(494): Google_ServiceResource->__call('insert', Array)
이 실제 HTTP 응답입니다. 예, 계정이 실시간입니다. 삽입하려는 캘린더가 있습니다. 어떤 특권이나 암호도 변경/재설정되지 않았습니다. 우리는 우리 달력을 모두 시험해 보았습니다. 전혀 성공하지 못했습니다. 그리고 개발자 키를 사용하지 않고 오프라인으로 액세스 유형을 설정하고 서버 시간을 동기화하는 등의 사소한 변경/해킹도 시도했습니다 ...
사실 파산되기 전에 모든 작업을 수행하지 않았습니다. 따라서 한 가지 질문이 있습니다. Google이 행동/코드 또는 기타에서 뭔가를 변경 했습니까? 아니면 (deprecated/deleted 함수처럼) 뭔가를 놓쳤습니까? 내 대학의
편집 # 1
하나는 사실에 뭔가를 변경했다. (편집 섹션 끝 부분에 대한 자세한 내용)
우리는 하나의 '기본'Google 계정, 위트 개발자 키와 clientid 및 모든 것을 가지고 있으며이 계정에도 1 개의 캘린더가 있습니다.
우리 동료보다 여러 다른 Google 계정이 있습니다. 기본 캘린더에서 캘린더로, 또는 그 반대로 부여합니다. Google의 CMS에서는 동료 캘린더 중 하나에 일정 (따라서 Google_CalendarService에 삽입)을 추가하려고합니다.
우리 동료 중 한 명이 직장을 그만 두었고 대학생이 HIS 암호를 변경합니다. 그리고 교부금이 제거되었습니다. 월요일 16시에 일어 났고 화요일 아침에 첫 번째 오류가 발생했습니다. 이 하나의 Google 계정의 변경이 다른 모든 사람의 행동에 영향을 미칠 수 있습니까? 메인 캘린더 계정의 동작 ???
- EDIT 번호의 끝은 사람이 이런 비슷한 일을 경험하고, 몇 가지 조언을주지하시기 바랍니다 해결하기 위해 관리 1
합니다. 고맙습니다!
Gmail 범위 중 하나를 사용하고 있습니까? 최근에 사용자가 비밀번호를 변경했을 가능성이 있습니까? "구글은 행동/코드 등에서 뭔가를 바 꾸었습니까?" 나는 확실하지 않지만 지난 몇 주 동안 많은 질문을 보았습니다. 나는 Google 연락처를 확인하고있다. – DaImTo
안녕하세요 @DaImTo, 의견을 보내 주셔서 감사합니다. 우리는 어떤 범위를 명시 적으로 정의하지 않고, 사용법에 대한 약간의 정보를 제공하기 위해 설명을 편집 할 것입니다. 귀하의 Google 사람으로부터 피드백은 아주 좋을 것입니다. 건배 – solotherm
좀 더 명확히하겠습니다. 사용자를 인증 할 때 최소한 Google 캘린더 범위를 요청해야합니다. 다른 권한을 요청하고 있습니까? – DaImTo