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