Выпуск "appcfg.py --oauth update ." с несколькими аккаунтами?
Я настроил OAuth для одной учетной записи my.first.email@gmail.com. Он отлично работает с Appengine app_ids, который я использую для этого аккаунта.
Однако когда я пытаюсь использовать его в приложении 'foo' для другой учетной записи (скажем, my.second.email@gmail.com), система выдает мне ошибку (вполне ожидаемо):
$ appcfg.py --oauth2 update .
10:09 AM Host: appengine.google.com
10:09 AM Application: foo; version: 100
10:09 AM Starting update of app: foo, version: 100
10:09 AM Getting current resource limits.
10:09 AM Scanning files on local disk.
Error 404: --- begin server output ---
This application does not exist (app_id=u'foo').
Можно ли использовать OAuth для ДВУХ (или более) учетных записей в App Engine? Я хотел бы иметь возможность использовать OAuth одновременно для обеих учетных записей, возможно, изменив команду CLI с двумя разными токенами.
Спасибо Риккардо
4 ответа
Используйте команду gcloud для переключения между несколькими учетными записями.
Добавление нового аккаунта:
gcloud auth login
завершить процесс входа в систему
Установка вышеуказанной учетной записи по умолчанию (или просто переключение учетных записей):
gcloud config set account username@gmail.com
Попробуйте этот секретный параметр командной строки для appcfg.py:
appcfg.py --oauth2 --oauth2_credential_file=~/.appcfg_oauth2_tokens_personal update .
Нашли этот вариант, просмотрев /usr/local/google_appengine/google/appengine/tools/appcfg.py. Это должно позволить вам использовать разные учетные файлы для разных учетных записей. Возможно, вы захотите присвоить псевдониму команду, чтобы упростить ввод в вашей оболочке.
Чтобы Ryu_hayabusa предложение Ryu_hayabusa, добавьте его в свой .bashrc
или же .bash_profile
для более удобного переключения между аккаунтами:
function gcauth() { email="$@"; gcloud config set account $email; echo "Updated GCloud auth to $email"; }
# set up functions for specific email addresses:
function gcwork() { gcauth work@email.com; }
function gcperso() { gcauth personal@email.com; }
Тогда вы можете очень легко переключаться между рабочей и личной учетной записью, например:
$ gcwork
Updated GCloud auth to work@email.com
$ gcperso
Updated GCloud auth to personal@email.com
Если вы хотите перейти от входа в систему клиента (который больше не поддерживается), просто обновите с помощью --oauth2, и ваше приложение будет развернуто.
python appcfg.py update --oauth2 /path/to/app
Использование входа в систему клиента приведет к следующей ошибке - Ошибка 404: --- начало вывода на сервер --- https://developers.google.com/accounts/docs/AuthForInstalledApps--- конец вывода на сервер ---