3. 允许 Exchange 用户查看 Google 日历用户的有空/忙碌信息数据

接下来,请设置 Google 日历的有空/忙碌信息共享功能,以允许 Microsoft Exchange 用户查看 Google 日历用户的有空/忙碌信息。

如果您使用的 Google Workspace 网域有别名,请确保您已正确设置用户网域别名,然后再继续操作。有关详情,请参阅决定是否使用用户网域别名

当前进度:第 3 步(共 5 步)

设置日历的有空/忙碌信息共享功能

第 1 步:设置 Google Workspace 用户

确保您的每位 Google Workspace 用户都满足以下条件:

  1. 拥有 Google Workspace 账号,并且启用了 Google 日历。有关详情,请参阅为用户启用或停用 Google 日历
  2. 在 Exchange 服务器上存在对应的邮件联系人。这有助于 Exchange 从 Google 获取用户的空闲情况信息。如需详细了解如何创建邮件联系人,请参阅这篇 Microsoft 文章

    注意:您可以在 Exchange 上为 Google Workspace 用户的主日历创建电子邮件联系人,也可以为群组日历日历资源创建(如果您还希望在 Exchange 中显示这些联系人。)

  3. 确保发送到邮件联系人的 Exchange 地址的邮件递送到用户 Google Workspace 账号的 Gmail 地址。
  4. 确保邮件联系人显示在 Exchange 的全局地址列表 (GAL) 中,以便用户在设置会议时可以找到。添加联系人时,可以结合使用 Microsoft PowerShell 和 Google Directory API 编写脚本。
  5. 如果某位 Google Workspace 用户同时拥有 Exchange 邮箱,则须确保相应邮箱不会显示在全局地址列表中。这样一来,当有人邀请该用户参加会议时,系统就会选择此邮件联系人(并显示关联日历上的有空/忙碌信息)。

注意:如果您使用的是用户网域别名,请确保 Exchange 服务器上的邮件联系人既有主网域的电子邮件地址,又有用户别名网域的电子邮件地址。主电子邮件地址应使用用户的网域别名(例如 hao@googleworkspace.altostrat.com),这样系统才能使用用户网域别名将有空/忙碌信息查询结果转送到 Google Workspace。辅助地址应使用主域名(例如 hao@altostrat.com),以便 Exchange 用户在搜索 GAL 时可找到此电子邮件地址并向其发送电子邮件。

第 2 步:开启互联网连接

启用出站互联网连接,以便 Exchange 服务器能与 Google 服务器进行通信。Exchange 服务器需要能够向以下网址发送 HTTP (EWS SOAP) 请求:

  • https://calendar.google.com/autodiscover/autodiscover.xml
  • https://calendar.google.com/Exchange/Exchange.ews

第 3 步:创建 Google 角色账号并生成凭据

为获取 Google 日历用户的空闲情况信息,Exchange 服务器需要使用角色账号访问 Google Workspace。

准备工作

  • 在 Google Workspace 中创建角色账号 - Exchange 会使用此账号来访问 Google 日历用户的空闲情况信息。该账号必须是标准的用户账号,且只能用于日历互操作工具。确保此账号未被中止或删除,已启用日历应用,并且拥有有效的许可。如需详细了解如何设置账号,请参阅添加用户的各种方式
  • 为账号启用 Google 日历 - 有关详情,请参阅为用户启用或停用 Google 日历。完成后,请确保 Google 角色账号可以看到您要共享的活动。
  • 向 Google 角色账号授予 Google 日历的共享访问权限 - 确保该账号拥有有空/忙碌信息或活动详情访问权限,可查看所有用户的空闲情况信息。Google 角色账号设置必须与日历互操作工具的设置一致(具体权限取决于所设的最低权限级别)。

生成凭据

您必须以超级用户身份登录,才能执行此任务。
  1. 在 Google 管理控制台中,依次点击“菜单”图标 然后 应用 然后 Google Workspace 然后 日历

    需要拥有日历管理员权限。

  2. 点击日历互操作工具管理
  3. Exchange 中的 Google 日历空闲情况信息中,点击生成 Exchange 服务器配置
  4. 根据需要选择操作步骤:
  5. 如需生成一组新的 Exchange 身份验证凭据,请输入 Google 角色账号的电子邮件地址。
  6. 勾选相关协议的复选框。
  7. 点击生成新凭据
  8. 点击下载,获取生成的凭据。保存凭据,因为您需要在下一步中使用它们。

