Převezměte plnou kontrolu nad svým úložištěm pomocí našeho API
Pokud ke správě online úložiště dat dáváte přednost použití vlastního řešení bez použití prohlížeče, můžete použít naše API. Na této stránce můžete najít příklady, jak pracovat s naším API. Časem budeme přidávat další informace, aby pro vás práce s API byla co nejjednodušší. Máte-li nějaké připomínky, nápady nebo dotazy týkající se této funkce, neváhejte nám poslat e-mail na adresu support@myairbridge.com.
Základy WebDAV
Úvod
- Volání curl můžete použít pro všechny hovory.
Autentizace
- Můžete se ověřovat pomocí hlavičky základního ověřování.
- Nebo stačí přidat
--user "username:password"
ke svým voláním curl. - Pro adresáře chráněné pouze heslem bude
guest
vždy fungovat jako uživatelské jméno (např.guest:password
).
Přepsat záhlaví
- Pokud záhlaví chybí,
T
je výchozí hodnota. F
hodnota = Cílové soubory/adresáře jsou chráněny proti přepsání.T
hodnota = Cílové soubory/adresáře budou přepsány, pokud existují. Adresáře nejsou sloučeny, ale zcela nahrazeny.
Získejte podrobnosti o uzlu
-
PROPFIND
HTTP metoda je definována v RFC2518 RFC2518.
Jmenné prostory XML
URI | Předpona |
---|---|
DAV: | d: |
https://xml.myairbridge.cloud/ns | m: |
Vlastnosti uzlu
Vlastnictví | Poznámka | Dir | Soubor |
---|---|---|---|
d:href |
Tuto adresu URL byste neměli používat. Je zde pouze kvůli kompatibilitě s nativními klienty WebDAV. Místo toho použijte m:node-url . |
Ano | Ano |
m:node-url |
URL tohoto uzlu. | Ano | Ano |
d:creationdate |
Zaznamenává čas a datum vytvoření zdroje | Ano | Ano |
d:displayname |
Poskytuje název zdroje, který je vhodný pro prezentaci uživateli. | Ano | Ano |
d:getcontentlength |
Velikost uzlu v bajtech. | Ano | Ano |
d:getetag |
Unikátní ETag. | Ne | Ano |
d:getlastmodified |
Datum poslední změny. | Ano | Ano |
d:quota-available-bytes |
Volně dostupná velikost úložiště v bajtech | Ano | Ne |
d:resourcetype |
Obsahuje prvek d:collection , pokud je uzel adresář. |
Ano | Ano |
Příklad
curl -X PROPFIND 'DIRECTORY_URL'
Response:
<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:m="https://xml.myairbridge.cloud/ns">
<d:response>
<d:href>DIRECTORY_URL</d:href>
<m:node-url>DIRECTORY_URL</m:node-url>
<d:propstat>
<d:prop>
<d:creationdate>Mon, 01 Jan 2024 00:00:00 GMT</d:creationdate>
<d:getcontentlength>123456</d:getcontentlength>
<d:displayname>Directory name</d:displayname>
<d:getlastmodified>Mon, 01 Jan 2024 00:00:00 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
<d:quota-available-bytes>5497558015424</d:quota-available-bytes>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>DIRECTORY_URL/SUBDIRECTORY</d:href>
<m:node-url>DIRECTORY_URL/SUBDIRECTORY</m:node-url>
<d:propstat>
<d:prop>
<d:creationdate>Mon, 01 Jan 2024 00:00:00 GMT</d:creationdate>
<d:getcontentlength>0</d:getcontentlength>
<d:displayname>Subdirectory name</d:displayname>
<d:getlastmodified>Mon, 01 Jan 2024 00:00:00 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
<d:quota-available-bytes>5497558015424</d:quota-available-bytes>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>DIRECTORY_URL/FILE</d:href>
<m:node-url>DIRECTORY_URL/FILE</m:node-url>
<d:propstat>
<d:prop>
<d:creationdate>Mon, 01 Jan 2024 00:00:00 GMT</d:creationdate>
<d:getcontentlength>123456</d:getcontentlength>
<d:displayname>File name</d:displayname>
<d:getlastmodified>Mon, 01 Jan 2024 00:00:00 GMT</d:getlastmodified>
<d:resourcetype/>
<d:getetag>54e93f66461535114d8bc6745f66df38</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
</d:multistatus>
Vytvořte adresář
- Nadřazená složka musí existovat.
curl -X MKCOL 'PARENT_DIRECTORY_URL/DIRECTORY_NAME'
Kopírovat
- Ve výchozím nastavení přepíše cílový soubor/adresář
- Chcete-li zabránit přepsání, použijte Přepsat záhlaví.
Zkopírujte soubor
curl -X COPY 'SOURCE_FILE_URL' -H 'Destination: TARGET_FILE_URL' -H 'Overwrite: F'
Zkopírujte adresář
curl -X COPY 'SOURCE_DIRECTORY_URL' -H 'Destination: TARGET_DIRECTORY_URL' -H 'Overwrite: F'
Zkopírujte adresář bez jeho obsahu
curl -X COPY 'SOURCE_DIRECTORY_URL' -H 'Destination: TARGET_DIRECTORY_URL' -H 'Depth: 0'
Přesunout
- Ve výchozím nastavení přepíše cílový soubor/adresář
- Chcete-li zabránit přepsání, použijte Přepsat záhlaví.
Přesunout soubor
curl -X MOVE 'SOURCE_FILE_URL' -H 'Destination: TARGET_FILE_URL' -H 'Overwrite: F'
Přesunout adresář
curl -X MOVE 'SOURCE_DIRECTORY_URL' -H 'Destination: TARGET_DIRECTORY_URL' -H 'Overwrite: F'
Vymazat
Smazat soubor
curl -X DELETE 'FILE_URL'
Smazat adresář
curl -X DELETE 'DIRECTORY_URL'
Stažení
Stáhnout celý soubor
curl -L -o 'some.file' 'FILE_URL'
Stahování bloků
-
Aby bylo zajištěno konzistentní čtení aktuální verze souboru, je nutné nejprve získat adresu URL ke stažení.
curl -i 'FILE_URL'
Záhlaví odpovědí:
HTTP/1.1 303 See Other Location: https://... ...
Pokud je přesměrování úspěšné, odpověď obsahuje
Location
záhlaví, jehož hodnota bude použita pro stažení části souboru. Tato adresa URL se používá k zajištění čtení této konkrétní verze souboru. -
Čtení jednotlivých částí souboru. Prvních 500 bajtů je například staženo pomocí záhlaví Range a uloženy do souboru
chunk_file.bin
.curl -H 'Range: bytes=0-499' -o chunk_file.bin 'URL_FROM_LOCATION_HEADER'
Nahrávání
- Měli byste použít
m:node-url
URL jakoTARGET_DIRECTORY_URL
.
Nahrajte celý soubor
- Chcete-li zachovat název souboru, použijte adresu URL cílového adresáře s koncovým lomítkem `/`.
- Chcete-li soubor přejmenovat, připojte nový název souboru k adrese URL cílového adresáře.
curl -T 'path/to/some.file' 'TARGET_DIRECTORY_URL/'
curl -T 'path/to/some.file' 'TARGET_DIRECTORY_URL/NEW_FILE.NAME'
Nahrávání bloku
- Vytvořte upload v cílovém adresáři.
- Nahrajte všechny bloky pomocí `X-Upload-Chunk-Url` záhlaví odpovědi.
- Po nahrání posledního bloku server automaticky vytvoří cílový soubor.
Vytváření nahrávání
- Název nahrávání (
X-Upload-Name
) musí být v adresáři jedinečný. Nemůžete mít 2 souběžná nahrávání se stejným názvem.
Záhlaví
Záhlaví | Hodnota | Popis |
---|---|---|
X-Upload-Name* | 1-128 UTF-8 znaků | Jedinečný název pro nahrávání v cílovém adresáři. |
X-Název-souboru* | 1-128 UTF-8 znaků | Název cílového souboru. |
X-Velikost-souboru* | bajtů | Velikost souboru. |
X-Last-Modified | Unix časové razítko | Datum poslední úpravy souboru. Pokud není uvedeno, použije se aktuální datum. |
příklad cURL
curl -i -X POST \
-H 'X-Upload-Name: upload-name' \
-H 'X-File-Name: target.filename' \
-H 'X-File-Size: 1000000000' \
-H 'X-Last-Modified: 1234567890' \
'TARGET_DIRECTORY_URL/:chunked-upload'
Response headers:
HTTP/1.1 200 OK
X-Upload-Chunk-Url: https://...
Nahrání části souboru
- Vytvoření blokového nahrávání vrátí záhlaví `X-Upload-Chunk-Url`. Tuto adresu URL použijte k nahrání všech bloků.
- Bloky lze nahrávat paralelně.
- Není nutné dodržovat pořadí bloků.
- Bloky se nesmí vzájemně překrývat.
Záhlaví
Záhlaví | Hodnota | Popis |
---|---|---|
X-Název-souboru* | 1-128 UTF-8 znaků | Jedinečný název pro nahrávání v cílovém adresáři. |
X-File-Range* | od-do Posun v bajtech |
příklad cURL
curl -X PUT \
-H 'X-Upload-Name: upload-name' \
-H 'X-File-Range: 0-1048576' \
'UPLOAD_CHUNK_URL'
Hromadné nahrání
- Urychluje nahrávání malých souborů.
- Velikost nesmí přesáhnout 100 MiB.
příklad cURL
curl -X PUT \
-H 'Content-Type: multipart/form-data; boundary=BbC04y' \
--data-binary '@bulk_upload.txt' \
'TARGET_DIRECTORY_URL/:bulk-upload'
bulk_upload.txt
(pro zalomení řádků je nutné použít CRLF):
--BbC04y
Content-Disposition: file; name="file"; filename="file1.txt"
X-File-Size: 123
... file1.txt contents ...
--BbC04y
Content-Disposition: file; name="file"; filename="file2.txt"
X-File-Size: 299
X-Last-Modified: 1234567890
... file2.txt contents ...
--BbC04y--