本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

Chat APIでサイドバーのセクションを作る 仕様と制限

目次 · 7項目

案件ごと、取引先ごとにGoogle Chatのスペースを作っていくと、サイドバーには数十のスペースが並びます。新しく案件に加わったメンバーは、どれが自分の担当かを探すところから始めることになります。Chatには、スペースを任意の名前でまとめる「セクション」がありますが、作るのも並べるのも各自の手作業です。

Google Chat APIには、このセクションを扱う users.sections というリソースがあります。セクションの作成・名前の変更・削除・並べ替えと、スペースをセクション間で移す操作がそろっています。Chat APIのリリースノートでは、2025年12月11日にデベロッパープレビュー、2026年4月1日に一般提供(GA)として告知されました。この記事では、リリースノート、セクションの各ガイド、リファレンス、Chat APIのDiscoveryドキュメント(APIの機械可読な定義。revision 20261013)をもとに、仕組みと制限を整理します。

扱えるのは呼び出した本人のサイドバーだけ

セクションは、ユーザーごとのリソースです。リソース名は users/{user}/sections/{section} の形で、一覧を取る list の説明には「呼び出したユーザーのセクションの一覧だけに対応する」と書かれています。各メソッドはユーザー認証が必要です。ガイドの前提条件には、Google Chatを使えるBusinessまたはEnterpriseのGoogle Workspaceアカウントが挙げられています。スコープは次の2つです。

  • chat.users.sections:セクションの確認・作成・更新・削除、セクション内の項目の移動と一覧
  • chat.users.sections.readonly:セクションとその項目の確認のみ

管理者が全員のサイドバーに同じセクションを配る機能ではない、という前提で考えます。「案件Aに入った人に、案件Aのセクションを用意する」なら、本人が自分の権限で実行するスクリプトやアプリとして作る形になります。ドメイン全体の委任で他の人の代わりに実行できるかは、編集部では確認していません。

システムのセクションと、自分で作るセクション

定義では、セクションは2種類に分かれています。

  • システムのセクション:Chatが用意するもの。名前は固定で、作成・削除・名前の変更はできない
    • default-direct-messages:カスタムのセクションに入っていないダイレクトメッセージとグループチャット
    • default-spaces:カスタムのセクションに入っていないスペース
    • default-apps:インストールしたアプリ
  • カスタムのセクション(CUSTOM_SECTION):ユーザーが作るもの。作成・名前の変更・削除はこの種類だけ

カスタムのセクションを作るときは表示名(displayName)が必須で、最大80文字です。名前の変更(patch)で更新できる項目も display_name だけです。

セクションに入れられる項目は、定義上スペースだけです(「Only spaces can be section items」)。ここでいうスペースはAPIの spaces リソースのことで、ダイレクトメッセージやグループチャットも spaces の種類(DIRECT_MESSAGE・GROUP_CHAT)として扱われます。ヘルプでも、ダイレクトメッセージをセクションに移せると説明されています。

スペースの移し方と、削除したときの扱い

スペースを別のセクションへ移すには、users.sections.items.move を使います。移すのは「セクション内の項目」なので、先にそのスペースが今どのセクションに入っているかを調べます。items.list では、セクションの指定にワイルドカードの - を使い、space = spaces/{space} で絞り込むと、全セクションから探せます。

セクションの並び順は position で変えます。sortOrder で絶対位置(1以上)を指定するか、relativePosition で先頭(START)・末尾(END)を指定します。指定した位置にあったセクション以降は、1つずつ後ろにずれます。

削除(delete)の説明には、次の一文があります。

If the section contains items, such as spaces, the items are moved to Google Chat’s default sections and are not deleted.

セクションを消しても、中のスペースは消えず、システムのセクションに戻ります。案件が終わったセクションを片付ける処理を作っても、スペース自体やメッセージには影響しない作りです。

Google Chat APIのセクションの整理。システムのセクション(default-direct-messages、default-spaces、default-apps)は名前が固定で作成・削除できない。カスタムのセクションは表示名80文字までで作成・名前の変更・削除・並べ替えができる。items.moveでスペースをセクション間で移せ、カスタムのセクションを削除すると中のスペースはシステムのセクションに戻る

本人が実行するスクリプトの例

