Google_AuthException: invalid_grant

Я пытаюсь настроить config.php со своими значениями, но я получаю эту фатальную ошибку:

Неустранимая ошибка: необработанное исключение "Google_AuthException" с сообщением "Ошибка при получении токена доступа OAuth2, сообщение:" invalid_grant ".

Я ввел идентификатор клиента, секретный ключ, простой ключ API, базу данных и базу данных sqlite, как указано в документации: https://developers.google.com/glass/quickstart/php

Есть идеи, что я делаю не так?

Заранее спасибо!

2 ответа

Это происходит, когда URL-адрес, на котором вы размещаете свою Glassware, не указан в качестве действительного URI перенаправления OAuth 2.0 на консоли API. Выполните эти шаги, чтобы решить это.

  1. Сначала определите ваш URI перенаправления OAuth 2.0. Это где движение идет в конце танца OAuth. Правильное значение зависит от того, где вы запускаете быстрый запуск php. Если вы используете его на локальном веб-сервере, скорее всего, http://localhost/mirror-quickstart-php/oauth2callback.php, Если вы запускаете его на example.com, это может быть https://example.com/oauth2callback.php,
  2. Перейдите в консоль API. Эта ссылка приведет вас к правой панели (сервисам), но дважды проверьте, что вы находитесь на правильном проекте.
  3. Прокручивая вниз, вы должны увидеть раздел страницы, который выглядит следующим образом: введите описание изображения здесь, Нажмите "Изменить настройки...".
  4. Это вызывает всплывающее окно, где вы можете ввести свои URI перенаправления OAuth. Добавьте ваш URI перенаправления в верхнюю текстовую область. Убедитесь, что каждый URI размещен в отдельной строке.введите описание изображения здесь
  5. Перезагрузите страницу для PHP Quick Start, и все должно работать.

Если у вас все еще есть проблема, пожалуйста, поделитесь полным сообщением об ошибке на странице и значением для базового URL в config.php,

Если вы получаете invalid_grant ошибка от Google: вместо использования client ID из консоли разработчика Google, как ваше значение для client ID в коде попробуйте использовать email address значение из консоли разработчика. Это на самом деле то, что они ожидают. Итак, для подтверждения - значение для Client ID должно быть значением от окончания консоли разработчика @developer.gserviceaccount.com

Была аналогичная проблема в среде Windows PS dotnet при попытке подключиться к проекту DialogFlow Google Cloud в последнее время, и это выглядело как периодическая ошибка, но она оказалась глобальной. $env:GOOGLE_APPLICATION_CREDENTIALS в Windows PowerShell указывал на набор файлов ключей при первой настройке доступа к GCloud за несколько дней до и после повторного создания ключей в консоли GCP

После создания нового файла ключей и установки его с новым сгенерированным файлом ключей с помощью $env:GOOGLE_APPLICATION_CREDENTIALS="[Path_To_JSON_Key_File]" проблема исчезла, но исправление длилось только до тех пор, пока окно было открыто, а затем через некоторое время запустилось $env:GOOGLE_APPLICATION_CREDENTIALS в только что открывшемся окне PS и заметил, что он все еще указывает на старый ключевой файл!

установка переменной системной среды GOOGLE_APPLICATION_CREDENTIALS к стоимости [Path_To_JSON_New_Key_File] исправил это, все недавно открытые окна PS имели правильный файл ключа и правильно аутентифицировались с использованием учетной записи службы, и после этого работали вызовы.Net Google Cloud API

Другие вопросы по тегам