Ich möchte für ein beliebiges Nextcloud-File einen Downloadlink mit Ablaufdatum abfragen - alles via automatisiertem skript.
Dann brauchst du ein WebDAV: https://docs.nextcloud.com/server/19/developer_manual/client_apis/WebDAV/basic.html#webdav-basics
Beispiel ist ein POST Request auf /ocs/v2.php/apps/files_sharing/api/v1/shares mit JSON
{"path":"/FOLDERorFILE","shareType":3}
Beschreibung unter: https://docs.nextcloud.com/server/19/developer_manual/client_apis/OCS/ocs-share-api.html?highlight=sharetype#create-a-new-share
Und das ganze kann man dann auch in einem Bash-script lokal ausführen?
Ja, z.B. mit cURL
(Werte in [eckigen Klammern] musst du anpassen):
curl -u [USERNAME]:[PASSWORD] -X POST --header 'OCS-APIRequest: true' --header 'Content-Type: application/json' --data '{"path":"/[FOLDERorFILE]","shareType":3}' 'https://[NEXTCLOUD_URL]/ocs/v2.php/apps/files_sharing/api/v1/shares'
Das ist ein Beispiel Skript, aber mit andere Funktionen:
Was kommt dann in die [NEXTCLOUD_URL] hinein? und bei [FOLDERorFILE] kommt nur der filename oder filename mit dem pfad?
[NEXTCLOUD_URL] ist cloud.example.com
und z.B. für File unter /Some/Folder/readme.md
es wird:
https://cloud.example.com/ocs/v2.php/apps/files_sharing/api/v1/shares
{"path":"/Some/Folder/readme.md","shareType":3}
Okay super, ich bekomm nur leider ständig --wenn ich den Vorschlag von Bernie ausführe-- die meldung:
curl: (1) Protocol /https not supported or disabled in libcurl
Es hat sich erledigt, ich hatte nur ein “/” zuviel vor dem https.
Vielen Dank für eure Hilfe!