Как сохранить мою учетную запись и пароль в Google App Engine Launcher?
Я использую Google App Engine Launcher для развертывания моего приложения на серверах GAE. Есть ли способ сохранить мою учетную запись пользователя и пароль, чтобы мне не приходилось вводить их каждый раз, когда я повторяю развертывание?
Я все еще нахожусь в стадии изучения использования GAE, поэтому ввод моего пароля из 16 нечетных символов становится утомительным, когда я перевожу 15+ раз за вечер.
9 ответов
Используйте oauth, чтобы сохранить токен OAuth2, чтобы вам не нужно было повторно вводить свой пароль.
Вы можете сделать.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 вы не можете указать пароль в качестве параметра командной строки)
Принятое решение не сработало для меня. Используя трубы сделал
echo <password> | c:\python25\python.exe "C:\Program Files\Google\google_appengine\appcfg.py" --email=username --passin update <directory of app on your pc>
Другие советы и хитрости: используя командную строку, как показано ниже:
Чтобы заставить 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
Я просто хотел сказать спасибо брату Брокколи, это именно то, что я искал. Чтобы уточнить для других начинающих, таких как я, мой окончательный пакетный файл в итоге выглядел следующим образом:
c:\python27\pythonw.exe "C:\Program Files (x86)\Google\google_appengine\appcfg.py" --oauth2 update "C:\Users\[username]\[directory]\app.yaml"
Работал отлично, желаю чтобы это решение было выше.
appcfg уже делает это для вас. Согласно документам:
appcfg.py получает идентификатор приложения из файла app.yaml и запрашивает адрес электронной почты и пароль вашей учетной записи Google. После успешного входа в свою учетную запись appcfg.py сохраняет "cookie", поэтому ему не нужно запрашивать пароль при последующих попытках.
Если это не происходит для вас, вы можете попробовать удалить любой .appcfg*
конфигурационные файлы.
Для windows 7:.appcfg_cookies в C:\Users\ имя пользователя \.appcfg_cookies
Это удивительно просто. Просто поместите это в командный файл:
appcfg.py --oauth2 update "X:\local\path\to\your\app.yaml\file"
В первый раз, когда вы запустите его, Google аутентифицируется, после этого все автоматически.
Вы могли бы написать скрипт командной строки, который выполняет appcfg.py
сделать это.
Вы можете указать адрес электронной почты для использования с --email=
параметр командной строки.
Вы можете передать пароль от stdin, используя --passin
параметр.