Я пытаюсь написать программу, которая будет работать с заданием cron и подталкивать новую таблицу к Google Maps Engine.
Немного поработав с OAuth, я узнал, что вы можете аутентифицировать вычислительные ресурсы Google. Виртуальная машина Engine (GCE) для доступа к заданному списку API без необходимости каждый раз входить в систему. Я подумал, что это отличное решение, и начал с ним возиться.
Я думаю, что у меня все настроено правильно, но должно быть что-то, что мне не хватает, потому что я не могу делать запросы на чтение или запись с машины. Я создал экземпляр машины с помощью этого вызова:
gcloud compute instances create <INSTANCE_NAME> --scopes https://www.googleapis.com/auth/mapsengine
И я запрашиваю токен, отправляя запрос, описанный на странице документации, указанной выше (metadata / computeMetadata / v1 ......).
Однако когда я делаю запрос к API Maps Engine, я получаю сообщение об ошибке, говорящее, что у меня нет доступа для чтения / записи (в зависимости от того, какой вызов я делаю).
Когда я создал экземпляр виртуальной машины, я сделал это с правильным активным проектом консоли разработчика, который включает доступ к Maps Engine API.
Я думаю, проблема может заключаться в том, что мой проект разработчика почему-то не знает о моей учетной записи Maps Engine, хотя все она находится в одной учетной записи Google. Причина, по которой я думаю, это потому, что я не получаю (например, 0) результатов, когда пытаюсь прочитать свои активные проекты Maps Engine. Этот запрос проходит, но возвращается пустым. Но когда я запрашиваю подробную информацию о конкретной карте, я получаю ошибку noReaderAccess.
Спасибо за любую помощь.
ИЗМЕНИТЬ. Невозможно таким образом аутентифицировать API Maps Engine? Я нашел список областей с псевдонимами в нижней части этого, и я решил, что у остальных API с заданной областью нет псевдонимов. Неужели это единственные поддерживаемые API?