重要提示

  • 凭据只能下载一次。请务必保存好该文件,将其存储在一个安全的地方。
  • 如果您为 Google 角色账号生成一组新的凭据,则会撤消为该用户创建的所有现有凭据。如要允许多个 Exchange 服务器查询 Google 日历用户的有空/忙碌信息(例如您处于混合使用 Exchange 和 Exchange Online (Microsoft 365) 的环境),请仅生成一次凭据,然后将凭据应用于所有 Exchange 服务器。
  • 如果凭据被撤消,请按照下述步骤重新配置 Exchange 服务器。
  • 如要停止向 Exchange 用户显示有空/忙碌状态信息,请删除角色账号。

第 4 步:在 Exchange 中添加有空/忙碌地址空间

接下来,您必须在 Exchange 中添加空闲情况地址空间,以便 Exchange 可以查询 Google Workspace 来获取空闲情况信息。

为此,您需要在 Exchange 服务器 PowerShell(又称 Exchange 管理 Shell)中运行几项命令。这些步骤中使用的配置工具会生成 PowerShell 代码,您可以复制并输入该代码。

添加有空/忙碌地址空间

您必须以超级用户身份登录,才能执行此任务。
  1. 在 Google 管理控制台中,依次点击“菜单”图标 然后 应用 然后 Google Workspace 然后 日历

    需要拥有日历管理员权限。

  2. 点击日历互操作工具管理
  3. Exchange 中的 Google 日历空闲情况信息中,点击生成 Exchange 服务器配置
  4. 上传您在上一步为 Google 角色账号生成的凭据文件
  5. 本地账号的电子邮件地址中,输入 Exchange 角色账号的电子邮件地址。Google 日历使用该账号向 Exchange 发出组织级空闲/忙碌信息请求。

    示例:interop-svc@altostrat.com

  6. Google 空闲情况地址空间部分,输入地址空间。

    请注意以下几点:

    • 如果您要连接到贵组织自己的 Exchange 环境,Google 空闲情况地址空间应不同于您的 Exchange 网域。它可以是一个单独的 Google Workspace 用户网域别名(例如,如果您的 Exchange 网域是 altostrat.com,则用户网域别名为 googleworkspace.altostrat.com)。如需了解详情,请参阅决定是否使用用户网域别名
    • 如果您要设置多个组织之间的互操作功能,Google 空闲情况地址空间应与贵组织的 Google Workspace 网域保持一致。
    • 在这两种情况下,Google 空闲情况地址空间都应为不包含账号用户名的域名。请勿使用 Google 角色账号。
  7. 点击显示 Exchange 设置

    该工具会生成 Exchange 服务器设置及一段 PowerShell 代码。

  8. 如需设置空闲情况地址空间,请复制该代码并将其以单独一行的形式粘贴到 Exchange 服务器上的 Exchange 服务器 PowerShell 中,然后按 Enter 键。

    如需了解详情,请参阅下一个示例。

  9. 如果空闲情况地址空间已经存在,系统会提示您将其移除。您必须先移除现有的空闲情况地址空间,然后才能添加新的地址空间。

示例

在此示例中,您的 Google 用户地址位于 Google Workspace 用户别名网域 @alias.altostrat.com,并且您为 Exchange 2016 或更高版本或者 Exchange Online 设置了日历互操作工具。

示例中的用户名和密码是 Exchange 的凭据信息,而非 Google 角色账号。

if ((Get-AvailabilityConfig) -ne $null) {
Set-AvailabilityConfig -OrgWideAccount interop@alias.altostrat.com;
} else {
New-AvailabilityConfig -OrgWideAccount interop@alias.altostrat.com;
}
$password = echo "vj4XJ711VM6uRfNUZQRzHsBd5rI9qtSwqR9XvDFBDYW_gDawBakTFWLJqqn3SHvZ" | ConvertTo-SecureString -asPlainText -force;
$credentials = New-Object System.Management.Automation.PSCredential -argumentList "alias.altostrat.com\interop", $password;
Remove-AvailabilityAddressSpace alias.altostrat.com -ErrorAction SilentlyContinue -Confirm:$false;
Add-AvailabilityAddressSpace -forestName alias.altostrat.com -accessMethod orgwidefb -credentials $credentials-targetAutodiscoverEPR https://calendar.google.com/autodiscover/autodiscover.xml

第 5 步:等待或重新启动 Exchange 服务器

在 PowerShell 中输入命令后,更改可能需要一段时间才会生效。如果您希望更改立即生效,请重新启动 Exchange 服务器。


Google、Google Workspace 以及相关标志和徽标是 Google LLC 的商标。其他所有公司名和产品名是其各自相关公司的商标。