実施すること
NextcloudにCLIからcurlを使って操作をしていきます
目次
・ローカル(Desktop)に存在するファイルをアップロード
・ファイルをローカル(Desktop)にダウンロード
・ファイル名の変更
・ファイルのコピー
・ファイルの削除
・新規フォルダの作成
・ファイルの共有と共有リンク取得
・特定のユーザにファイルの共有
・ファイルの共有削除
・共有ファイルの情報取得
ローカル(Desktop)に存在するファイルをアップロード
構文
curl -X PUT -u [user名]:[パスワード] https://[ホストサーバーのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]/[アップロードする任意のファイル名] -T ./[ローカルからアップロードするファイル名]
ファイルをローカル(Desktop)にダウンロード
構文
curl -X GET -u [user名]:[パスワード] https://[ホストサーバーのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]/[ダウンロードするファイル名] --output [保存先の任意のファイル名]
ファイル名の変更
構文
curl -u [user名]:[パスワード] -X MOVE 'https://[ホストのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]/[変更前のファイル名]' -H "Destination:https://[ホストのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]/[変更後の任意のファイル名]"
ファイルのコピー
構文
curl -u [user名]:[パスワード] -X COPY 'https://[ホストのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]/[ファイル名]' -H "Destination:[ホストのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]/[ファイル名]"
ファイルの削除
構文
curl -X DELETE -u [user名]:[パスワード] https://[ホストのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]/[ファイル名]
新規フォルダの作成
構文
curl -X MKCOL -u [user名]:[パスワード] https://[ホストのIPアドレス]/remote.php/dav/files/[user名]/[フォルダ名]
ファイルの共有と共有リンク取得
構文
curl -u [user名]:[パスワード] -X POST 'https://[ホストのIPアドレス]/ocs/v2.php/apps/files_sharing/api/v1/shares?path=/[フォルダ名]/[ファイル名]&shareType=[共有の種類]' -H "OCS-APIRequest:true"
特定のユーザにファイルの共有
構文
curl -u [user名]:[パスワード] -X POST 'https://[ホストのIPアドレス]/ocs/v2.php/apps/files_sharing/api/v1/shares?path=/[フォルダ名]/[ファイル名]&shareType=0&shareWith=[共有対象のuser名]&permissions=[権限の種類]' -H "OCS-APIRequest:true"
ファイルの共有削除
構文
curl -u [user名]:[パスワード] -X DELETE "https://[ホストのIPアドレス]/ocs/v2.php/apps/files_sharing/api/v1/shares/[シェアID]" -H "OCS-APIRequest:true"
共有ファイルの情報取得
構文
curl -u [user名]:[パスワード] -X GET "https://[ホストのIPアドレス]/ocs/v2.php/apps/files_sharing/api/v1/shares" -H "OCS-APIRequest:true"
参考記事
Nextcloudドキュメント
[Nextcloud API一覧]
(https://nextcloud.stylez.co.jp/api)
[curlオプション]
(http://www.mit.edu/afs.new/sipb/user/ssen/src/curl-7.11.1/docs/curl.html)
[curlコマンド使い方メモ]
(https://qiita.com/yasuhiroki/items/a569d3371a66e365316f)