檔案或目錄名稱查詢

OmniStor API

檔案或目錄名稱查詢(/fulltext/sqlquery/)

伺服器:Search Server

目的:此 API 可供客戶端以關鍵字查詢用戶之檔案、目錄的名稱及相關資訊。

為確保網路安全性,所有 API 採 HTTPS 傳輸,而且客戶端須向 ServiceGateway 傳送 Token 以進行驗證。而 Token 的傳遞是以 URL Rewriting 的方式附加於 API 的路徑之後。 以 /fulltext/sqlquery/ 為例,客戶端向 Search Server 傳遞的 URL 為:http://{ Search server IP }/fulltext/sqlquery/{ token }

  • 此 API 務必指定參數 kind,以決定搜尋目標類型為目錄或是檔案。當參數 kind 為 1,搜尋目標類型為目錄(Folder);當參數 kind 為 2,搜尋目標類型為檔案(File)。
  • 參數 keyword 與 markid 不得同時使用,否則系統會回傳狀態碼 3。
  • /fulltext/sqlquery/

    Input

    
    <!--?xml version="1.0" encoding="utf-8" ?-->
    <sqlquery>
    	<userid>{ User ID }</userid>
    	<!-- keyword 與 markid 二者只能擇一使用 -->
    	<keyword>{ 查詢檔名/目錄名關鍵字;為空時回傳所有}</keyword>
    	<markid>{ 要查詢的標示代碼(Mark ID)(請參閱註解) }</markid>
    	<kind>[ 1 | 2 ]</kind> <!-- 搜尋目標類型。1:目錄 | 2:檔案 -->
    	<ancestorid>{ 選擇性欄位,只可填一個 Folder ID 指定要搜尋該目錄下及其所有子目錄的檔案 }</ancestorid>
    	<pagesize>{ 指定回傳的一頁多少筆,預設值為 10 }</pagesize>
    	<offset>{ 從第幾筆開始回傳,0 表示第一筆記錄,分頁時用 }</offset>
    	<ext>{ 副檔名1  副檔名2  副檔名3…。各個副檔名之間以空白分隔,若客戶端不指定副檔名此欄可為空白 }</ext>
    </sqlquery>
    							  

    Output

    
    <!--?xml version="1.0" encoding="utf-8" ?-->
    <sqlquery>
    	<status>{ Status Code }</status>
    	<total>{ 符合搜尋條件的記錄筆數 }</total>
    	<!-- entry可重覆多次 -->
    	<entry>
    		<id>{ File ID 或 Folder ID }</id>
    		<parent>{ Parent Folder ID }</parent>
    		<rawentryname>{ 檔案或目錄名稱 }</rawentryname>
    		<kind>[ 1 | 2 ] </kind> <!-- 搜尋目標類型。1:目錄 | 2:檔案 -->
    		<isinfected>[ 0 | 1 ]</isinfected> <!-- 0:未感染病毒 | 1:受病毒感染。當 kind 參數為 2(表示為檔案) 此欄才有值。否則為空 -->
    		<time>{ 格式為yyyyMMddHHmmss }</time>
    		<ispublic>[ 0 | 1 ]</ispublic><!-- 是否已分享。0:不公開 | 1:公開-->
    		<isorigdeleted>[ 0 | 1 ]</isorigdeleted><!-- 是否已被刪除。0:未刪除 | 1:已刪除 -->
    		<marks>{ 附屬於此記錄的標示代碼(Mark ID)(請參閱註解),若有多個 MarkId 則以空白分隔 }</marks>
    		<attribute>{ Data(請參閱屬性的註解) }</attribute>
    		<size>{ 若類型為檔案,即為檔案大小;若為目錄,即為該目錄下所有檔案的大小總合(包括子目錄) }</size>
    		<lastchangetime>{ 若類型為檔案,則回傳最後更新時間,否則不回傳 }</lastchangetime>
    	</entry>
    </sqlquery>
    							  

    回傳的狀態碼(Status Code)


    0 Success。
    2 Authentication Fail。
    3 Payload is not valid。
    12 XML Payload 錯誤(不符Well-formed)。
    999 General Error。

    註解

    屬性(Attribute)

    用以儲存檔案/目錄描述資訊,亦可加入各 App 對檔案/目錄獨有的資訊,以 XML 型式儲存,至少須包含以下三個內容:

    • creationtime : 建立時間
    • lastaccesstime : 最後一次存取時間
    • lastwritetime : 最後一次變更時間
    • 以上三個時間皆是從1970年至今的秒數。

      Ex: 131305412313130541231313054123

    ※ 由於 Attribute 內容,除了上述三個時間外,可能因不同應用而加上不同的內容。於修改內容時,請僅針對三個時間,或是您自訂的內容做修改,其他的請務必保留。

    合法的標示代碼(Mark ID)

    開放客戶端對指定檔案/目錄做特殊的標示記號,用以標註該檔案/目標的特殊意義 (例如:重要或書籤)。

    目前 OmniStor 開放標示代碼為:

    1. 表示星號。