3

我为我拥有的一个帐户my.first.email@gmail.com配置了 OAuth 。它与我用于该帐户的 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').

是否可以通过 App Engine 为两个(或更多)帐户使用 OAuth?我希望能够同时为两个帐户使用 OAuth,也许可以用两个不同的令牌更改 CLI 命令。

谢谢,里卡多

4

4 回答 4

6

试试这个 appcfg.py 的秘密命令行选项:

appcfg.py --oauth2 --oauth2_credential_file=~/.appcfg_oauth2_tokens_personal update .

通过查看 /usr/local/google_appengine/google/appengine/tools/appcfg.py 找到了这个选项。这应该允许您为不同的帐户使用不同的凭据文件,您可能希望为命令起别名以便于在 shell 中键入。

于 2014-01-31T22:58:59.573 回答
2

使用 gcloud 命令在多个帐户之间进行切换。

添加新帐户:

gcloud auth login

完成登录过程

将上述帐户设置为默认帐户(或只是切换帐户):

 gcloud config set account username@gmail.com
于 2014-07-17T16:07:53.763 回答
2

要基于@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
于 2015-02-08T02:11:46.030 回答
0

如果您想从客户端登录(现在已永久弃用)转移,只需使用 --oauth2 更新,您的应用程序将被部署 -

python appcfg.py update --oauth2 /path/to/app

使用客户端登录会给您以下错误 - 错误 404:--- 开始服务器输出 --- https://developers.google.com/accounts/docs/AuthForInstalledApps --- 结束服务器输出 ---

于 2016-04-16T15:27:01.927 回答