appcfg.py create_bulkloader_config返回“身份验证失败”,甚至没有提示我进行身份验证

时间:2010-11-14 14:28:01

标签: google-app-engine

我已根据http://ikaisays.com/2010/06/10/using-the-bulkloader-with-java-app-engine/安装了remote_api的Java appengine应用程序

 <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>

我已经尝试了no_cookies选项,但没有帮助。我也尝试过使用-e correctadminmail@gmail.com。这些都没有改变我的输出。

如何指定我的身份验证参数?

1 个答案:

答案 0 :(得分:2)

如果您的应用配置为使用OpenID进行登录,则可能会发生这种情况 - OpenID与remote_api不兼容。

此博客文章描述了问题和解决方案:

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

解决方案是在Python中 - 您可能能够在Java中执行相同的操作(或将一些Python代码上载到应用程序的不同版本,仅用于远程API)。