У меня есть огромная проблема, при которой абсолютно не возвращается ошибка от google и php.API-интерфейс Google Диска oauth2 зависает на реальном сервере и не возвращает ошибки при аутентификации с помощью auth_code
Я написал модель подключения google client oauth2, которая отлично работает, когда я запускаю ее в своей среде dev на моем mac (я не использую простой локальный хост, на самом деле это бродяга, что я использую чтобы максимально отражать производственный сервер), но он не работает, когда я подталкиваю его к производству.
Это просто не возвращает никаких ошибок. Код достигает той части, где у меня есть код auth от Google, и он зависает в той части, где я пытаюсь ее обменять на токен ($ client-> authenticate ($ auth_code)).
Я действительно не знаю, что я делаю неправильно, так как все работает отлично без ошибок на сайте dev (кстати, у него есть общедоступная ссылка, и я пытался получить доступ к нему с разных общедоступных IP-адресов).
В тот момент, когда я нажимаю код на живой сервер, он просто прекращает аутентификацию. У меня есть правильные учетные данные oauth, настроенные для каждого производственного сервера, перенаправление uri является правильным. Я просто не знаю, что я делаю неправильно ...
Вот часть кода (я повторяю, он прекрасно работает на сервере Dev с общедоступного URL):
$this->client = new Google_Client();
$this->credentials_path . '/client_secret.json'
$this->client->setAuthConfigFile($this->credentials_path . '/client_secret.json');
$this->client->setAccessType('offline');
$this->client->setRedirectUri($this->redirect_uri);
$this->client->addScope(Google_Service_Drive::DRIVE_READONLY);
$this->client->authenticate($auth_code); //this is the part where the code hangs on a live server, but works perfectly on dev
$this->token = json_encode($this->client->getAccessToken());
$this->client->setAccessToken($this->token);
$this->writeTokenToFile($this->token);
if ($this->client->isAccessTokenExpired()) {
$this->client->refreshToken($this->token);
}
$google_drive_service = new Google_Service_Drive($this->client);
Любая помощь будет очень ценим!