ONLYOFFICE DocsとSharepointを連携させる方法

## 概要

SharePoint連携プラットフォーム上でドキュメントを編集するために、ONLYOFFICE Docsとドキュメントライブラリを接続するには、ONLYOFFICE公式のコネクタを利用するか、WOPIを利用することをお勧めします。

## 主な機能

* ファイルのコンテキストメニューやリボン内の「ONLYOFFICEで編集」オプション（公式コネクタ使用時）、またはファイルをクリック（WOPI使用時）してテキストドキュメント、スプレッドシート、スライドの編集ができます。
* リアルタイムでのドキュメント共同編集：2つの共同編集モード（公式コネクタでは高速と厳密、WOPIでは高速のみ）、変更履歴機能、コメント、内蔵チャットの使用ができます。

:::note warn
WOPIの警告。アクセストークンは一定期間経過すると失効します。高速共同編集モードでは、`access_token_ttl` プロパティを 10 時間に設定してください。厳格共同編集モードでは、アクセストークンのパラメータに悪影響を及ぼす可能性があります。
:::

## 対応フォーマット

公式コネクター用：
* 表示・編集用：DOCX、XLSX、PPTX、PPSX
* 閲覧のみ：PDF、DJVU、TXT、CSV、ODT、ODS、ODP、DOC、XLS、PPT、PPS、EPUB、RTF、HTML、HTM、MHT、XPS

WOPI用：
* 閲覧・編集用：DOCX、XLSX、PPTX、DOCM、XLSM、PPTM、ODT、ODS、ODP、TXT、CSV
* 閲覧のみ：PDF、DJVU、XPS

## ONLYOFFICE公式コネクタを利用したONLYOFFICE Docsとの連携

