Google 클라이언트 코드를 사용하여 Google API에서 새로 고침 토큰을 얻으려고했습니다. 그것은 내가 서버 측에 보내는 코드를 반환합니다. 이제 서버 측에서 나는이 호출 구글-API-PHP 클라이언트를 사용하여 토큰 새로 고침을 얻기 위해 코드를 전송 및 액세스 토큰 을 사용하고 있습니다 : 내가 구글 놀이터에서 동일한 코드를 사용하지만Google API PHP 클라이언트 코드가 새로 고침 토큰을 반환하지 않습니다.
https://www.googleapis.com/oauth2/v4/token
내가 얻을 뿐만 아니라 새로 고침 토큰으로 응답하지만 난이 내가 몇 가지 답변에서 언급 한 바와 같이 액세스 유형이 오프라인으로 설정 한 코드
public function getRefreshToken($code)
{
$client = new Google_Client();
$client->setClientId(config('services.google.client_id'));
$client->setClientSecret(config('services.google.client_secret'));
$client->setRedirectUri('postmessage');
$client->setScopes(config('services.google.scopes'));
$client->setAccessType("offline");
$client->setApprovalPrompt("force");
dd($client->authenticate($code));
dd($client->getRefreshToken());
return ;
}
하지만 여전히 나는 응답을 얻을 .. 내 자신의 서버에서 그것을 얻을하지 않습니다 새로 고침 토큰 ..이 응답은
입니다.access_token :"xxxxxxxxxxxxxxxxxxxxxx"
created:1510242052
expires_in:3598
id_token:"xxxxxxxx"
token_type:"Bearer"
"원래 매개 변수가 필요합니다"라는 오류가 발생했습니다. –
새로 고침 토큰을 다시 받으시겠습니까? 언제이 오류가 발생합니까? 처음 Google에 갈 때? 'authenticate()'를 호출하면? 실제로 access_token을 사용하려고 할 때? 이 오류는 Maps API 오류처럼 들릴 수 있습니다 ... 그게 당신이 소비하려고하는 것입니까? –
나는 여기에서 말할 두 가지가있다. 1. 먼저이 질문에 대해 현상금을 내야하는 이유는 무엇입니까? 아무도 아직이 질문에주의를 기울이지 않은 곳에서는 답변을하지 못했습니다. 2. GOOGLE DOCUMENTS에는 아무 것도 언급되어 있지 않습니다. 왜 이렇게이다 ? –