2017-11-14 5 views
0

내가 토큰 다음 URI가 호출 될 때마다 새로 고침을 얻기 위해 노력하고 토큰을 새로 고침 approval_prompt=force이 얻을하기 위해 사용자의 승인을 위해 모든 시간을 요청해야대로 작동하지 않는 그러나각 시간

String link = "https://www.googleapis.com/oauth2/v4/token/?code=" + code + "&" + "client_id=" + client_id + "&" + "client_secret=" + client_secret + "&redirect_uri=" + redirect_uri + "app/email/emailSetupController/gmailutil&" + "grant_type=authorization_code&" + "access_type=offline&" + "approval_prompt=force"; 

얻기 리프레쉬 토큰 prompt=consent도 사용해 보았습니다. 사용자가 이미 Gmail 계정에 로그인 한 경우 승인 페이지가 표시되지 않고 자동으로 리디렉션되어 새로 고침 토큰이 null로 바뀝니다.

+0

Gmail-api? 나는 당신이 실제로 자바 API를 사용하고 있는지 의심 스럽다. 그런 문자열을 만들면 .. 그냥 문자열이 아닌 다른 줄로 탐색을 확장하라. 둘째, Google에서 제공하는 실제 API 라이브러리를 살펴 보았습니까? https://developers.google.com/gmail/api/quickstart/java – StefanE

+0

[this] (https://github.com/google/oauth2client/issues/453) 문제를 보면 'approval_prompt = force'got와 같은 것 같습니다. 'prompt = consent'로 바뀌 었습니다. 마지막 해결책 만 사용 해보았습니까? – Signo

+0

@Signo 나는 프롬프트 = 동의를 시도했다. 하지만 여전히 사용자 승인 페이지를 요청하지 않습니다. – AJN

답변

0

사실, 위의 URI는 "refresh and access tokens에 대한 Exchange 인증 코드"대신, 승인 매개 변수 Google docs을 설정하는 동안 프롬프트 = 동의가 첫 번째 단계에서 사용됩니다.

감사합니다.