Google からも PHP からもエラーがまったく返されないという大きな問題があります。
私は、Google クライアントの oauth2 接続モデルを作成しました。これは、Mac の開発環境で実行しているときに完全に機能します (単純なローカルホストを使用していません。実際には、プロダクションをミラーリングするために使用しているものは vagrant です)。サーバーに可能な限り)、本番環境にプッシュすると機能しません。
エラーを返さないだけです。コードは、Google からの認証コードがある部分に到達し、それをトークン ( $client->authenticate($auth_code) ) と交換しようとしている部分でハングします。
開発サイト (ちなみに公開リンクがあり、別のパブリック IP アドレスからアクセスしようとしました) ですべてがエラーなしで完全に機能しているため、何が間違っているのか本当にわかりません。
コードをライブサーバーにプッシュした瞬間、認証が停止します。すべての運用サーバーに正しい oauth 資格情報が設定されています。リダイレクト URI は正しいです。私は単に何が間違っているのか分かりません...
コードの一部を次に示します (繰り返しますが、公開されている 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);
どんな助けでも大歓迎です!