Google Workspace 組織の特定のユーザーが Google Chat スペースを検索できるようにする

このページでは、Google Chat API を使用して Google Workspace 組織内の特定のユーザーと Google Chat スペースを共有し、スペースのメンバーを見つけて参加し、表示できるようにする方法について説明します。

スペースのメンバーを検出、参加、表示できる組織内のユーザーを指定するには、対象グループを作成します。対象グループとは、Chat スペースを共有できるユーザーのグループ(特定の部署や組織全体など)のことです。対象グループを使用すると、スペースとその情報にアクセスできるユーザーをより細かく制御できます。対象ユーザーを使用すると、個々のユーザーをスペースに招待するのではなく、スペースのメンバーシップを管理およびカスタマイズすることもできます。詳細については、ターゲット ユーザーについてをご覧ください。

名前付きスペースを対象グループにのみ検出可能にできます。ダイレクト メッセージやグループの会話など、他のタイプのスペースをターゲット ユーザーと共有することはできません。

前提条件

ターゲット オーディエンス ID を取得する

ターゲット ユーザーの ID を取得する手順は次のとおりです。

  1. Google 管理コンソールで、メニュー アイコン > [ディレクトリ] > [対象グループ] に移動します。

    [ターゲット ユーザー] に移動

  2. [対象グループ] テーブルで、対象グループの [名前] フィールドをクリックします。

  3. ページの URL でターゲット ユーザー ID を確認します。URL の形式は https://admin.google.com/ac/targetaudiences/TARGET_AUDIENCE_ID です。ここで、TARGET_AUDIENCE_ID はターゲット ユーザーの英数字の ID です。

次のセクションでは、ターゲット ユーザー ID を使用して、検索可能なスペースを作成するか、既存のスペースを更新してターゲット ユーザーが検索できるようにします。

対象ユーザーと詳細な権限を指定する

特定のアクセス権限を持つスペースを作成するには、Space リソースの create メソッドまたは setup メソッドを使用します。既存のスペースの権限を更新するには、update メソッドを使用します。名前付きスペースのみを対象ユーザーと共有できるため、スペースタイプ(spaceType フィールドで表される)は SPACE である必要があります。

スペースのメンバーを検索、参加、表示できるユーザーを指定するには、Space リソースに AccessSettings オブジェクトを含めます。オブジェクトで、accessPermissionSettings フィールドを使用して、次の権限を 1 つ以上指定します。

  • 検出可能: discoverSpaceSetting を使用して、スペースの名前と説明を検索し、Google Chat 内で閲覧できるユーザーを定義します。検出の対象ユーザーは複数指定できます。
  • 参加可能: joinSpaceSetting を使用して、明示的な招待なしでスペースに参加し、スペース メッセージをプレビューできるユーザーを定義します。スペースに参加できるユーザーは、そのスペースを見つけることもできる必要があります。Google Chat は、この権限の単一のターゲット ユーザーをサポートしています。
  • メンバーシップを表示: viewSpaceMembershipSetting を使用して、スペースのメンバー リストを閲覧できるユーザーを定義します。スペースのメンバーシップを閲覧できるユーザーを更新する場合は、updateMask とリクエストの本文の両方で、permissionSettings.viewSpaceMembership とともに accessSettings.accessPermissionSettings.viewSpaceMembershipSetting を指定する必要があります。viewSpaceMembershipSetting でターゲット オーディエンスが構成されている場合、すべてのメンバーに viewSpaceMembership を付与する必要があります(managersAllowedassistantManagersAllowedmembersAllowedtrue に設定)。

次の例では、スペースを 2 つの対象グループから検索可能にしつつ、そのうち 1 つのグループのみが参加できるように設定し、さらにすべてのメンバーと指定した対象グループがメンバーリストを閲覧できるようにする方法を示します。

{
  "accessSettings": {
    "accessPermissionSettings": {
      "discoverSpaceSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } },
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_2" } }
        ]
      },
      "joinSpaceSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } }
        ]
      },
      "viewSpaceMembershipSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } },
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_2" } }
        ]
      }
    }
  },
  "permissionSettings": {
    "viewSpaceMembership": {
      "managersAllowed": true,
      "assistantManagersAllowed": true,
      "membersAllowed": true
    }
  }
}

TARGET_AUDIENCE_ID_1TARGET_AUDIENCE_ID_2 は、ターゲット オーディエンス ID を取得するで取得したターゲット オーディエンスの ID に置き換えます。Google Workspace 組織のデフォルトの Chat スペース共有設定を使用するには、default に置き換えます。

下位互換性のため、audience フィールドを使用する

下位互換性を維持するために、audience フィールドを使用して、スペースに参加できる単一の対象グループを指定できますが、代わりに対象グループと詳細な権限を指定することをおすすめします。

audience フィールドを設定することは、joinSpaceSetting でターゲット ユーザーを指定することと同義です。

  "accessSettings": {
    "audience": "audiences/TARGET_AUDIENCE_ID"
  }

TARGET_AUDIENCE_ID は、ターゲット ユーザー ID を取得するで取得したターゲット ユーザーの ID に置き換えます。Google Workspace 組織のデフォルトの Chat スペース共有設定を使用するには、default に置き換えます。

API レスポンスのアクセス設定について

スペースを取得または一覧表示すると、レスポンスの AccessSettings オブジェクトに、スペースに設定されたきめ細かい権限が反映されます。

AccessSettings の次のフィールドは、スペースの検索可能性と参加権限を示します。

  • accessState: 検出権限(discoverSpaceSetting)から派生します。1 つ以上のターゲット ユーザーに検出権限が付与されている場合、このフィールドは DISCOVERABLE になります。それ以外の場合は PRIVATE です。
  • audience: 結合権限(joinSpaceSetting)にマッピングされます。単一のターゲット ユーザーに結合権限が付与されている場合、このフィールドにはそのターゲット ユーザーのリソース名が含まれます。

参加オーディエンスが設定されていない検索可能なスペース

スペースはターゲット ユーザーに検出可能ですが、直接参加することはできません(たとえば、参加するにはユーザーを明示的に招待する必要がある場合など)。

この場合、AccessSettings オブジェクトには次の値が設定されます。

  • accessState: DISCOVERABLE
  • audience: 省略または null

accessStateDISCOVERABLE に設定されているのに audience が存在しない場合、discoverSpaceSetting で指定された対象ユーザーがスペースを見つけることはできますが、招待によってのみ参加できることを意味します。どのターゲット オーディエンスがスペースを見つけられるかを確認するには、accessPermissionSettings.discoverSpaceSetting フィールドを確認します。

対象グループの詳細については、次のガイドをご覧ください。

Chat API を使用してスペースを作成または更新する方法については、次のガイドをご覧ください。