2016-10-18 4 views
0

В локальной среде разработки команда upload_data не запускает браузер для OAuth. Почему это?!?appcfg.py upload_data не запрашивает аутентификацию локально

Код работает отлично в App Engine, но не в локальной среде разработки. Есть ли уловка для использования удаленного API для среды dev.

Вот как я использую команду ...

appcfg.py upload_data --config_file=bulkloader.yaml --filename=./stops.txt --kind=StopLocationLoader --url=http://localhost:8082/_ah/remote_api 
10:39 PM Uploading data records. 
[INFO ] Logging to bulkloader-log-20161017.223916 
[INFO ] Throttling transfers: 
[INFO ] Bandwidth: 250000 bytes/second 
[INFO ] HTTP connections: 8/second 
[INFO ] Entities inserted/fetched/modified: 20/second 
[INFO ] Batch Size: 10 
Error 401: --- begin server output --- 
You must be logged in as an administrator to access this. 
--- end server output --- 

ответ

0

Это ошибка: https://code.google.com/p/googleappengine/issues/detail?id=12445

Это ссылки на обходной путь, публикуемую для another question:

gcloud auth login 
gcloud auth print-access-token 
appcfg.py upload_data --oauth2_access_token=<oauth2_access_token> --config_file bulkloader.yaml --url=http://<yourproject>.appspot.com/remote_api --filename places.csv --kind=Place --email=<[email protected]> 
+0

ваш пример использует appspot .com. намеренным? У меня нет проблем с загрузкой загрузчика. только в локальной среде разработки. – Greg

+0

Я попытался использовать ваше решение и указал на localhost, и ошибка отличается. теперь я получаю 401 с ошибкой, «ошибка»: «invalid_grant» – Greg

+0

Вы правы, я смешал это! Однако ссылка на этот вопрос действительно верна. Он содержит [несколько] (https://code.google.com/p/googleappengine/issues/detail?id=12445#c20) [обходные пути] (https://code.google.com/p/googleappengine/issues/ detail? id = 12445 # c21) для devserver, если вы используете Python и даже [для Java] (https://code.google.com/p/googleappengine/issues/detail?id=12445#c23). Скажите, если это поможет, в этом случае я обновлю свой ответ соответствующим образом. – TomTasche