我正在尝试测试一个混合面板的API端点。我使用Postman来完成这个任务,在make的文档中,他们使用cURL来向您展示如何提出请求。当输入URL和请求的POST数据时,它的工作原理是它击中了正确的位置,并告诉我需要通过添加授权头进行身份验证。我困惑的是,头球的关键应该是什么?在他们的cURL示例中,它的-u API_SECRET,那么授权头键是‘用户名’吗?
从文件
# this uses a test project API secret, replace ce08d087255d5ceec741819a57174ce5
# with your own API secret
curl https://mixpanel.com/api/2.0/jql \
-u ce08d087255d5ceec741819a57174ce5: \
--data-urlencode params='{"from_date":"2016-01-01", "to_date": "2016-01-07"}' \
--data-urlencode script='function main(){ return Events(params).groupBy(["name"], mixpanel.reducer.count()) }'
如果我想创建一个AJAX查询,例如
$.ajax({
method: 'POST',
url: 'https://mixpanel.com/api/2.0/jql',
data: {
'params': '{"from_date":"2016-01-01", "to_date": "2016-01-07"}',
'script': '\'function main(){ return Events(params).groupBy(["name"], mixpanel.reducer.count()) }\''
},
headers: {
<WHAT GOES HERE>: API_SECRET
}
}).then(function success(response){
console.log('SUCCESS');
console.log(response)
}, function error(response){
console.log('There was an error running JQL');
console.log(response.error)
});
发布于 2018-03-03 08:32:57
在本例中,您的API_SECRET
是用户名,没有密码。因此,使用没有任何“用户名”键的curl -u <API_SECRET>:
是正确的。
来自示例调用https://mixpanel.com/help/reference/data-export-api的混合面板文档
授权步骤数据导出API接受HTTPS上的基本访问身份验证作为授权方法。要发出授权请求,请将项目的API秘密放在基本访问身份验证标头的“用户名”字段中。确保您使用的是HTTPS而不是HTTP --我们的API拒绝通过HTTP发出的请求,因为这会以纯文本的形式通过internet发送您的API秘密。 下面是一个使用cURL进行正确身份验证请求的示例: curl https://mixpanel.com/api/2.0/segmentation/ \ -u YOUR_API_SECRET:\ -d from_date="2016-02-11“”-d to_date="2016-02-11“-d event=”浏览网页
https://stackoverflow.com/questions/49086409
复制相似问题