Если вы проверите исходный код для библиотеки client.php
/**
* Set the prompt hint. Valid values are none, consent and select_account.
* If no value is specified and the user has not previously authorized
* access, then the user is shown a consent screen.
* @param $prompt string
*/
public function setPrompt($prompt)
{
$this->config['prompt'] = $prompt;
}
Я не думаю, что вы можете иметь оба, я думаю, вы должны установить его на один или другой
$client->setPrompt('consent');
, что может означать, что в учебнике, за которым вы следите, есть ошибка.
Мой код
$client = new Google_Client();
$client->setAccessType("offline"); // offline access. Will result in a refresh token
$client->setIncludeGrantedScopes(true); // incremental auth
$client->setAuthConfig(__DIR__ . '/client_secrets.json');
$client->addScope(Google_Service_Calendar::CALENDAR_READONLY);
$client->setRedirectUri(getRedirectUri());
мой код Oauth2Authentication.php и oauth2callback.php