我有一个有角度的应用程序,我正在使用测试密钥发出http请求。
var authString = ('Basic '+ btoa("ef7d25e3-0771-46ba-b4f8-bc9ac719777a:"));
var url = 'https://api.postmates.com/v1/customers/cus_KHKFAOoa9PWhPF/delivery_quotes';
var headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization':authString};
var req1 = { method: 'POST',
url: url,
headers:headers,
data: params1,
};
return $http(req1);

回复是:'No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access. The response had HTTP status code 401.'
我在python中使用相同的代码处理请求,但我不确定为什么我无法在我的角度应用程序中使用它。
我确实设置了默认的http标头:
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
我认为身份验证错误
答案 0 :(得分:1)
出于安全原因,我们目前不允许访问控制标头。如果您直接从客户端进行API调用,那么您很可能会公开您的API凭据。
我建议使用Python路线,或者从我们的社区成员中查看此Node包:https://github.com/lambtron/postmates-node
如果您还有其他问题,请与我们联系!