Api 向http请求添加授权头时,cURL中的-u是什么

Api 向http请求添加授权头时,cURL中的-u是什么,api,curl,mixpanel,Api,Curl,Mixpanel,我正在尝试测试Mix Panel的一个API端点。我正在使用Postman来实现这一点,在Mix Panel的文档中,他们使用cURL来向您展示如何提出请求。当输入URL和请求的POST数据时,它的工作原理是它找到了正确的位置,并告诉我需要通过添加授权头进行身份验证。我困惑的是,标题的关键应该是什么?在他们的cURL示例中,它是-u API_SECRET,那么授权头密钥是“username”吗 从文件 # this uses a test project API secret, replace

我正在尝试测试Mix Panel的一个API端点。我正在使用Postman来实现这一点,在Mix Panel的文档中,他们使用cURL来向您展示如何提出请求。当输入URL和请求的POST数据时,它的工作原理是它找到了正确的位置,并告诉我需要通过添加授权头进行身份验证。我困惑的是,标题的关键应该是什么?在他们的cURL示例中,它是-u API_SECRET,那么授权头密钥是“username”吗

从文件

# 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)
});
$.ajax({
方法:“POST”,
网址:'https://mixpanel.com/api/2.0/jql',
数据:{
“参数”:“{”自日期“:”2016-01-01“,”至日期“:”2016-01-07“}”,
'script':'\'函数main(){返回事件(参数).groupBy([“name”],mixpanel.reducer.count())}\'
},
标题:{
:API_SECRET
}
}).然后(功能成功(响应){
console.log('SUCCESS');
console.log(响应)
},函数错误(响应){
log('运行JQL时出错');
console.log(response.error)
});

在这种情况下,您的
API_SECRET
是用户名,没有密码。所以使用
curl-u

授权步骤数据导出API接受基本访问 通过HTTPS进行身份验证作为一种授权方法。作出决定 授权请求,将项目的API机密放入“用户名”中 基本访问身份验证标头的字段。确保你使用 HTTPS而非HTTP—我们的API拒绝通过HTTP发出的请求,因为 这将通过internet以纯文本形式发送API机密

示例这里是一个正确验证请求的示例 带卷曲:

卷曲\ -你的秘密:\ -d从\u date=“2016-02-11”-d到\u date=“2016-02-11”-d event=“查看页面”


如果我没有使用cURL,并且需要添加一个授权头,那么它只是“username”:API\u SECRET。我试过了,但还是遇到了身份验证问题。不,
-u
表示应该使用基本的HTTP身份验证。标题应该是
'Authorization':'Basic'+btoa(':')
。但如果还没有,我建议您看看mixpanel javascript API。