我已根据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
。这些都没有改变我的输出。
如何指定我的身份验证参数?
答案 0 :(得分:2)
如果您的应用配置为使用OpenID进行登录,则可能会发生这种情况 - OpenID与remote_api不兼容。
此博客文章描述了问题和解决方案:
http://blog.notdot.net/2010/06/Using-remote-api-with-OpenID-authentication
解决方案是在Python中 - 您可能能够在Java中执行相同的操作(或将一些Python代码上载到应用程序的不同版本,仅用于远程API)。