我正在为项目使用Sharefile REST API并遇到了问题。他们的文档很缺乏,到目前为止,我发给api @地址的5封电子邮件都没有得到答复。想我会把这个人群众包......
我需要做的是按名称搜索文件,并且还必须具有特定的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"属性。他们的文档站点上没有示例,任何第三方的库只显示"查询"传入的参数没有看起来像什么的例子......
答案 0 :(得分:0)
Try This:
{
"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
}
In searchQuery we have to specify item name itself instead of filename='itemname'. Working for me :)
答案 1 :(得分:-1)
我一直在努力与之搏斗。我使用的是HTTPS API,而不是REST API,但也许相同的参数可以使用?我的客户端指定了PHP,因此查看Sharefile的PHP示例代码sharefile.php - 您将看到带有“$ query”参数的搜索功能。经过几次尝试后,我尝试提供这个论点:'{Name =“Agreements”}'。我想你可以推广到更复杂的搜索。 PHP示例代码执行http_build_query以将上面的内容转换为通常的HTML参数字符串。