Method: spaces.setup

スペースを作成し、指定したユーザーを追加します。呼び出し元のユーザーはスペースに自動的に追加されるため、リクエストでメンバーシップとして指定する必要はありません。例については、初期メンバーを含むスペースを設定するをご覧ください。

追加するユーザー メンバーを指定する場合は、適切な membership.member.name を使用してメンバーシップを追加します。人間のユーザーを追加するには、users/{user} を使用します。ここで、{user} はユーザーのメールアドレスにできます。同じ Workspace 組織内のユーザーの場合、{user} は People API のユーザーの id または Directory API のユーザーの id にすることもできます。たとえば、user@example.com の People API の個人プロファイル ID が 123456789 の場合、membership.member.nameusers/user@example.com または users/123456789 に設定することで、ユーザーを Space に追加できます。

追加する Google グループを指定するには、適切な membership.group_member.name を使用してメンバーシップを追加します。Google グループを追加または招待するには、groups/{group} を使用します。ここで、{group} は Cloud Identity Groups API のグループの id です。たとえば、Cloud Identity Groups lookup API を使用して、グループメール group@example.com の ID 123456789 を取得し、membership.group_member.namegroups/123456789 に設定して、グループをスペースに追加できます。グループメールはサポートされていません。また、Google グループは名前付きスペースにメンバーとしてのみ追加できます。

名前付きスペースまたはグループ チャットの場合、呼び出し元が一部のメンバーをブロックしている、または一部のメンバーからブロックされている、または一部のメンバーを追加する権限がない場合は、それらのメンバーは作成されたスペースに追加されません。

呼び出し元のユーザーと別の人間ユーザーとの間でダイレクト メッセージ(DM)を作成するには、人間ユーザーを表すメンバーシップを 1 つだけ指定します。一方のユーザーがもう一方のユーザーをブロックしている場合、リクエストは失敗し、DM は作成されません。

呼び出し元のユーザーと呼び出し元のアプリの間に DM を作成するには、Space.singleUserBotDmtrue に設定し、メンバーシップを指定しないでください。この方法は、呼び出し元のアプリとの DM の設定にのみ使用できます。呼び出し元のアプリをスペースのメンバーとして追加する場合や、2 人のユーザー間の既存の DM に追加する場合は、ユーザーまたはアプリをスペースに招待または追加するをご覧ください。

2 人のユーザー間にすでに DM が存在する場合、リクエスト時に一方のユーザーがもう一方をブロックしても、既存の DM が返されます。

スレッド形式の返信を含むスペースはサポートされていません。スペースの設定時にエラー メッセージ ALREADY_EXISTS が表示された場合は、別の displayName を試してください。Google Workspace 組織内の既存のスペースで、この表示名がすでに使用されている可能性があります。

ユーザー認証が必要です。

HTTP リクエスト

POST https://chat.googleapis.com/v1/spaces:setup

この URL は gRPC Transcoding 構文を使用します。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "space": {
    object (Space)
  },
  "requestId": string,
  "memberships": [
    {
      object (Membership)
    }
  ]
}
フィールド
space

object (Space)

必須。Space.spaceType 項目は必須です。

スペースを作成するには、Space.spaceTypeSPACE に設定し、Space.displayName を設定します。スペースの設定時にエラー メッセージ ALREADY_EXISTS が表示された場合は、別の displayName を試してください。Google Workspace 組織内の既存のスペースで、この表示名がすでに使用されている可能性があります。

グループ チャットを作成するには、Space.spaceTypeGROUP_CHAT に設定します。Space.displayName は設定しないでください。

人間間の 1 対 1 の会話を作成するには、Space.spaceTypeDIRECT_MESSAGE に設定し、Space.singleUserBotDmfalse に設定します。Space.displayName または Space.spaceDetails は設定しないでください。

人間と呼び出し元の Chat アプリとの 1 対 1 の会話を作成するには、Space.spaceTypeDIRECT_MESSAGE に、Space.singleUserBotDmtrue に設定します。Space.displayName または Space.spaceDetails は設定しないでください。

DIRECT_MESSAGE スペースがすでに存在する場合は、新しいスペースを作成する代わりに、そのスペースが返されます。

requestId

string

省略可。このリクエストの一意の識別子。ランダムな UUID を使用することをおすすめします。既存のリクエスト ID を指定すると、新しいスペースが作成されるのではなく、その ID で作成されたスペースが返されます。同じ Chat アプリの既存のリクエスト ID を指定して、認証済みユーザーが異なると、エラーが返されます。

memberships[]

object (Membership)

省略可。スペースに参加するよう招待する Google Chat ユーザーまたはグループ。呼び出し元のユーザーは自動的に追加されるため、省略します。

現在、このセットでは(呼び出し元を除き)最大 49 個のメンバーシップが許可されています。

人間のメンバーシップの場合、Membership.member フィールドには、name が入力された user(形式: users/{user})を含め、typeUser.Type.HUMAN に設定する必要があります。スペースの設定時にのみ、人間のユーザーを追加できます(Chat アプリの追加は、呼び出し元のアプリでのダイレクト メッセージの設定でのみサポートされます)。ユーザーのメールアドレスを {user} のエイリアスとして使用してメンバーを追加することもできます。たとえば、user.nameusers/example@gmail.com です。Gmail ユーザーまたは外部 Google Workspace ドメインのユーザーを招待するには、{user} にユーザーのメールアドレスを使用する必要があります。

Google グループのメンバーシップの場合、Membership.group_member フィールドに name が入力された group を含める必要があります(形式は groups/{group})。Google グループを追加できるのは、Space.spaceTypeSPACE に設定した場合のみです。

Space.spaceTypeSPACE に設定する場合は省略可。

Space.spaceTypeGROUP_CHAT に設定する場合は、少なくとも 2 つのメンバーシップとともに必須です。

人間のユーザーで Space.spaceTypeDIRECT_MESSAGE に設定する場合、1 つのメンバーシップとともに必須です。

人間と呼び出し元の Chat アプリとの 1 対 1 の会話を作成する場合は空にする必要があります(Space.spaceTypeDIRECT_MESSAGE に、Space.singleUserBotDmtrue に設定する場合)。

レスポンスの本文

成功した場合、レスポンスの本文には Space のインスタンスが含まれます。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.create

詳しくは、認可ガイドをご覧ください。