搜索查询参数在 BOX REST API 中被忽略
Search query parameter is ignored in BOX REST API
我正在尝试在 VS2013 中使用 restsharp 调用方法搜索。 Box 忽略了 subquery
字符串。我查阅了文档并使用 "PostMan" 测试了调用,它运行良好。
string query = "asterisk";
string subquery = "file_extensions=docx";
var client = new RestClient(BASE_URL);
client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator(DEV_ACCESS_TOKEN, "Bearer");
var request = new RestRequest(Method.GET);
request.Resource = "search?query={query}&{subquery}";
request.AddParameter("query", query, ParameterType.UrlSegment);
request.AddParameter("subquery", subquery, ParameterType.UrlSegment);
request.RequestFormat = DataFormat.Json;
var response = client.Execute(request);
var content = response.Content;
此致
问题是您将整个 file_extensions=docx
字符串添加为 URL 参数。 RestSharp 正在对 =
进行 URL 编码,而 Box 会忽略格式错误的字符串。
GET /2.0/search?query=asterisk&file_extensions%3Ddocx
以下更改将产生正确的结果:
string subquery = "docx";
request.Resource = "search?query={query}&file_extensions={subquery}";
request.AddParameter("subquery", subquery, ParameterType.UrlSegment);
GET /2.0/search?query=asterisk&file_extensions=docx
我正在尝试在 VS2013 中使用 restsharp 调用方法搜索。 Box 忽略了 subquery
字符串。我查阅了文档并使用 "PostMan" 测试了调用,它运行良好。
string query = "asterisk";
string subquery = "file_extensions=docx";
var client = new RestClient(BASE_URL);
client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator(DEV_ACCESS_TOKEN, "Bearer");
var request = new RestRequest(Method.GET);
request.Resource = "search?query={query}&{subquery}";
request.AddParameter("query", query, ParameterType.UrlSegment);
request.AddParameter("subquery", subquery, ParameterType.UrlSegment);
request.RequestFormat = DataFormat.Json;
var response = client.Execute(request);
var content = response.Content;
此致
问题是您将整个 file_extensions=docx
字符串添加为 URL 参数。 RestSharp 正在对 =
进行 URL 编码,而 Box 会忽略格式错误的字符串。
GET /2.0/search?query=asterisk&file_extensions%3Ddocx
以下更改将产生正确的结果:
string subquery = "docx";
request.Resource = "search?query={query}&file_extensions={subquery}";
request.AddParameter("subquery", subquery, ParameterType.UrlSegment);
GET /2.0/search?query=asterisk&file_extensions=docx