Nextcloud

【techblog】 Nextcloud と OneDrive の連携設定を行う手順

【注意】
本記事で紹介している External Storage: OneDrive アプリは、2024/9/30 時点で Nextcloud 22 以降のバージョンに対応したものがリリースされておりません。
最新のNextcloudでは、外部ストレージとしてOneDriveを連携することはできませんので、あらかじめご了承ください。

はじめに

Nextcloud では、システム自身のストレージのほかに、 NFS、 Amazon S3、 SMB/CIFS 等様々な外部ストレージを連携することができます。
普段の業務等で Microsoft® Office 365 にバンドルされている OneDrive をクラウドストレージとして利用している方もいらっしゃるかと思いますが、ここでは、OneDrive を Nextcloud の外部ストレージとして連携する手順を展開します。

連携設定手順

■Nexcloud 側の設定 (管理者)

※まず、Nextcloud で OneDrive 連携を行うための追加アプリをインストール / 設定します。

  1. Nextcloud に管理者権限をもつアカウントでログインし、アプリ画面を開く。
  2. 右上の虫メガネアイコンをクリックし、 “OneDrive” のキーワードを入力すると External Storage: OneDrive アプリが表示されるので、有効にする(ダウンロード済みの場合) / ダウンロードして有効にする(未ダウンロードの場合) をクリックする。
  3. Nextcloud 設定画面を開く。
  4. 「管理」の下にある 外部ストレージ をクリックする。
  5. 外部ストレージ 設定画面にて以下の設定を行う。設定は即時反映される。
    • ユーザーに外部ストレージの接続を許可する をチェックする。
    • OneDrive をチェックする。

■OneDrive 側の設定

  1. https://portal.azure.com/ にアクセスし、OneDrive に接続する Microsoft アカウントでログインする。
  2. Azure Active Directory をクリックする。
  3. アプリの登録 をクリックする。
  4. 新規登録 をクリックする。
  5. 以下の設定を行い、登録 をクリックする。
    • 名前 は識別できるものを適当に設定する。
    • 任意の組織ディレクトリ内のアカウント (任意の Azure AD ディレクトリ - マルチテナント) と個人の Microsoft アカウント (Skype、Xbox など) を選択する(デフォルトで選択済み)。
    • リダイレクトURI は、Web を選択し、 https://(NextcloudのFQDN)/settings/user/externalstorages (=Nextcloud の外部ストレージ設定画面のURLと同一です) を入力する。
  6. アプリケーション (クライアント) ID にマウスカーソルをあてると クリップボードにコピー がでてくるので、コピーしメモ帳などで保存しておく。
    引き続き、 証明書とシークレット をクリックする。
  7. 新しいクライアントシークレット をクリックする。
  8. 以下の設定を行い、追加 をクリックする。
    • 説明 は識別できるものを適当に設定する。
    • 有効期間 は用途に応じて適切に設定する。動作確認程度なら「1 年」でもOK。
  9. 値 にシークレットキーが表示されるのでアイコンをクリックしてコピーしてメモ帳などで保存しておく。
    引き続き API のアクセス許可 をクリックする。
  10. アクセス許可の追加 をクリックする。
  11. (見えない場合は下にスクロールして) Microsoft Graph をクリックする。
  12. 委任されたアクセス許可 をクリックする。
  13. アクセス許可を選択する で以下のアクセス許可を選択する。
    「アクセス許可を選択する」の下の入力欄でキーワード絞り込みができる。

    • Files.ReadWrite.All
    • offline_access
    • User.Read (これはデフォルトで選択済み)
  14. 選択したら アクセス許可の追加 をクリックする。
  15. ここまできたら、 Azure Active Directory (=OneDrive側) の設定は完了です。

■Nexcloud 側の設定 (利用者)

  1. Nextcloud にログインし、設定画面を開く。
  2. 外部ストレージ をクリックする。
  3. 外部ストレージ 設定画面にて以下の設定を行い アクセスを許可 をクリックする。
    • フォルダー名 は Nextcloud で表示させるフォルダー名を設定する。
    • 外部ストレージ は OneDrive を選択する。
    • 認証 は OAuth2 が自動選択される。
    • 設定 では以下を設定する。
      • クライアントID に OneDrive 側設定で取得した アプリケーション (クライアント) ID を設定する。
      • クライアント秘密鍵 に OneDrive 側設定で取得した シークレットキー を設定する。
  4. Microsoft サインイン画面が表示されるので、OneDrive 接続を行っている Microsoft アカウントでサインインする。
  5. 要求されているアクセス許可 で 承諾 をクリックする。
  6. Nextcloud 設定画面に戻り、グリーンシグナルになっていれば設定完了です。
  7. 通常のファイル表示画面に戻ると、外部ストレージとして OneDrive のフォルダーが表示されているはずです。

注意点

  • Nextcloud の External Storage: OneDrive アプリは、古いバージョンではバグがあり、連携設定が完了しても OneDrive へのアクセスがエラーとなることがあるので、最新版を利用するようにしてください。

あとがき

Nextcloud と OneDrive の連携設定は、OneDrive 側の設定が若干面倒ですが、連携設定することで異なるクラウドストレージのアクセスを Nextcloud に統合できますので、試してみてください。

【参考】GitHub – hevelius/files_external_onedrive