Friday, August 7, 2020

Liferay 7とGoogle Drive / Google Docsを連携させる

こんにちは。おおたにです。

昨今のクラウドサービスの浸透に加えてコロナ禍もあり、オンラインストレージサービスやオンラインオフィスソフトウェアも一般的と言っていいまでに普及しているかと思います。今回は、これらのサービスの代表格であるGoogle Drive / Google DocsとLiferayの連携について紹介します。

Liferayはドキュメントライブラリと呼ばれるファイル管理の機能を持っています。Google Drive / Google Docs連携はドキュメントライブラリとの連携を行うもので、以下の2種類の連携があります。
  • ドキュメントライブラリ上にGoogle Driveのファイルのリンクを作成する
  • ドキュメントライブラリ上のファイルをGoogle Docsを使ってブラウザ上で編集する(=オンライン編集)
1つ目の連携はLiferay MarketplaceのアプリLiferay Plugin for Google Driveで実現できます。詳しい説明はGoogle Driveへのリンクを参照してください。

2つ目の連携はLiferay DXP 7.2で追加された新機能になります。本記事ではこちらの機能の詳細と設定方法を説明します。なお、同様の機能を提供するOffice 365連携も新機能として追加されましたが、こちらは別の機会に紹介したいと思います。

新しいGoogle Drive/Google Docs連携機能の紹介


前述のとおり、ドキュメントライブラリ上のファイルをGoogle Docsを使ってブラウザ上で編集することができます。具体的にできることは以下のとおりです。
  • Google Docsを使い、新規ファイル(Doc, Slide, Sheet)をブラウザ上で作成する
  • 作成したファイルをMS Office形式(Word, PowerPoint, Excel)でドキュメントライブラリに保存する
  • ドキュメントライブラリ上のMS Office形式のファイルをGoogle Docsを使ってブラウザ上で編集する
なお、Google Docsでファイル編集を開始するとGoogle Drive上にファイルがコピーされ、Google Docsでの編集を終えてファイルをLiferayに保存するとGoogle Drive上のファイルは削除されます。詳しい説明はLiferayヘルプセンターのこちらの記事こちらの記事を参照してください。

Google Cloud Platformの連携設定を行う


次に、設定方法を紹介します。Google側とLiferay側の両方に設定が必要ですが、まずはGoogle側の設定を行います。具体的には、Google Drive APIをLiferayが利用できるように有効化し、Liferay向けにOAuth2.0クライアントIDを発行します。

1. Google Cloud Platform Consoleにアクセスし、管理ユーザでログインする
2. 適当なプロジェクトを選択する。もしくは新しいプロジェクトを作成する
3. 「APIとサービス」に移動し、「APIとサービスの有効化」をクリックする


4. Google Drive APIを検索し、「有効にする」をクリックして有効化する


5. 「APIとサービス」の「OAuth同意画面」に移動して同意画面を設定する(最低限アプリケーション名を入力すればOK)
6. 「APIとサービス」の「認証情報」に移動する
7. 「認証情報を作成」の「OAuthクライアントID」をクリックする


8. 以下のとおり入力して「作成」をクリックする
  • アプリケーションの種類 : ウェブアプリケーション
  • 名前 : アプリケーション名を入力する(認証時に表示されます)
  • 承認済みの JavaScript 生成元URI : LiferayサーバのURL(http://<host or IP>:<port>)
  • 承認済みのリダイレクトURI : http(s)://<host or IP>:<port>/o/document_library/google/oauth2


9. クライアントIDとクライアントシークレットが表示されるので、それらを手元に控える

以上でGoogle側の設定は完了です。

Liferayの設定を行う


続いて、Liferay側の設定を行います。

1. Liferay DXP 7.2に管理者でログインする
2. 「Control Panel」->「Configuration」->「Instance Settings」->「Documents and Media」をクリックする(この場合、インスタンス毎の設定になります。グローバルに設定する場合は「System Settings」->「Documents and Media」をクリックします)


3. 「Google Drive」を選択し、Client IDとClient Secretに先ほど控えたクライアントIDとクライアントシークレットを入力して「Save」をクリックする



以上です。とても簡単ですね!

動作確認してみよう


では早速動作確認してみましょう。ドキュメントとメディア(管理者向けでもページ上に配置されたユーザ向けポートレットでもOK)で新規作成メニューをクリックすると、Google Doc、Google Slide、Google Sheetが表示されるようになります。


これらをクリックするとGoogleアカウントの認証画面に遷移するので認証情報を入力します。初回はアクセス許可を行う必要があり、それが完了するとLiferayユーザとGoogleアカウントが紐づき、次回からは聞かれないようになります。そして、Google Drive上にファイルが生成されGoogle Docsでオンライン編集できるようになります。


「Save and Return to Liferay DXP」をクリックするとGoogle Drive上のファイルをLiferayに保存し、Liferayの画面に戻ります(この時Google Drive上のファイルは削除されます)。アクションメニューの「Edit in Google Docs」をクリックすると、Google DriveにファイルをコピーしてGoogle Docsでのオンライン編集が始まります。



今回の紹介は以上です。簡単な設定でGoogle Drive / Google Docsを使ったファイルのオンライン編集が実現できますので、是非みなさまも試してみてください。

No comments: