23
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Nextcloudで使えるREST API一覧

Last updated at Posted at 2019-03-25

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

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日本公式サイト

23
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?