ONLYOFFICE SharePoint統合ソリューションは、GNU AGPL v.3ライセンスのもと、[GitHubページ](https://github.com/ONLYOFFICE/onlyoffice-sharepoint)で公開されているONLYOFFICE公式コネクタです。

:::note warn
ONLYOFFICE SharePoint統合ソリューションの動作とコンパイル方法については、[APIドキュメント](https://api.onlyoffice.com/editors/sharepoint)をご覧ください。
:::

ONLYOFFICE Docs を SharePoint に接続するために、以下のステップをご参照ください。

１．以下のアプリケーションがインストールされているか確認してください。
* ONLYOFFICE Docs: v. 5.4 以上

:::note warn
ONLYOFFICE Docs v. 6.4.1 以降は、[こちらの手順](https://api.onlyoffice.com/editors/wopi/)で WOPI を有効にする必要があります。
:::

* SharePoint：2019年

:::note warn
ONLYOFFICE Docs のインスタンスは、SharePoint および任意のエンドクライアントから解決および接続可能である必要があります。ONLYOFFICE Docs は、SharePoint に直接 POST できる必要があります。ONLYOFFICE Docsをインストールするには、[こちらの手順](https://helpcenter.onlyoffice.com/installation/docs-index.aspx)に従ってください。
:::

２．「スタート」をクリックし、「すべてのプログラム」、「管理ツール」「サービス」の順にクリックし、SharePoint Administration サービスが開始されていることを確認します。
３．「スタート」をクリックし、「SharePoint Management Shell」をクリックし、*.wsp* ファイルのあるディレクトリに移動します。
４．*Install.ps1* スク リプトを実行します。
```
PS> .\Install.ps1
```
５．SharePointのサイトアドレスを入力します。
```
https://<yoursharepointsite>
```
:::note warn
手順3、4の代わりに、以下のコマンドを入力することができます。

```
Add-SPSolution -LiteralPath<solutionpath>/onlyoffice.wsp
```

SharePoint 中央管理のホーム ページで、「システム設定」 > 「ファーム管理」 > 「ファーム ソリューションの管理」 の順にクリックします。「ソリューション管理」 ページで、*onlyoffice.wsp* をクリックし、「ソリューションの配備」をクリックします。
:::

６．SharePoint 全体管理のホームページで、「アプリケーション管理」の「Web アプリケーションの管理」をクリックします。
７．サイトを選択したことを確認し、「認証プロバイダ」アイコンをクリックします。
８．「認証プロバイダ」ポップアップウィンドウで、「デフォルトゾーン」をクリックします。
９．「認証の編集」で、「匿名アクセスを有効にする」をチェックし、「保存」をクリックします。
１０．「Webアプリケーション管理」に戻り、「匿名ポリシー」アイコンをクリックします。
１１．「匿名アクセスの制限」でゾーンを選択し、「アクセス権」を「なし」-「ポリシーなし」に設定して「保存」をクリックします。
１２．SharePointで、管理者設定のある */_layouts/15/Onlyoffice/Settings.aspx* ページを開きます。次のアドレスを入力します。
```
https://<documentserver>/
```
ここで、documentserverはONLYOFFICE Docsがインストールされているサーバーの名前です。このアドレスは、ユーザーブラウザとSharePointサーバーからアクセス可能でなければなりません。また、ONLYOFFICE Docsが正しく動作するためには、SharePointサーバーのアドレスもアクセス可能である必要があります。

:::note warn
SharePointでサブサイトを設定している場合、ONLYOFFICE Docsを正しく動作させるために、それぞれのサブサイトで追加で接続設定をする必要があります。各サブサイトの設定に移動し、適切なフィールドにDocsアドレスを入力します。
:::

## WOPI を利用した ONLYOFFICE Docs の接続

ONLYOFFICE Docs と SharePoint は、WOPI（クライアントがデータを持つサーバに接続を確立する際に、一連の REST エンドポイントに HTTP リクエストを発行する REST ベースのプロトコル）を介して接続することもできます。

:::note warn
ONLYOFFICE Docs を WOPI 経由で接続すると、WOPI アーキテクチャのため、いくつかの機能が不足することにご注意ください。
* エディタは、バージョン履歴機能をサポートしていません。
* メールマージ機能はサポートしていません。
* エディタは、ストレージからの画像の挿入をサポートしていません。
* ストレージに保存されている文書の比較はサポートしていません。
* DOC、XLS、PPTの形式はサポートされていません。
:::

ONLYOFFICEとSharePointをWOPIで接続するには、以下のステップをご参照ください。

１．以下のアプリケーションがインストールされていることを確認してください。
* ONLYOFFICE Docs：v.6.4以降。

:::note warn
ONLYOFFICE Docs v.6.4.1からは、こちらの手順でWOPIを有効化する必要があります。
:::

* SharePoint：2019年

２．SharePoint サーバを開きます。SharePoint Management Shell コンソールを実行し、以下のコマンドで必要な WOPI ゾーンを設定します。
```
Set-SPWOPIZone -Zone "external-http"
```
:::note warn
文書サーバーは、デフォルトでexternal-httpパラメータを使用します。
:::

３．以下のコマンドを実行して、現在のファーム上に他のドキュメントタイプへのWOPIバインディングがあるかどうかをチェックします。
```
Get-SPWOPIBinding
```
これらのバインディングがある場合は、以下のコマンドを実行して削除します。
```
Remove-SPWOPIBinding -All:$true
```
４．デフォルトアクションのための新しい結合を、ファイルタイプごとに作成します。すべての種類のファイルに対するバインディングを一度に作成するには、次のコマンドを実行します。
```
New-SPWOPIBinding -ServerName ip_or_domain.com:port
```
特定のファイルタイプにのみバインディングを作成するには、以下のコマンドを実行します。
```
New-SPWOPIBinding -ServerName ip_or_domain.com:port -Extension DOCX
```
:::note warn
SSL を使用しない場合は、コマンドの末尾に `-AllowHTTP` を追加します。
:::