我可以在多个域中使用 GAM 吗?
Can I use GAM with multiple domains?
我需要 运行 在客户端迁移时跨两个域的一些 GAM 脚本;这可能吗?我一直在尝试查找有关设置的任何文档,但似乎没有:/
感谢任何帮助!
注意:这不是关于主域或辅助域的问题 - 如果您需要有关 primary/secondary 切换的更多信息,我发现 GAM3DirectoryCommands 非常有帮助且具有描述性!
这不是直接可能的;但是您可以通过以下方式实现此目的:
- 创建一个 CONFIGS 文件夹(您实际上可以称呼它对您有意义),并为每个域创建一个子文件夹
- 移动你的client_secrets.json、oauth2.txt和oauth2service.json GAM 安装文件夹中的文件到新创建的域文件夹中
- 运行
gam info domain
和 gam info user
看看这对您的 gam 安装有何影响
- 创建新的域设置,运行
gam create project
- 完成后,运行
gam info domain
和 gam info user
再次查看差异
- 记得也将您的新配置保存到这个新域的 CONFIGS 文件夹中!
- 当您替换配置文件后,运行
gam user <your_admin_account_for_the_current_domain> check serviceaccount
在 运行 任何命令之前,否则您可能会遇到一些错误 ;)
现在您可以通过替换 client_secrets.json、oauth2.txt 和 在域之间切换oauth2service.json 在您的 GAM 安装文件夹中(并记住 check serviceaccount
)。
显然有许多更优雅的方法可以做到这一点 - 但无论如何这将构成您的 powershell 脚本的基础;P
希望对您有所帮助!
相当简单,实际上比当前答案更简单。
gam 读取指向访问凭据的 OAUTHFILE 环境变量(默认为 oauth2.txt)。这才是最重要的,因为您可以为多个域使用同一个 GCP 项目。
因此,您所需要的只是一种更改 OAUTFILE 变量的简单方法。我个人使用这个 gam 别名(而不是 .bash_profile 中的默认别名):
gam() { export OAUTHFILE=~/.local/share/gam/auth-.txt; shift; "~/.local/share/gam/gam" "$@" ; unset OAUTHFILE }
所以我现在的 gam 语法是
gam <something> info domain
不,上面我使用 ~/.local/share/gam/... 你的路径可能不同。你也可能想要一个 $HOME/.gam-secrets 并将它们放在那里。
Something 是一个简单的字符串,用于唯一标识每个域(它将用于构造别名中的 OAUTHFILE。
不要忘记授予您的 GCP 服务帐户访问所有域 (https://admin.google.com/AdminHome?#OGX:ManageOauthClients) 的权限。
我想不出提供多域游戏的更短途径。
我需要 运行 在客户端迁移时跨两个域的一些 GAM 脚本;这可能吗?我一直在尝试查找有关设置的任何文档,但似乎没有:/
感谢任何帮助!
注意:这不是关于主域或辅助域的问题 - 如果您需要有关 primary/secondary 切换的更多信息,我发现 GAM3DirectoryCommands 非常有帮助且具有描述性!
这不是直接可能的;但是您可以通过以下方式实现此目的:
- 创建一个 CONFIGS 文件夹(您实际上可以称呼它对您有意义),并为每个域创建一个子文件夹
- 移动你的client_secrets.json、oauth2.txt和oauth2service.json GAM 安装文件夹中的文件到新创建的域文件夹中
- 运行
gam info domain
和gam info user
看看这对您的 gam 安装有何影响 - 创建新的域设置,运行
gam create project
- 完成后,运行
gam info domain
和gam info user
再次查看差异 - 记得也将您的新配置保存到这个新域的 CONFIGS 文件夹中!
- 当您替换配置文件后,运行
gam user <your_admin_account_for_the_current_domain> check serviceaccount
在 运行 任何命令之前,否则您可能会遇到一些错误 ;)
现在您可以通过替换 client_secrets.json、oauth2.txt 和 在域之间切换oauth2service.json 在您的 GAM 安装文件夹中(并记住 check serviceaccount
)。
显然有许多更优雅的方法可以做到这一点 - 但无论如何这将构成您的 powershell 脚本的基础;P
希望对您有所帮助!
相当简单,实际上比当前答案更简单。 gam 读取指向访问凭据的 OAUTHFILE 环境变量(默认为 oauth2.txt)。这才是最重要的,因为您可以为多个域使用同一个 GCP 项目。
因此,您所需要的只是一种更改 OAUTFILE 变量的简单方法。我个人使用这个 gam 别名(而不是 .bash_profile 中的默认别名):
gam() { export OAUTHFILE=~/.local/share/gam/auth-.txt; shift; "~/.local/share/gam/gam" "$@" ; unset OAUTHFILE }
所以我现在的 gam 语法是
gam <something> info domain
不,上面我使用 ~/.local/share/gam/... 你的路径可能不同。你也可能想要一个 $HOME/.gam-secrets 并将它们放在那里。
Something 是一个简单的字符串,用于唯一标识每个域(它将用于构造别名中的 OAUTHFILE。
不要忘记授予您的 GCP 服务帐户访问所有域 (https://admin.google.com/AdminHome?#OGX:ManageOauthClients) 的权限。
我想不出提供多域游戏的更短途径。