box-api搜索参数不起作用?

时间:2014-12-30 22:47:16

标签: java search parameters sdk box-api

我正在使用Java SDK连接到Box。我找到了根文件夹(这是一个小的dev实例,所以我不介意从那里搜索。)我执行搜索查询,我得到了结果。我的问题是搜索参数似乎不能始终如一地工作。

  • 例如,此查询

    Iterator resultSet = rootFolder.search(“query = NR_chewy_chic_swt_pot_app& file_extensions = jpg& content_type = name& type = file”)。iterator();

返回三个条目。

NR_chewy_chic_swt_pot_app.jpg
NR Chewy Chicken AD02.xls
PreInvoice_M197301-3644756_NR Chewy Treats SURP.pdf
  • 我删除子字符串“& file_extensions = jpg”,因为它似乎没有做任何事情并保存/重新编译/运行,我得到相同的三个结果。

  • 我将“& type = file”更改为“& type = folder”,我得到相同的三个结果。

  • 我将“query = NR_chewy_chic_swt_pot_app”更改为“query = NR”并获得 NO 结果。尽管SO用户Peter(他似乎为Box工作)说部分字符串应该匹配1

我尝试重新排列搜索参数的顺序无济于事。我错过了什么?

谢谢, Eric B.

1 个答案:

答案 0 :(得分:0)

SDK中的高级搜索has yet to be implemented(因为它仍然处于测试阶段),但它将在未来几周内添加。

您的调用无效的原因是查询方法参数在API调用中作为"query" URL parameter发送。因此,您的查询字符串中的&符号正在转义。

如果您需要立即解决方法,可以使用BoxAPIRequest and BoxAPIResponse类来制作自定义搜索请求。例如:

BoxAPIConnection api = new BoxAPIConnection("token");
URL url = new URL("https://api.box.com/2.0/search?query=NR_chewy_chic_swt_pot_app&file_extensions=jpg&content_type=name&type=file")
BoxAPIRequest request = new BoxAPIRequest(api, url, "GET");
BoxJSONResponse response = (BoxJSONResponse) request.send();
String json = response.getJSON();

很抱歉这不清楚。我们将更新文档,使其更明确,query表示查询字段,而不是URL查询字符串。