# 共同編集

- Human documentation: [https://docs.univer.ai/ja-JP/guides/sheets/features/collaboration](https://docs.univer.ai/ja-JP/guides/sheets/features/collaboration)

- Agent Markdown: [https://docs.univer.ai/ja-JP/guides/sheets/features/collaboration.md](https://docs.univer.ai/ja-JP/guides/sheets/features/collaboration.md)

- Requested language: `ja-JP`

- Content language: `ja-JP`

- Documentation version: `1.1.0`

- Source: [sheets/features/collaboration.ja-JP.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/sheets/features/collaboration.ja-JP.mdx)

---

#### Package metadata

```json
{
  "preset": [
    {
      "client": "@univerjs/preset-sheets-collaboration",
      "locale": "@univerjs/preset-sheets-collaboration/locales/ja-JP",
      "style": "@univerjs/preset-sheets-collaboration/lib/index.css"
    }
  ],
  "plugins": [
    {
      "client": "@univerjs-pro/collaboration"
    },
    {
      "client": "@univerjs-pro/collaboration-client",
      "facade": "@univerjs-pro/collaboration-client/facade",
      "locale": "@univerjs-pro/collaboration-client/locale/ja-JP"
    },
    {
      "client": "@univerjs-pro/collaboration-client-ui",
      "facade": "@univerjs-pro/collaboration-client-ui/facade",
      "locale": "@univerjs-pro/collaboration-client-ui/locale/ja-JP",
      "style": "@univerjs-pro/collaboration-client-ui/lib/index.css"
    }
  ],
  "license": true,
  "server": true
}
```

[共同編集の統合](https://docs.univer.ai/ja-JP/server/collaboration/browser-integration.md)に沿って、サンプルの実行、アプリへの組み込み、永続化と権限の検証を進めてください。実装と Web/Server サンプルは [共同編集クイックスタート](https://docs.univer.ai/ja-JP/server/collaboration/quick-start.md) を参照してください。

認証済みの業務 API から Collaboration Service を呼び出して Unit を作成し、返された ID をブラウザーで読み込みます。[共同編集クイックスタート](https://docs.univer.ai/ja-JP/server/collaboration/quick-start.md) で HTTP、Session Ticket、WebSocket を設定し、Database Adapter で永続化します。読み取り、JOIN、編集は[サーバー側の権限](https://docs.univer.ai/ja-JP/server/collaboration/identity-and-authorization.md)で個別に保護してください。

## 文書を読み込む

文書を読み込む前に現在のユーザーを設定してください。現在のユーザーは共同編集の身元とローカルのオフラインキャッシュの所有者を決めます。設定後、Facade で明示的に読み込みます。

```ts
import { UserManagerService } from '@univerjs/core'
import '@univerjs-pro/collaboration-client/facade'

univer.__getInjector().get(UserManagerService).setCurrentUser({ userID, name, avatar })

const collaboration = univerAPI.getCollaboration()
const unit = await collaboration.loadSheetAsync('your-unit-id')
```

> [!WARNING]
> 現在のバージョンの `UniverCollaborationClientUIPlugin` は、起動時に URL の `unit` と `type` クエリを読んで文書を自動的に読み込みます。この動作は非推奨で、今後のバージョンで削除されます。初期化時に `enableUrlUnitLoader: false` を設定して無効にしてください。

以下の設定を既存のプラグイン登録または共同編集プリセット呼び出しに統合します。プリセットモードでは、`collaborationPreset` を既存の `createUniver()` のプリセット一覧に追加します。

#### プラグインモード

```ts
import { UniverCollaborationClientUIPlugin } from '@univerjs-pro/collaboration-client-ui'

univer.registerPlugin(UniverCollaborationClientUIPlugin, {
  enableUrlUnitLoader: false,
})
```

#### プリセットモード

```ts
import { UniverSheetsCollaborationPreset } from '@univerjs/preset-sheets-collaboration'

const collaborationPreset = UniverSheetsCollaborationPreset({
  universerEndpoint: 'https://your-backend.example.com',
  enableUrlUnitLoader: false,
})
```

[Node.js / AI SDK](https://docs.univer.ai/ja-JP/ai/content-operations.md) · [OT](/blog/ot)
