2011-03-01 60 views
25

我正在使用Google App Engine啓動器將我的應用程序部署到GAE服務器。有沒有辦法保存我的用戶帳戶和密碼,所以我不必每次重新部署時都鍵入它?如何在Google App Engine啓動器中保存我的用戶帳戶和密碼?

我仍然在使用GAE所以我打字16字奇密碼變得令人厭煩,當我重新部署每次晚上15+次的學習階段。

+0

也許你有一個部署的理由,但有一個本地服務器與SDK。 – ide 2011-03-01 02:46:53

+0

我重新部署以處理我的實時數據。我是唯一一個使用該應用程序的人,所以通過在實時版本上工作我並沒有真正冒很大風險。 =) – 2011-03-01 02:54:15

+0

OT FYI:您可以使用python bulkloader工具將實時數據下載到開發服務器。它甚至可以與Java一起工作。 – 2011-03-01 02:58:45

回答

17

使用oauth保存OAuth2用戶令牌,所以你並不需要不斷重新輸入密碼。

+0

我改變了這個答案,因爲oauth是(兩年後)當前的首選方法。 Oauth +上傳的bat文件效果很好。 – 2013-07-16 19:43:28

+1

此答案缺乏有關如何在GAE上使用OAuth的實用建議 – 2015-03-05 10:59:59

+0

oauth說明位於以下部分:https://cloud.google.com/appengine/docs/python/tools/uploadinganapp#Python_Password-less_login_with_OAuth2 – Jerry101 2015-03-27 23:44:36

1

你可以寫一個命令行腳本執行appcfg.py做到這一點。

您可以指定電子郵件與--email=命令行參數使用。

您可以在密碼從標準輸入使用--passin參數傳遞。

3

appcfg已經爲你做了這個。每文檔:

appcfg.py從 獲取應用程序ID的app.yaml文件,並提示您 您 谷歌帳戶的電子郵件地址和密碼。經過與您的帳戶, appcfg.py存儲的「cookie」,以便它 不需要提示隨後嘗試密碼 成功 登錄。

如果這種情況沒有發生在您身上,您可能需要嘗試刪除任何.appcfg*配置文件。

+1

重新啓動或幾小時不活動後cookie會被擦除。 – Matt 2011-03-01 07:16:40

+1

在我的其中一臺電腦上工作,在其他電腦上沒有。我找不到任何'.appcfg *'配置文件。 – fiatjaf 2013-07-01 23:53:41

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文檔不能作爲命令行選項來指定密碼)

+0

注意,GAE是python 2.5 =) – 2011-04-26 18:38:53

+0

糟糕。順便說一句,我使用2.6,一切都很好。 – Uri 2011-04-29 08:45:41

+0

舉報此貼更多信息,請 – 2011-10-23 02:49:24

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

其他提示&招:使用如下命令行:

要獲得appcfg.py接受--password命令行,而不是被提示輸入它:

變化:* AppEngine上/ google_appengine /google/appengine/tools/appcfg.py*

添加以下的解析器。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 protected] --password=xxxx 

編號:http://samalolo.blogspot.com/2009/04/appcfgpy-tweak-to-allow-passing.html

2

對於Windows 7。 appcfg_cookies在C:\ Users \ username \ .appcfg_cookies

1

這非常簡單。只要把這個批處理文件:

appcfg.py --oauth2 update "X:\local\path\to\your\app.yaml\file" 

當你第一次運行谷歌將進行身份驗證,之後,這一切都自動完成。

3

我只是想說,謝謝你,弗萊爾西蘭花,這正是我一直在尋找。爲了澄清對其他新手像我一樣,我最終的批處理文件最終看上去像下面,

c:\python27\pythonw.exe "C:\Program Files (x86)\Google\google_appengine\appcfg.py" --oauth2 update "C:\Users\[username]\[directory]\app.yaml" 

完美地工作,希望這個解決方案是上漲。

+0

您是一位初學者,所以我假設你已經完成了這方面的研究,但是GAE有沒有一個很好的公共演示項目,它不是過時的,還包括像上傳的bat文件這樣的東西?如果沒有,我會做一個。 – 2014-11-17 23:00:19

相關問題