Google App Engine在部署应用时提示“必须先认证。”
在尝试部署任何应用时,Google App Engine 提示“必须先进行身份验证”。
me@myhost /opt/google_appengine $ python appcfg.py update ~/sda2/workspace/lyapapam/
Application: lyapapam; version: 1.
Server: appengine.google.com.
Scanning files on local disk.
Scanned 500 files.
Scanned 1000 files.
Initiating update.
Email: <email_here>@gmail.com
Password for <email_here>@gmail.com:
Error 401: --- begin server output ---
Must authenticate first.
--- end server output ---
我们在任何应用和任何开发者账号下都收到了这个消息。
这是我们安装的内容:
Python - 2.5.5 App Engine SDK - 1.3.2
PIL - 1.1.7 ssl - 1.15
我该如何解决这个问题?这是一个众所周知的问题吗?
更新:
在我刚在同一台安装了 Gentoo 的电脑上安装 Windows 后,确实遇到了时间同步的问题,但我很快通过在注册表中设置 RealTimeIsUniversal,并在两个系统中都与 europe.pool.ntp.org 进行同步来解决了这个问题。(顺便说一下,我的时区是东欧夏令时)
在我解决了时间同步的问题几天后,appcfg.py 在每打印一行后都要求我输入密码(这真的很奇怪),我使用了 --passin 和 Unix 的 'yes ' 命令。
现在我又遇到了“必须先进行身份验证”的问题,我花了很多时间在 Windows 和 Linux 上尝试不同组合的 --passin --insecure --no_cookies 选项,但都没有成功。
3 个回答
有时候,当你的密码里包含特殊字符,比如$
时,也会出现这个错误提示。
它会要求你输入用户名和密码。你是在脚本中运行这个吗?
如果是的话,你可以使用这个选项:--passin
如果提供了这个选项,工具会从标准输入中接受谷歌账户的密码,而不是让你手动输入。这让你可以在脚本中调用这个工具,而不需要把密码直接写在命令行上。
很可能你有一些账户状态良好,但你的系统时钟设置不正确。这会导致你遇到的认证失败问题。
这里有一篇去年夏天的相关帖子,详细说明了这个问题(以及解决办法): http://groups.google.com/group/google-appengine-python/browse_thread/thread/a57fc866838b0b32
如果你的时钟是正确的,但你觉得可能还有其他问题,可以去谷歌应用引擎开发者论坛寻求帮助: http://groups.google.com/group/google-appengine-python