Ошибка 400: Неверное приглашение для Google Calendar API PHP - PullRequest
0 голосов
/ 03 декабря 2018

Я использую коды из документации Google. Ссылка

Мои коды такие,

$client = new Google_Client();
$client->setApplicationName('Google Calendar API PHP Quickstart');
$client->setScopes(Google_Service_Calendar::CALENDAR_READONLY);
$client->setAuthConfig('credentials.json');
$client->setAccessType('offline');
$client->setPrompt('select_account consent');

Но когда я запускаю это, выдает ошибку.

400. That’s an error.
Error: invalid_request
Invalid parameter value for prompt: Invalid prompt: select_account consent/calendar

Пожалуйста, помогите.
Заранее спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Если вы проверите исходный код для библиотеки 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

...