SharePoint
ONLYOFFICEとSharePointの統合について
SharePointのコラボレーションプラットフォーム内でドキュメントを編集するには、公式のONLYOFFICEコネクタまたはWOPIを使用して、ONLYOFFICE Docsをドキュメントライブラリに統合することができます。詳細については、ONLYOFFICEからSharePointコネクタのGitHubページをご覧ください。このコネクタはAGPL-3.0ライセンスの下で配布されています。
主な機能
- テキストドキュメント、スプレッドシート、プレゼンテーションを編集するには、ファイルのコンテキストメニューまたはリボンからONLYOFFICEで編集を選択するか(公式コネクタ使用時)、ファイルをクリックするだけです(WOPI使用時)。
- リアルタイムでの共同編集が可能で、2つの共同編集モード高速と厳密(公式コネクタ使用時に利用可能;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、CSV、PDF
- 表示のみ:DJVU、XPS
ONLYOFFICE DocsをSharePointに接続する
要件
-
ONLYOFFICE Document Server v7.1(サーバーまたはクラウドバージョン)以降
この指示に従ってWOPIを有効にする必要があります。こちらの指示をご覧ください。
SharePointおよびエンドクライアントから解決可能で接続可能なONLYOFFICE Docsのインスタンスが必要です。また、SharePointに直接POSTできる必要があります。
ONLYOFFICE Docsのインストールについて詳しく知りたい方は、公式のドキュメントページをご覧ください。 - SharePoint 2019
- SharePoint用ONLYOFFICE Connector 3.0
ONLYOFFICEとSharePointのインストールと設定
ONLYOFFICE SharePoint統合ソリューションは、GNU AGPL v.3ライセンスの下でGitHubページで入手可能な公式のONLYOFFICEコネクタです。
- スタートをクリックし、すべてのプログラムをポイントし、管理ツールをポイントしてからサービスをクリックし、SharePoint管理サービスが開始されていることを確認します。
- スタートをクリックし、SharePoint管理シェルを開き、.wspファイルを含むディレクトリに移動します。
- Install.ps1スクリプトを実行します:
PS> .\Install.ps1 -
SharePointサイトのアドレスを入力します:
https://<yoursharepointsite>ステップ3と4の代わりに、次のコマンドを入力することもできます:Add-SPSolution -LiteralPath<solutionpath>/onlyoffice.wspSharePoint中央管理ホームページで、システム設定 → ファーム管理 → ファームソリューションの管理をクリックします。ソリューション管理ページで、onlyoffice.wspをクリックし、ソリューションの展開をクリックします。
- SharePoint中央管理ホームページで、アプリケーション管理の下にあるWebアプリケーションの管理をクリックします。
- サイトを選択し、認証プロバイダーアイコンをクリックします。
- 認証プロバイダーポップアップウィンドウで、デフォルトゾーンをクリックします。
- 認証の編集で、匿名アクセスを有効にするをチェックし、保存をクリックします。
- Webアプリケーション管理に戻り、匿名ポリシーアイコンをクリックします。
- 匿名アクセス制限で、ゾーンを選択し、権限をなし – いいえポリシーを設定し、保存をクリックします。
- SharePointで、管理設定ページ/_layouts/15/Onlyoffice/Settings.aspxを開き、次のアドレスを入力します:
documentserverはONLYOFFICE Docsがインストールされているサーバーの名前です。このアドレスはユーザーブラウザとSharePointサーバーからアクセス可能である必要があります。SharePointサーバーのアドレスもONLYOFFICE Docsからアクセス可能である必要があります。https://<documentserver>/
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効化され、シークレットキーは自動的に生成されます。SharePoint側でも有効化する必要があります:ONLYOFFICE Docsの設定ファイルでシークレットキーを見つけ、SharePoint管理設定で同じシークレットキーを指定してください。詳細はこの記事のONLYOFFICEとSharePoint統合のためのJWTの有効化セクションを参照してください。
JWT保護が有効化されている場合、カスタムヘッダー名を指定する必要があります。これはSharePointセキュリティポリシーが外部の'Authorization'ヘッダーをブロックするためです。このヘッダーはONLYOFFICE Docs署名設定でも指定する必要があります(詳細はこちらで確認できます)。
ONLYOFFICE SharePoint統合ソリューションのコンパイル
ONLYOFFICE SharePoint統合ソリューションをコンパイルする方法は2つあります:
- MS Visual Studioを使用する場合:
- SharePointサーバーに入り、このプロジェクトをVisual Studioで開きます。
- ソリューションエクスプローラーで、プロジェクトのショートカットメニューを開き、発行を選択します。
- 発行ダイアログボックスで、ファイルシステムに発行オプションボタンを選択します。
- 発行ボタンをクリックします。発行プロセスが終了すると、ソリューション.wspファイルが作成されます。
- 生成されたファイルをInstall.ps1ファイルがあるフォルダ(デフォルトではBuildAndInstallフォルダ)にコピーします。
-
提供されているbuild.batファイルを使用する場合:
- BuildAndInstallフォルダに移動します。
- build.batファイルを実行します。
- 生成されたソリューション.wspファイルが作成され、BuildAndInstallフォルダに配置されます。
動作の仕組み
ONLYOFFICEの統合は、こちらで文書化されたAPIに従います。
- ユーザーはSharePoint内のドキュメントに移動し、コンテキストメニューまたはリボンでONLYOFFICEで編集アクションを選択します。
- SharePointはエディターページにリクエストを行います(形式のURL:/_layouts/15/Onlyoffice/editorPage.aspx?SPListItemId={ItemId}&SPListURLDir={ListUrlDir}&action=track)。
- SharePointは次のプロパティを持つJSONオブジェクトを準備します:
- url - ONLYOFFICE Docsがドキュメントをダウンロードするために使用するURL;
- callbackUrl - ONLYOFFICE Docsがドキュメント編集のステータスを通知するURL;
- DocumentSeverHost - クライアントがONLYOFFICE Document Serverに応答するために必要なURL(設定ページで設定可能);
- Key - SharePointからのファイル識別子;
- FileName - ドキュメントのタイトル(名前);
- CurrentUserId - ユーザー識別子;
- CurrentUserName - ユーザー名。
- SharePointはこれらの値をすべて埋め込んでページを構築し、クライアントブラウザがエディターを読み込めるようにします。
- クライアントブラウザはONLYOFFICE DocsのJavaScriptライブラリにリクエストを行い、上記のプロパティを持つDocEditor設定をONLYOFFICE Docsに送信します。
- その後、ONLYOFFICE DocsはSharePointからドキュメントをダウンロードし、ユーザーは編集を開始します。
- すべてのユーザーとクライアントブラウザが編集を終了し、編集ウィンドウを閉じます。
- 10秒の非アクティブ状態の後、ONLYOFFICE DocsはcallbackUrlにPOSTを送信し、SharePoint ONLYOFFICEソリューションにクライアントがドキュメントの編集を終了し、閉じたことを知らせます。
- SharePointは新しいバージョンのドキュメントをダウンロードし、古いものを置き換えます。
ONLYOFFICEとSharePoint統合のためのJWTの有効化
ドキュメントを不正アクセスから保護するために、ONLYOFFICEエディターはJSON Web Token(JWT)を使用します。トークンはDocument Editorが初期化される際と、内部ONLYOFFICE Docsサービス間のコマンド交換時に設定に追加されます。シークレットキーはJSON Webトークンを署名し、ONLYOFFICE Docsへのリクエスト時にトークンを検証するために使用されます。
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効化され、シークレットキーは自動的に生成されます。ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定してください。
ステップ1: ONLYOFFICE Docs設定ファイルでシークレットキーを見つける
-
任意のテキストエディターでlocal.jsonファイルを開きます。
- Linuxの場合 -
/etc/onlyoffice/documentserver/local.json - Windowsの場合 -
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json - Dockerの場合 –
docker exec -it <containerID> bashコマンドを使用してONLYOFFICE Docsコンテナに入り、/etc/onlyoffice/documentserver/local.jsonを開きます。または、local.jsonを開かずにデフォルトのシークレットキーを見つけるために次のコマンドを使用できます:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
local.jsonファイルは次のようになります:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} - Linuxの場合 -
true値は3つのセクションで指定されています。これはトークン検証が有効であることを意味します。services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
自動生成されたシークレットキーは3つのセクションで指定されています。デフォルトのシークレット値を独自のシークレットキーに置き換えることができます。シークレットキーは3つのセクションで同じである必要があります。
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
変更を加えた場合は、それを保存し、設定変更を反映させるためにサービスを再起動します。
supervisorctl restart all
ステップ2: コネクタ設定で同じシークレットキーを指定する
コネクタ設定で、シークレットキーフィールドに同じシークレットを指定し、設定を保存します。
WOPIを使用してONLYOFFICE Docsを接続する
ONLYOFFICE DocsをSharePointとWOPIを介して接続することもできます。WOPIはRESTベースのプロトコルで、クライアントがサーバーにデータを接続する際に一連のRESTエンドポイントにHTTPリクエストを発行します。
- エディターはバージョン履歴機能をサポートしていません。
- 差し込み印刷機能のサポートがありません。
- ストレージからの画像挿入をサポートしていません。
- ストレージからのドキュメント比較をサポートしていません。
- 次の形式のサポートがありません:DOC、XLS、PPT。
WOPIを介してONLYOFFICEをSharePointに接続するには、
- 要件を満たしていることを確認します。
- SharePointサーバーを開きます。SharePoint管理シェルコンソールを実行し、次のコマンドで必要なWOPIゾーンを設定します:
Set-SPWOPIZone -Zone "external-http"documentserverはデフォルトでexternal-httpパラメータを使用します。 -
現在のファームで他のドキュメントタイプにWOPIバインディングがあるかどうかを確認するには、次のコマンドを実行します:
これらのバインディングがある場合は、次のコマンドを実行して削除します:Get-SPWOPIBindingRemove-SPWOPIBinding -All:$true -
ファイルタイプごとにデフォルトアクションのための新しいバインディングを作成します。
すべてのファイルタイプに対して一度にバインディングを作成するには、次のコマンドを実行します:
特定のファイルタイプのみにバインディングを作成するには、次のコマンドを実行します:New-SPWOPIBinding -ServerName ip_or_domain.com:portNew-SPWOPIBinding -ServerName ip_or_domain.com:port -Extension DOCXSSLが使用されていない場合は、コマンドの最後に-AllowHTTPを追加します。
新しいドキュメントの作成
新しいドキュメントを作成できるようにするには、以下に説明するパラメータを設定します。この例はDOCXファイルのみを対象としていますが、同様にXLSX、PPTX、その他のファイルを追加できます。
- コンテンツタイプの管理を許可する設定を有効にします:ドキュメント → ライブラリ設定 → 詳細設定に移動します。コンテンツタイプの管理を許可するセクションではいを選択し、OKをクリックします。


