2012-11-27 25 views
8

我想使用restful檢索alfresco中目錄文件夾內的sample.html內容。從外部檢索內容的示例休息網址

從露天文件我得到了下面的其餘網址來檢索文件的內容。但我不知道什麼是財產,stor_type,store_id,idattach

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

如果有人向我解釋上述其他url屬性並提供示例,我將不勝感激。

+2

爲什麼downvote?雖然這個問題是相當本地化的,但問題是非常普遍的(Alfresco REST API的文檔非常少,並且沒有太多(任何?)示例)。例如[wiki上的相關頁面](http://wiki.alfresco.com/wiki/CMIS_Web_Scripts_Reference)沒有這個特定API的例子(儘管它確實解釋了「attach」的含義)。 – DNA

回答

10

CMIS Web Scripts ReferenceRepository RESTful API Reference給出了一些信息(但沒有例子)。

  • property是該節點的屬性,以獲得所述內容遵循 - 這將默認爲cm:content所以通常可以省略
  • store_type通常將「工作區」用於實時應用數據 - 見this forum discussion上存儲類型等
  • store_id將是「SpacesStore」用於正常的文件 - 見其他商店this forum discussion
  • id是該節點的唯一標識符(在給定商店內),例如986b162e-0867-4a7b-9f4f-0e3837cdc97b
  • attach - 如果爲true,強制下載內容作爲附件(默認爲false) - 我認爲這是在瀏覽器中觸發「另存爲...」,而不是直接流式傳輸內容?

範例中得到URL(未經檢驗的 - 當然,你需要使用一個有效的主機,端口和id

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

一起,store_typestore_idid形式NodeRef其中uniquely identifies a node,例如

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

有一對夫婦的例子傑夫波茨tutorial on Curl and web scripts(儘管不是這個確切的API調用)。

如果要通過名稱和路徑下載文件(不知道節點ID),則需要使用其他API,因爲您正在使用的API要求您知道節點ID。

This page提到了直接下載的URL,它接受路徑和文件名,例如,

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

根據訪問控制,您可能需要將login ticket參數添加到此URL,例如, &alf_ticket=1234567890,其中1234567890是由login URL提供的安全票證。


注:雖然我指的是CMIS網頁腳本參考上面,也看到this postingJira ticket該聲明CMIS Web腳本的網址已被棄用,即(/alfresco/service/cmis/alfresco/cmis

+0

非常感謝。您的解決方案奏效 – aaviss

+2

只需注意CMIS網絡腳本URL已被棄用,因爲現在在存儲庫webapp中提供的OpenCMIS servlet提供了改進的體驗 - 正如您鏈接到的論壇帖子中所述。 –

+0

如何從javascript調用此靜態URL http://my.example.com:8080/alfresco/service/api/node/content/workspace/SpacesStore/986b162e-0867-4a7b-9f4f-0e3837cdc97b。或者他們有任何方式將其下載到瀏覽器本地存儲。 – aaviss