仅使用必需字段的死简单搜索查询:
{ schema_id: 'xxxxxxxx-8b39-427a-8fb8-c764957fd9c6',
filter: { last_name: { type: 'not', value: 'Smith' } } }POSTing到https://api.truevault.com/v1/vaults/xxxxxxxx-15e3-442e-aa6f-xxxxxxxx/search
当POSTing时,POST调用选项如下所示:
{
data: { search_option: 'xxxx base64 encoded JSON.stringify of the above xxxxxxx' },
headers: { Authorization: 'Basic xxx base64 encoded API KEY xxx' }
}授权生效了。结果:
{错误:失败400 {“错误”:{“代码”:"SEARCH.INVALID_SEARCH_QUERY",“消息”:“无效search_option。”,“键入”:"invalid_request_error“}, 结果:"transaction_id":"9ad83046-1906-406c-87ab-963b904857c4“}
同一个搜索查询的curl命令:
curl -d "{ search_option: 'eyJzY2hlbWFfaWQiOiJlOWVmYmE0NC04YjMwLTQyN2EtOGZiOC1jNzY0OTU3ZmMwZGUiLCJmaWx0ZXIiOnsibGFzdF9uYW1lIjp7InR5cGUiOiJ3aWxkY2FyZCIsInZhbHVlIjoiRnJhbnptZWllcioifX19' }"
-X POST
-H "Content-Type: application/json"
-H "Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="
https://api.truevault.com/v1/vaults/xxxxxxxx-15e3-442e-aa6f-4xxxxxxxxxx/search同样的错误:
{
"error": {
"code": "SEARCH.INVALID_SEARCH_QUERY",
"message": "Invalid search_option.",
"type": "invalid_request_error"
},
"result": "error",
"transaction_id": "b5a51185-264f-4765-a1b8-6ae9e491aa39"
}发布于 2017-11-17 00:27:40
亚历克斯
我不认为您的curl命令是按TrueVault预期的方式格式化的。这也可能是您在http库中遇到的问题。我期望的curl命令是:
curl https://api.truevault.com/v1/vaults/xyz/search \
-XPOST \
-H "Content..."
-H "Auth..."
-d "search_option=eyJ...."也就是说,数据有效载荷是表单编码(param1=value1¶m2=value2)而不是JSON。
看起来,用于搜索的文档缺少一个样例卷曲,但是您可以看到文档中列出的文档创建类似的curl。
发布于 2020-09-18 19:04:01
我在我的juery ajax请求中遇到了同样的问题。对我来说,是我用header{'Content-Type':'application/json'}发送请求,但它需要是表单数据。
工作实例:
var api_url = 'https://api.truevault.com/v1/vaults/' + vault_id + '/search';
var data = {
'schema_id' : schema_id,
'page' : 1,
'per_page' : 50,
'filter_type' : 'and',
'full_document' : false,
"sort": [
{
"SomeField":"asc"
}
],
'filter':{
'SomeField':{
'type':'eq',
'value': somevalue
}
}
};
data = btoa( JSON.stringify( data ) );
$.ajax({
type : 'POST',
url : api_url,
dataType : 'json',
processData : false,
headers : {
'Authorization':'Basic '+ btoa( auth_key+":" ),
},
mimeType : "multipart/form-data",
data : 'search_option='+ data,
error: function( response ) {
//
},
success: function( response ) {
//
}
});https://stackoverflow.com/questions/47255680
复制相似问题