コマンドラインからownCloud上のフォルダーを共有設定する方法について
http://qiita.com/ynott/items/afca4b4cf9905710f5e2
こちらでフォルダーを共有するところまではできましたが、これを解除する方法を書いていませんでしたので続編です。
使い方は、同じようになりますが、postではなくて、DELETEを使うことになります。
- 共有設定解除
curl -X DELETE "https://<owncloud_host>/ocs/v1.php/apps/files_sharing/api/v1/shares/<share_id>" -k -u <ID>:<PW>
owncloud_host : ownCloudサーバーを指定します。
ID:ログインIDを指定します。
PW:パスワードを指定します。
share_id:共有設定されているID
とまあ、ここまでなのですが、share_idってなによ?って話があります。
2. share_id の取得
share_id は、
http://qiita.com/ynott/items/afca4b4cf9905710f5e2#2-%E3%83%91%E3%82%B9%E6%8C%87%E5%AE%9A%E3%81%A7%E5%85%B1%E6%9C%89%E6%83%85%E5%A0%B1%E5%8F%96%E5%BE%97″
で取得できます。
しかし、curlを使おうかというシェルな私は、XMLで出されてもね~。ということでXMLをパースするものを調べて見ました。
3. share_id 一覧のXMLをパースする。
リッチ・ミカンさんが作ったシェルスクリプトで動く、XMLパーサーを使いましょう。
https://github.com/ShellShoccar-jpn/Parsrs/blob/master/parsrx.sh
wget します。
wget https://github.com/ShellShoccar-jpn/Parsrs/raw/master/parsrx.sh
実行権限を付けておきます。
chmod u+x ./parsrx.sh
curl "https://<owncloud_host>/ocs/v1.php/apps/files_sharing/api/v1/shares" -Ss -k -u <ID>:<PW> | ./parsrx.sh -lf' '
‘n’ が出力されるのがうるさいので ‘ ‘ に変更しています。
ダウンロードプログレスが出力されるのがうるさいので、-Ss をcurlオプションに付けています。
4. シェルスクリプトを書く
3の実行結果でgrep して0が返る場合のみ「1. 共有設定解除」を実行するようにシェルスクリプトを作ると良いと思います。