ここからは編集部の提案です。案件に加わったメンバーが、自分のアカウントで一度実行すると、案件のスペースを1つのセクションにまとめて先頭に置く、という形が考えられます。編集部では、Node.js向けの @googleapis/chat 51.2.0の型定義で次のコードを型チェックし、APIの送り先をローカルのスタブ(決まった応答を返す検証用のサーバー)に向けて実行しました。実際のGoogle Chatには接続していません。

import { chat_v1 } from "@googleapis/chat";

export async function groupSpaces(chat: chat_v1.Chat, displayName: string, spaces: string[]) {
  const { data: section } = await chat.users.sections.create({
    parent: "users/me",
    requestBody: { displayName, type: "CUSTOM_SECTION" },
  });
  for (const space of spaces) {
    // スペースが今どのセクションにあるかを、全セクション(-)から探す
    const { data } = await chat.users.sections.items.list({
      parent: "users/me/sections/-",
      filter: `space = ${space}`,
    });
    for (const item of data.sectionItems ?? []) {
      await chat.users.sections.items.move({
        name: item.name!,
        requestBody: { targetSection: section.name! },
      });
    }
  }
  await chat.users.sections.position({
    name: section.name!,
    requestBody: { relativePosition: "START" },
  });
  return section;
}

スタブに届いたリクエストは、POST /v1/users/me/sections、スペースごとの GET /v1/users/me/sections/-/items?filter=space = spaces/... と POST .../items/{item}:move、最後に POST /v1/users/me/sections/{section}:position でした。

実際に使う前に、次の点を決めておきます。

  1. 同じ名前のセクションを重ねて作らない。 作成の前に list で同名のカスタムのセクションがないかを確かめます。list は省略時に最大10件、最大100件まで返すため、件数が多い人はページ送りが要ります
  2. 先にスペースのメンバーにしておく。 移す対象は本人のサイドバーにある項目で、上の例では items.list で見つからないスペースは何もせずに飛ばします。メンバーでないスペースがどう返るかは確認していないため、スペースへの追加はスペースの自動作成などで先に済ませておきます
  3. 既存の並びを壊さない。 本人がすでに作ったセクションに入っているスペースも、items.move で移ります。上書きしてよいかを本人に選ばせる作りにします

Chat APIで案件の情報を探しやすくする方法はメッセージ検索とピン留めで紹介しています。Chatのサイドバーに標準で加わった「ミーティング」のセクションについては、Google Chat に新しい「ミーティング」セクションが登場を参照してください。なお、2026年10月19日時点のAPIのセクションの種類(type)には、ミーティングにあたる値はありません。APIからどう見えるかは確認していません。

いつから使えるか

Chat APIのリリースノートでは、2025年12月11日にデベロッパープレビュー(先行利用の登録者向け)として公開され、2026年4月1日に一般提供(GA)になったと告知されています。クライアントライブラリでは、Pythonクライアント(google-api-python-client)に同梱された定義がrevision 20260405から、Node.js向けの @googleapis/chat が5月20日公開の44.7.0から対応しています。

確認した範囲

2026年10月17日に、Google Chat APIのDiscoveryドキュメント(revision 20261013)を取得し、users.sections と users.sections.items の各メソッド、GoogleChatV1Section・SectionItem・PositionSectionRequest・MoveSectionItemRequest の定義を原文で確認しました。加わった時期は、npmの @googleapis/chat 44.6.0・44.7.0の型定義と、google-api-python-client 2.193.0・2.195.0に同梱された定義を比べて確かめました(資料調査)。あわせて、@googleapis/chat 51.2.0でコード例の型チェックと、ローカルのスタブに向けた実行を行いました。2026年10月19日に、Chat APIのリリースノート、セクションの各ガイド(作成・削除・一覧・項目の一覧・移動・並べ替え)、users.sections のリファレンス、ヘルプ「Create & organize sections in Google Chat」を開き、提供段階と日付、前提となるアカウント、削除時の扱いを確かめて本文に反映しました。実際のChatの画面での表示は試していません。

Google Chatのスペースの運用や、案件ごとの情報共有の仕組みづくりは、IT・Google Workspace 無料相談からお問い合わせください。

参考資料

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

自社に合う、Workspaceの進め方を。

移行するデータ、共有ルール、管理体制を整理し、導入から日々の運用までの進め方を考えます。

  • 移行と初期設定
  • 共有・権限の整理
  • 管理体制
Workspaceの導入・運用を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る