このページでは、Google Chat API を使用して Google Workspace 組織内の特定のユーザーと Google Chat スペースを共有し、スペースのメンバーを見つけて参加し、表示できるようにする方法について説明します。
スペースのメンバーを検出、参加、表示できる組織内のユーザーを指定するには、対象グループを作成します。対象グループとは、Chat スペースを共有できるユーザーのグループ(特定の部署や組織全体など)のことです。対象グループを使用すると、スペースとその情報にアクセスできるユーザーをより細かく制御できます。対象ユーザーを使用すると、個々のユーザーをスペースに招待するのではなく、スペースのメンバーシップを管理およびカスタマイズすることもできます。詳細については、ターゲット ユーザーについてをご覧ください。
名前付きスペースを対象グループにのみ検出可能にできます。ダイレクト メッセージやグループの会話など、他のタイプのスペースをターゲット ユーザーと共有することはできません。
前提条件
- Google Chat へのアクセス権を持つ Business または Enterprise の Google Workspace アカウント。Google Workspace 組織の特権管理者ロールがアカウントに割り当てられている必要があります。
- Chat でアクセスできるターゲット オーディエンス。ターゲット オーディエンスを作成するには、ターゲット オーディエンスを作成するをご覧ください。既存のターゲット オーディエンスを Chat スペースで利用できるようにするには、Chat のスペースへのアクセス権を設定するをご覧ください。
- ユーザー認証を使用して Google Chat API を呼び出す必要があります。
ターゲット オーディエンス ID を取得する
ターゲット ユーザーの ID を取得する手順は次のとおりです。
Google 管理コンソールで、メニュー アイコン > [ディレクトリ] > [対象グループ] に移動します。
[対象グループ] テーブルで、対象グループの [名前] フィールドをクリックします。
ページの 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を付与する必要があります(managersAllowed、assistantManagersAllowed、membersAllowedをtrueに設定)。
次の例では、スペースを 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_1 と TARGET_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:DISCOVERABLEaudience: 省略またはnull
accessState が DISCOVERABLE に設定されているのに audience が存在しない場合、discoverSpaceSetting で指定された対象ユーザーがスペースを見つけることはできますが、招待によってのみ参加できることを意味します。どのターゲット オーディエンスがスペースを見つけられるかを確認するには、accessPermissionSettings.discoverSpaceSetting フィールドを確認します。
関連トピック
対象グループの詳細については、次のガイドをご覧ください。
Chat API を使用してスペースを作成または更新する方法については、次のガイドをご覧ください。