- ドキュメントライブラリで、サイトコンテンツ → サイト設定 → サイトコンテンツタイプに移動します。作成をクリックします。フォームに記入します:名前(新しいドキュメント)、説明。親コンテンツタイプでドキュメントコンテンツタイプ、ドキュメントを選択します。既存のグループでカスタムコンテンツタイプを選択し、OKをクリックします。


- ドキュメントライブラリで、サイトコンテンツ → サイト設定 → サイトコンテンツタイプに移動します。最近追加された新しいドキュメントを選択します。詳細設定 → ドキュメントテンプレート → 新しいドキュメントテンプレートをアップロードに移動します。ファイルを選択ボタンをクリックし、必要なドキュメントをアップロードし、OKをクリックします。


- ドキュメントライブラリ → ライブラリ設定に移動します。コンテンツタイプセクションで既存のサイトコンテンツタイプから追加を選択します。サイトコンテンツタイプを選択リストでカスタムコンテンツタイプを選択します。利用可能なサイトコンテンツタイプフィールドで新しいドキュメントを選択します。追加 >ボタンをクリックし、OKをクリックします。


- ドキュメントライブラリでページを更新し、「新規」ボタンを押します。


- ドキュメントコンテンツタイプは自動的に追加されます。これは新しいコンテンツタイプのドキュメントを作成するための親タイプです。ドキュメントライブラリ → ライブラリ設定で非表示にする必要があります。コンテンツタイプセクションで新しいボタンの順序とデフォルトのコンテンツタイプを変更を選択します。


表示列で、ドキュメントコンテンツタイプのチェックボックスをオフにし、OKをクリックします。


- ドキュメントライブラリでページを更新し、「新規」ボタンを押すと、新しいドキュメントメニュー項目のみが利用可能になります。それを使用してドキュメントを作成します。

