毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
1. はじめに
Nextcloudを個人的に使っている分には困ることはあまりないと思いますが、企業で使い始めたり、何かソリューションとして動かしたい場合には自動化したいですよね。
しかし、その為にNextcloudのアプリケーション(以下アプリ)を作り込んだりすると、Nextcloudのバージョンアップで対応できなくなったり、動かなくなったりする事も考えられます。
そういう事を避けるためには、Nextcloudのフレームワークに依存しないで自動化できた方が後々便利だったりします。そういうときのためにAPIを使って疎結合しておくというのはよい方法だと思います。
そこで、Nextcloudが標準で備えているAPIを各種ご紹介しておきます。
2. Nextcloud API
1. ユーザー管理API
ユーザーとグループとアプリを管理できるAPIです。
ユーザーリストや個別のユーザー情報を取得できます。また、グループを追加してグループへユーザーを所属させることも可能です。グループからユーザーリストやユーザーから所属グループを取り出すこともできます。ユーザーをグループ管理者に割り当てることもできるようになりました。
2. WebDAVクライアントAPI
主にWebDAVに関するAPIです。ファイルのアップロード・ダウンロードが可能です。Nextcloudで拡張されているゴミ箱や履歴についても表示できるAPIがあり、いくつかファイルに関する検索も可能です。
3. ファイル共有API
古くからあるAPIですが、ファイル・フォルダーの共有と解除、URL共有のURL発行ができます。共有先を指定したり、共有ファイルの権限(編集や削除)を指定します。最近は、クラウド連携(別のNextcloudとの連携)での共有も可能なりました。
4. LDAP設定API
LDAP設定を追加、編集、削除できるAPIです。あまり、ユースケースを思いつきませんが、ログインフィルターやグループフィルターを頻繁に修正する事がある場合は便利かもしれません。
5. Notification API
Webブラウザー上の画面で通知ポップアップを出す機能のAPIです。元々、Notification というアプリがありますが、その機能の拡張になります。このアプリはモバイルアプリとも連携していて、このNotification APIで通知した場合モバイルアプリ側でも通知がPushで送信されたものを受信できます。ファイルActivityとは違う機能です。
3. まとめ
NextcloudはownCloud時代から企業ニーズに応えて発展してきて、APIも充実してきました。やはり、外部システムとの連携というのは何かGlueを使ってプログラミングレスで動かせると便利なのでAPIが必要だと思います。
できればいいなと思っている機能は、Nextcloudのタグ機能のタグの追加削除を外部からAPI経由で追加する機能です。
タイミングがあれば、Nextcloudにリクエストしてみたいと思います。
4. 参考URL
Nextcloud API一覧 | Nextcloud日本公式サイト