2014-04-03 55 views
2

我正在爲項目使用Sharefile REST API並遇到問題。他們的文檔是缺乏的,到目前爲止,我的5封電子郵件到api @地址沒有得到答覆。我想這個衆包源...如何使用Citrix ShareFile API進行搜索

我需要做的是按名稱搜索文件,它也必須有一個特定的parentID。我儘可能地遵循他們的文檔,但仍然在響應中出現500錯誤。

根據自己的API documentation我要發佈到:https://account.sf-api.com/sf/v3/Items/AdvancedSimpleSearch與下面的帖子:

{ 
    "Query":{ 
     "AuthID":"", 
     "ItemType":"", 
     "ParentID":"", 
     "CreatorID":"", 
     "LuceneQuery":"", 
     "SearchQuery":"", 
     "CreateStartDate":"", 
     "CreateEndDate":"", 
     "ItemNameOnly":"", 
    }, 
    "Paging":{ 
     "Key":"", 
     "PageNumber":1, 
     "PageSize":10, 
    }, 
    "Sort":{ 
     "SortBy":"", 
     "Ascending":false, 
    }, 
    "TimeoutInSeconds":10 
} 

的JSON後我送看起來像這樣:

{ 
    "Query": { 
     "AuthID": "", 
     "ItemType": "", 
     "ParentID": "xxxxxxxxxxxx", 
     "CreatorID": "", 
     "LuceneQuery": "", 
     "SearchQuery": "filename ='foo.png'", 
     "CreateStartDate": "4/2/2014", 
     "CreateEndDate": "4/4/2014", 
     "ItemNameOnly": "" 
    }, 
    "Paging": { 
     "Key": "", 
     "PageNumber": 1, 
     "PageSize": 10 
    }, 
    "Sort": { 
     "SortBy": "", 
      "Ascending": false 
     }, 
    "TimeoutInSeconds": 10 
} 

他們預先填寫的一些屬性他們的榜樣,所以我複製。我也嘗試只發送我所需要的東西(而不是空白屬性),但仍然得到一個500.

我可以上傳文件,刪除,修改等沒有問題的所有罰款,所以我肯定它是在這個JSON結構。我認爲這歸結於「SearchQuery」屬性。他們的文檔網站上沒有例子,任何第三方庫僅顯示一個「查詢」參數傳入,沒有例子看起來像什麼......

回答

-1

我一直在努力與這個也是。我正在使用HTTPS API而不是REST API,但也許相同的參數會起作用?我的客戶已經指定了PHP,所以查看Sharefile的PHP示例代碼sharefile.php - 您將看到帶有「$ query」參數的搜索功能。經過幾次嘗試,我嘗試提供這個參數:'{Name =「Agreements」}「。我想你可能會推廣到更復雜的搜索。 PHP示例代碼執行http_build_query將上述內容轉換爲常用的HTML參數字符串。

+0

嘗試了一些更多的事情,而不是在一個空間工作的參數中間有一個「=」,冒號就起作用。它看起來像文本匹配類似於MySQL LIKE%Agreements% - 它只是查找提供的文本作爲字段的子字符串的出現。 – Richard

0

試試這個:

{ 
    "Query": { 
     "AuthID": "", 
     "ItemType": "", 
     "ParentID": "xxxxxxxxxxxx", 
     "CreatorID": "", 
     "LuceneQuery": "", 
     "SearchQuery": "foo.png", 
     "CreateStartDate": "4/2/2014", 
     "CreateEndDate": "4/4/2014", 
     "ItemNameOnly": "" 
    }, 
    "Paging": { 
     "Key": "", 
     "PageNumber": 1, 
     "PageSize": 10 
    }, 
    "Sort": { 
     "SortBy": "", 
      "Ascending": false 
     }, 
    "TimeoutInSeconds": 10 
} 

在SEARCHQUERY我們必須指定項目名稱本身,而不是文件名= 'ITEMNAME'。爲我工作:)

相關問題