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 に設定して、ユーザーをスペースに追加できます。

追加する 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 組織内の既存のスペースで、この表示名がすでに使用されている可能性があります。

次のいずれかの認可スコープユーザー認証が必要です。

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

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

省略可。このリクエストの一意の ID。ランダムな UUID を使用することをおすすめします。リクエスト ID を指定すると、リクエストがべき等になり、同じリクエスト ID を持つ複数の同一のリクエストで作成されるスペースが 1 つだけになります。同じリクエスト ID を持つ後続のリクエストは、リクエストされた詳細が現在の状態と異なる場合でも、既存のスペースを返し、スペースを更新しません。

このフィールドを効果的に使用するには:

  • 後続のリクエストが元のリクエストと同じ認証情報を使用していることを確認します。
  • 指定されたリクエスト ID でスペースがすでに作成されている場合、リクエストはそのスペースを返します。返されるスペースが完全に設定されていない場合があります。API は、システム割り当てのリソース名が設定されたリクエスト内のスペースをエコーします。スペースの最新のメタデータを取得するには、spaces.get を呼び出します。
  • 別の認証済みユーザーで既存のリクエスト 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.spaceType を人間のユーザーで DIRECT_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

詳細については、認可ガイドをご覧ください。