private function getAccessToken(User $user)
 {
     $currentTime = new \DateTime();
     $accessToken = $user->getAccessToken();
     if ($currentTime >= $user->getExpireTime()) {
         $accessTokenData = json_decode($user->getAccessTokenData());
         $tokenResponse = $this->refreshToken($accessTokenData->refresh_token);
         $accessToken = $tokenResponse->access_token;
         $currentTime->add(new \DateInterval("PT3600S"));
         $user->setAccessToken($accessToken);
         $user->setExpireTime($currentTime);
         $user->setAccessTokenData(json_encode($tokenResponse));
         $this->entityManager->merge($user);
         $this->entityManager->flush();
     }
     return $accessToken;
 }