我正在使用Google App Engine Launcher将我的应用部署到GAE服务器。有没有办法保存我的用户帐户和密码,所以我不必每次重新部署时都输入它?
我仍处于使用GAE的学习阶段,因此当我每晚重新部署15次以上时,输入我的16个奇数字符密码会让人厌烦。
答案 0 :(得分:21)
您可以创建一个包含以下文本的.bat文件:
echo <password> | c:\python25\python.exe "C:\Program Files\Google\google_appengine\appcfg.py" --email=username --passin update <directory of app on your pc>
(根据GAE文档,您不能将密码指定为命令行选项)
答案 1 :(得分:17)
使用oauth保存OAuth2令牌,这样您就无需继续重新输入密码。
答案 2 :(得分:7)
接受的解决方案对我不起作用。使用管道
echo <password> | c:\python25\python.exe "C:\Program Files\Google\google_appengine\appcfg.py" --email=username --passin update <directory of app on your pc>
答案 3 :(得分:3)
appcfg已经为你做了这个。根据文档:
appcfg.py从中获取应用程序ID app.yaml文件,并提示您输入 您的电子邮件地址和密码 Google帐户。成功之后 使用您的帐户登录 appcfg.py存储一个“cookie”以便它 不需要提示输入密码 在随后的尝试中。
如果您没有这样做,您可能想尝试删除任何.appcfg*
配置文件。
答案 4 :(得分:3)
其他提示&amp;技巧:使用命令行如下:
要让appcfg.py在命令行上接受--password而不是提示它:
更改:* appengine / google_appengine / google / appengine / tools / appcfg.py *
在parser.add_option部分添加以下内容:
parser.add_option("-p","--password", action="store", dest="password",
metavar="PASSWORD", default=None,
help="The password")
然后修改GetUserCredentials函数:
def GetUserCredentials():
"""Prompts the user for a username and password."""
email = self.options.email
if email is None:
email = self.raw_input_fn("Email: ")
password = self.options.password
if password is None:
password = self.raw_input_fn("Password: ")
# password_prompt = "Password for %s: " % email
# if self.options.passin:
# password = self.raw_input_fn(password_prompt)
# else:
# password = self.password_input_fn(password_prompt)
return (email, password)
就是这样,现在你可以打电话:
appcfg.py update demos/guestbook --email=email@gmail.com --password=xxxx
参考:http://samalolo.blogspot.com/2009/04/appcfgpy-tweak-to-allow-passing.html
答案 5 :(得分:3)
我只是想对Friar Broccoli表示感谢,这正是我想要的。为了澄清像我这样的其他初学者,我的最终批处理文件最终看起来如下,
c:\python27\pythonw.exe "C:\Program Files (x86)\Google\google_appengine\appcfg.py" --oauth2 update "C:\Users\[username]\[directory]\app.yaml"
工作完美,希望这个解决方案更高。
答案 6 :(得分:2)
对于Windows 7,C:\ Users \ username \ .appcfg_cookies下的.appcfg_cookies
答案 7 :(得分:1)
您可以编写一个执行appcfg.py
的命令行脚本来执行此操作。
您可以指定要与--email=
命令行参数一起使用的电子邮件。
您可以使用--passin
参数从stdin传入密码。
答案 8 :(得分:1)
它非常简单。只需将其放在批处理文件中:
appcfg.py --oauth2 update "X:\local\path\to\your\app.yaml\file"
第一次运行时,谷歌会进行身份验证,然后全部自动验证。