Я кодирую приложение PHP, которое обращается к данным, хранящимся в Google Maps Engine. Я создал идентификатор клиента для веб-приложений в консоли API. Таким образом, я могу разрешить моему приложению получать доступ к моим данным GME с помощью Google API PHP client. Пока нет проблем.Разрешить веб-приложение PHP + приложение GDAL использовать службы Google через OAuth2
Мое веб-приложение в один конкретный момент, вызовет системный двоичный код (ogr2ogr), которому также необходимо получить доступ к данным, хранящимся в Google Maps Engine. Таким образом, я сделал вид, что использовать GME driver и передать в качестве параметров конфигурации:
- ID клиента, секрет клиента и ключ API (с идентификатором клиента, я создал в консоли API)
- аутентификации маркер и обновить маркер (с разрешения ответ)
Но здесь возникает проблема:
Когда я пытаюсь, чтобы позвонить ogr2ogr используя предыдущие параметры авторизации, возвращает HTTP 400 ошибки: попытку использовать код авторизации OAuth2 много раз. Похоже, токен обновления, который я передаю, недействителен.
Углубляясь в проблему, я нашел что-то я не понимаю: Google API консоли позволяет создавать идентификатор клиента для веб-приложений, но не делает разницы между стороне клиента и сервера приложения сторонние приложения. И документация Google OAuth2 делает эту разницу:
Таким образом, теоретически, ИД клиента Я создал это для клиента приложения на стороне, и я использую он с серверной стороны приложения (PHP)
Итак, мои вопросы:
- Как я могу создать идентификатор клиента в консоли API, который можно использовать как для: PHP приложений и ogr2ogr двоичная (я тестировал ogr2ogr бинарного с ID клиента для установленных приложений и она прекрасно работает, но этот идентификатор клиента нельзя использовать для приложения PHP).
- Почему консоль API не влияет на идентификатор клиента для клиентских веб-приложений и серверных веб-приложений, как это делает документация? Ясно, что я что-то недопонимаю. Например, this tutorial использует идентификатор клиента для веб-приложений для PHP кода (но только для веб-приложения, а не для вызова другой программы, которая также нуждается в авторизации)
Большое спасибо заранее
Прохладный! Нужно ли мне обновлять GDAL с багажника и перекомпилировать его, чтобы использовать это? – jorgeas80
Работал как очарование! Большое спасибо! – jorgeas80