Google app engine 如何在Google应用程序引擎启动器中保存我的用户帐户和密码?
我正在使用Google应用程序引擎启动器将我的应用程序部署到GAE服务器。有没有办法保存我的用户帐户和密码,这样我就不必在每次重新部署时都键入它Google app engine 如何在Google应用程序引擎启动器中保存我的用户帐户和密码?,google-app-engine,Google App Engine,我正在使用Google应用程序引擎启动器将我的应用程序部署到GAE服务器。有没有办法保存我的用户帐户和密码,这样我就不必在每次重新部署时都键入它 我仍然处于使用GAE的学习阶段,所以当我每晚重新部署15次以上的时候,键入16个字符的密码会变得很烦人 您可以编写一个命令行脚本来执行appcfg.py 您可以指定要与--email=命令行参数一起使用的电子邮件 您可以使用--passin参数从stdin传入密码。appcfg已经为您完成了这项工作。根据文件: appcfg.py从获取应用程序ID 显
我仍然处于使用GAE的学习阶段,所以当我每晚重新部署15次以上的时候,键入16个字符的密码会变得很烦人 您可以编写一个命令行脚本来执行
appcfg.py
您可以指定要与--email=
命令行参数一起使用的电子邮件
您可以使用
--passin
参数从stdin传入密码。appcfg已经为您完成了这项工作。根据文件:
appcfg.py从获取应用程序ID
显示app.yaml文件,并提示您输入
您的电子邮件地址和密码
谷歌账户。成功后
使用您的帐户登录,
appcfg.py存储一个“cookie”,以便
不需要提示输入密码
在随后的尝试中
如果您没有遇到这种情况,您可能希望尝试删除任何
.appcfg*
配置文件。您可以创建一个包含以下文本的.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>
echo | c:\python25\python.exe“c:\Program Files\Google\Google\u appengine\appcfg.py”--电子邮件=用户名--密码更新
(根据GAE文档,您不能将密码指定为命令行选项)接受的解决方案对我不起作用。使用管道是可行的
echo <password> | c:\python25\python.exe "C:\Program Files\Google\google_appengine\appcfg.py" --email=username --passin update <directory of app on your pc>
echo | c:\python25\python.exe“c:\Program Files\Google\Google\u appengine\appcfg.py”--电子邮件=用户名--密码更新
用于保存OAuth2令牌,这样您就不需要一直重新键入密码。其他提示和技巧:使用命令行,如下所示:
要让appcfg.py在命令行上接受--password而不是提示输入密码,请执行以下操作:
更改:*appengine/google\u appengine/google/appengine/tools/appcfg.py*
在parser.add_选项部分添加以下内容:
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
参考:对于windows 7,C:\Users\username\.appcfg\u cookies下的.appcfg\u cookies非常简单。只需将其放入批处理文件:
appcfg.py --oauth2 update "X:\local\path\to\your\app.yaml\file"
你第一次运行它时,谷歌将进行身份验证,之后它将自动运行。我只是想对西兰花修士说声谢谢,这正是我想要的。为了向像我这样的初学者澄清,我的最终批处理文件如下所示:
c:\python27\pythonw.exe "C:\Program Files (x86)\Google\google_appengine\appcfg.py" --oauth2 update "C:\Users\[username]\[directory]\app.yaml"
工作完美,希望此解决方案更高级。也许您有理由部署,但有一个本地服务器带有SDK。我重新部署以处理实时数据。我是唯一一个使用该应用程序的人,因此我不会因为开发实时版本而冒太大风险。=)OT供参考:您可以使用python bulkloader工具将实时数据下载到开发服务器。它甚至可以与Java一起工作。我使用AutoIT,它工作得非常好。解决方案是:重新启动或几个小时不活动后,cookie会被清除。在我的一台计算机上,这是可行的,而在另一台计算机上,它不会。我找不到任何
.appcfg*
config files.Oops。顺便说一句,我使用的是2.6,到目前为止一切正常。@ZuzooVn请说得更具体些,你需要什么细节?你是我的英雄!“回声”部分是天才我很不安全。更安全的方法是启用双因素身份验证并使用:appcfg.py--oauth2\u refresh\u token=token update yourapp/I更改了答案,因为oauth(两年后)是当前首选的方法。Oauth+一个用于上传的bat文件非常有效。这个答案缺乏关于如何将Oauth与GAE一起使用的实用建议Oauth说明在章节中:您是一个初学者,所以我假设您已经对此进行了研究,但是是否有一个好的GAE公共演示项目,它不是非常过时,并且还包括用于上传的bat文件之类的内容?如果没有,我就做一个。