NextCloud13から外部ストレージとしてGoogle Driveを利用する方法
NextCloudのバージョンを12から13にアップグレードしたところ、今まで利用していたGoogle Driveへの接続がすべて切断されてしまいました。
なぜだろう?と思って調べたところ、今まで外部ストレージアプリでOKだったものが
External storage support for Google Driveと分離されたようです。
Google API設定
Google DriveAPIを利用するため、NextCloudからの保存先としてGoogle Driveを利用したいユーザカウントでログインします。
Google Drive APIを有効化
https://console.developers.google.com/apis/dashboard へアクセスし、新規プロジェクトを適当な名前で作成します。
上部のメニューバーの▼をクリックします。
適当なプロジェクト名を入力し、作成をクリックします。
ライブラリへ移動し、Google Drive APIを有効化します。
認証情報の作成
左サイドバーにある認証情報をクリックします。
認証情報を作成をクリックします。
OAuthクライアントIDをクリックします。
ユーザに表示するサービス名を入力し保存をクリックします。
ウェブアプリケーションにチェックを入れ、名前欄に適当な名前を入力し、作成をクリックします。
OAuthクライアントIDと、クライアントシークレットキーが表示されるるので、メモ帳などにメモしておきます。
コールバックURLを設定する
承認済みのJavaScript生成元欄に、NextCloudを動かしているFQDN名を入力します。
承認済みのリダイレクトURI欄に下記URLを入力し、保存をクリックします。
https://<<FQDN>>/index.php/settings/user/externalstorages
https://<<FQDN>>/index.php/settings/admin/externalstorages
https://<<FQDN>>/index.php/settings/personal/
https://<<FQDN>>/index.php/personal/
NextCloud側設定
アプリを追加する
管理者ユーザでログインし、右上のアイコンをクリックします。
アプリをクリックします。
External stirage support for GoogleDriveを有効化します。
NextCloudに外部ストレージを設定する
管理者権限をもつユーザでNextCloudにログインします。
右上ユーザアイコンをクリックし、設定をクリックします。
左サイドバーにある、外部ストレージをクリックします。
ストレージを追加をクリックし、GoogleDriveを選択します。
OAuthクライアントを作成した際に表示さえた、クライアントIDとシークレットキーを入力し、アクセス許可をクリックします。
Googleにログインページが表示されるので、APIを設定したアカウント同じIDでログインします。
アクセス許可を求められるので、許可をクリックします。
NextCloud外部ストレージ設定画面へ戻ってくるので、設定したドライブ横に○がついたことを確認します。
フォルダ名は必要に応じて変更します。
設定した外部ストレージを利用することができるユーザを指定します。
URLリンクでの共有を行いたい場合には、歯車アイコンをクリックし、共有の有効化にチェックを入れます。
NextCloudからGoogle Driveへ保存する
先ほど設定したフォルダ名が表示されているはずなので、フォルダをクリックします。
+アイコンをクリックし、ファイルのアップロードをクリックし、アップロードしたいファイルを選択します。
アップロード完了後Google Drive側でアップロードしたファイルが確認できれば完了です。