2012-11-27 14 views
8

Voglio recuperare il contenuto di sample.html all'interno della cartella del catalogo in esterno usando restful.URL di resto del campione per recuperare il contenuto da esterno

Dal documento al fresco ho ottenuto il seguente URL di riposo per recuperare il contenuto di un documento. Ma non so esattamente cosa sia la proprietà, stor_type, store_id, id e attach.

GET /alfresco/service/api/node/content{property}/{store_type}/{store_id}/{id}?a={attach?} 

Sarebbe grato se qualcuno mi spiegasse le proprietà dell'url di cui sopra e fornirmi un esempio.

+2

Perché il downvote? Sebbene la domanda sia abbastanza localizzata, il problema è molto generale (che la documentazione per l'API REST di Alfresco è molto ridotta e non ha molti esempi). La [pagina pertinente sulla wiki] (http://wiki.alfresco.com/wiki/CMIS_Web_Scripts_Reference) non ha esempi per questa particolare API, ad esempio (sebbene spieghi cosa significa "attach"). – DNA

risposta

10

Il CMIS Web Scripts Reference e il Repository RESTful API Reference danno un po 'più di informazioni (ma nessun esempio).

  • property è la proprietà del nodo da seguire per ottenere il contenuto - questo imposterà cm:content così può generalmente essere omesso
  • store_type saranno normalmente "di lavoro" per i dati applicazione diretta - vedere this forum discussion sulla tipi di archivi, ecc
  • store_id sarà "SpacesStore" per i file normali - vedi this forum discussion su altri negozi
  • id è l'identificatore univoco per il nodo (entro un determinato negozio), ad esempio, 986b162e-0867-4a7b-9f4f-0e3837cdc97b
  • attach - se è vero, forza il download del contenuto come allegato (il valore predefinito è falso) - Penso che questo sia per attivare "Salva come ..." in un browser anziché direttamente il contenuto in streaming?

Esempio GET URL (non testata - e, naturalmente, avresti bisogno di utilizzare un host valido, porto e id)

http://my.example.com:8080/alfresco/service/api/node/content/workspace/SpacesStore/986b162e-0867-4a7b-9f4f-0e3837cdc97b 

Insieme, la store_type, store_id e id forma un NodeRef che uniquely identifies a node, per esempio

workspace://SpacesStore/f1a5e908-80cb-4c6e-b919-cc80fe53b835 

ci sono un paio di esempi (anche se non di questa chiamata esatto API) su Jeff Potts' tutorial on Curl and web scripts.

Se si desidera scaricare un file per nome e percorso (senza conoscere già l'ID del nodo), sarà necessario utilizzare un'altra API, poiché quella che si sta utilizzando richiede la conoscenza dell'ID del nodo.

This page menziona un URL di download diretto che accetta un percorso e un nome file, ad es.

/alfresco/download/direct?path=/Company%20Home/My%20Home%20Space/myimage.jpg 

A seconda controlli di accesso, potrebbe essere necessario aggiungere il parametro login ticket a questo URL, ad esempio, &alf_ticket=1234567890, dove 1234567890 è il ticket di sicurezza fornito dallo login URL.


Nota: anche se mi riferisco ai Web Scripts CMIS riferimento di cui sopra, si veda anche this posting e Jira ticket che affermano che gli URL di script CMIS web sono obsoleti, vale a dire(/alfresco/service/cmis e /alfresco/cmis)

+0

Grazie mille. La tua soluzione ha funzionato. – aaviss

+2

Solo una nota che gli URL degli script Web CMIS sono stati deprecati perché il servlet OpenCMIS ora fornito nella webapp del repository fornisce un'esperienza migliorata, come indicato nel post del forum a cui ci si è collegati. –

+0

Come posso chiamare questo URL di resto http://my.example.com:8080/alfresco/service/api/node/content/workspace/SpacesStore/986b162e-0867-4a7b-9f4f-0e3837cdc97b da javascript. O è il loro modo per scaricarlo nella memoria locale del browser. – aaviss