appcfg.py create_bulkloader_config возвращает «Ошибка аутентификации», даже не запрашивая у меня аутентификацию - PullRequest
3 голосов
/ 14 ноября 2010

У меня есть приложение Java appengine с remote_api, установленным согласно http://ikaisays.com/2010/06/10/using-the-bulkloader-with-java-app-engine/

 <servlet>
  <servlet-name>RemoteApi</servlet-name>
  <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
 </servlet>

 <servlet-mapping>
  <servlet-name>RemoteApi</servlet-name>
  <url-pattern>/remote_api</url-pattern>
 </servlet-mapping>

Когда я захожу на myapp.appspot.com/remote_api с веб-браузером, я вижу сообщение «Этозапрос не содержит необходимого заголовка ", который, как я понимаю, ожидается.

Но когда я запускаю appcfg.py create_bulkloader_config --url=http://APPID.appspot.com/remote_api --application=APPID --filename=config.yml из моей командной строки (с соответствующим APPID), я получаю

C:\ag\dev>appcfg.py create_bulkloader_config --url=https://correctid.appspot.c
om/remote_api --application=correctid --filename=config.yml
Creating bulkloader configuration.
[INFO    ] Logging to bulkloader-log-20101114.081901
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
[INFO    ] Opening database: bulkloader-progress-20101114.081901.sql3
[INFO    ] Opening database: bulkloader-results-20101114.081901.sql3
[INFO    ] Connecting to correctid.appspot.com/remote_api
[INFO    ] Authentication Failed

C:\ag\dev>

IЯ уже попробовал параметр no_cookies, который не помог.Я также пытался использовать -e correctadminmail@gmail.com.Ни один из них вообще не изменил мой вывод.

Как я могу указать свои параметры аутентификации?

1 Ответ

2 голосов
/ 14 ноября 2010

Это может произойти, если ваше приложение настроено на использование OpenID для входа в систему - OpenID не совместим с remote_api.

В этом блоге описывается проблема и решение:

http://blog.notdot.net/2010/06/Using-remote-api-with-OpenID-authentication

Решение в Python, хотя - вы можете сделать что-то эквивалентное в Java (или загрузить некоторый код Python в другую версию вашего приложения, только для удаленного API).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...