Meteor基本HTTP身份验证

4
需要连接到一个外部 API: Vogogo。难点在于将 curl 示例转换为有效的 Meteor HTTP.get 调用。现在这里是我想出来的代码。
apiversionVogogo = 'v3';

Vogogo.listAllCustomers = function() {
    HTTP.get('https://api.vogogo.com/' + apiversionVogogo + '/customers', {
            headers: {
                'Authorization': {
                    user: clientID,
                    clientsecret: apisecret
                }
            }
        },
        function(error, result) {
            if (error) {
                console.log(error);
            } else {
                console.log(result);
            }
        });
    return;
}

响应是一个错误消息:

error_message: 'HTTP Authorization expected"'

有人能帮我将这个基本的HTTP身份验证重写为默认格式吗?文档中提供了一个使用CURL的示例。
curl -X GET 'https://api.vogogo.com/v3/customers' \
 --user clientsecret: \
 -H "Content-Type: application/json"

1
你尝试过在选项字段中设置auth参数而不是实际在标头中设置Authorization吗?来自文档:auth String HTTP基本身份验证字符串的形式为“用户名:密码” - Nate
请执行以下编程内容的翻译:HTTP.get('https://api.vogogo.com/' + apiversionVogogo + '/customers', { auth : "clientID:apisecret"}),仅返回翻译后的文本。 - Nate
谢谢Nate!那个方法非常有效 :) - Fullhdpixel
1个回答

10

在选项字段中使用auth参数而不是实际设置头部中的授权。从文档中了解到:auth字符串HTTP基本身份验证字符串的形式为"用户名:密码"。你的请求将看起来像:

HTTP.get('https://api.vogogo.com/' + apiversionVogogo + '/customers', { auth : "clientID:apisecret"})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接