6
6

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 5 years have passed since last update.

ownCloud JapanAdvent Calendar 2015

Day 14

コマンドラインからownCloud上のフォルダーを共有設定する方法について

Last updated at Posted at 2015-12-13

コマンドラインからownCloud上のフォルダーを共有設定する方法について

ownCloud を利用していてフォルダー共有をまとめて実施したい事があると思います。
Web から設定するのは非常に大変ですのでコマンドラインからまとめて設定できると便利ですよね。

ownCloudには共有設定用APIがあるので、これをcurlコマンドでつつけばまとめて設定できます。

細かい話は、ここに書いてあったり、
API一覧 | ownCloud.jp
http://owncloud.jp/solutions/platform/api

ここに書いてあったりするわけですが、
OCS Share API — ownCloud Developer Manual 8.2 documentation
https://doc.owncloud.org/server/8.2/developer_manual/core/ocs-share-api.html

実際に使ってみるというのも良いことなのでやってみましょう。

##1. 共有一覧取得
まず、共有されている一覧を取得します。GETなので、簡単です。

shell
curl "https://<owncloud_host>/ocs/v1.php/apps/files_sharing/api/v1/shares" -k -u <ID>:<PW>

owncloud_host : ownCloudサーバーを指定します。
ID:ログインIDを指定します。
PW:パスワードを指定します。

##2. パス指定で共有情報取得
1だと全部出てきて面倒な場合は、指定したパスのみの情報を取得することもできます。
これもGETで取得できます。

shell
curl "https://<owncloud_host>/ocs/v1.php/apps/files_sharing/api/v1/shares?path=<DocumentPath>" -k -u  <ID>:<PW>

指定するパラメータが一つ増えます。

owncloud_host : ownCloudサーバーを指定します。
ID:ログインIDを指定します。
PW:パスワードを指定します。
DocumentPath:ドキュメントファイル/フォルダーへのパスを指定します。

##3. 共有を設定
共有情報は取得できたので、共有を実際にしてみましょう。
今度はPOSTになります。

shell
curl "https://<owncloud_host>/ocs/v1.php/apps/files_sharing/api/v1/shares" -l -k -u <ID>:<PW> -X POST --data-urlencode "path=<DocumentPath>" --data-urlencode "shareWith=<ShareWith>" --data "shareType=<ShareType>&permissions=<Permission>"

owncloud_host : ownCloudサーバーを指定します。
ID:ログインIDを指定します。
PW:パスワードを指定します。
DocumentPath:ドキュメントファイル/フォルダーへのパスを指定します。
ShareWith:共有するユーザー名もしくは、グループ名
ShareType:ShareWithで共有する対象がユーザー(=0)、グループ(=1)、URL(=3)、クラウド連携(=6)を指定します。
Permission:読み書きする権限。1 = 読み込み; 2 = 更新; 4 = 作成; 8 = 削除; 16 = 再共有; 31 = 全て (デフォルト: 31, URL共有時: 1)

その他、URL共有時にのみ使えるオプションとしては、

publicUpload:アップロード許可(true/false)
password:パスワード文字列
を指定することができます。

ファイル、フォルダー名、ユーザー名、グループ名は、UTF-8で送れば日本語もOKです。
curlのオプション --data-urlencode でデータをPOSTしてください。

6
6
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
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?