我正在尝试(不成功地)对自己的其他服务进行身份验证。
我是tryng this library来创建所有参数listed here,我正在以这种方式创建请求:
$scope.oauth = new OAuth({
consumer: {
public: 'ck_d34c32d9c7f6fc1ddb6e85879fc4de89',
secret: 'cs_1867e5e54ce054dde7cf463ad78ee6f9'
},
signature_method: 'HMAC-SHA1'
});
var request_data = {
url: 'http://belfiore.link-me.it/wc-api/v1/orders',
method: 'GET',
}
$scope.data = $scope.oauth.authorize(request_data);
$scope.url = rawurlencode(request_data.url) + "&" +
"oauth_consumer_key"+"%3D"+rawurlencode($scope.data.oauth_consumer_key)+
"%26"+"oauth_nonce"+"%3D"+rawurlencode($scope.data.oauth_nonce)+
"%26"+"oauth_signature_method"+"%3D"+rawurlencode($scope.data.oauth_signature_method)+
"%26"+"oauth_timestamp"+"%3D"+rawurlencode($scope.data.oauth_timestamp)+
"%26"+"oauth_signature"+"%3D"+rawurlencode($scope.data.oauth_signature);
var call = $http.get($scope.url);
call.success(function(res) {
console.log(res);
});
call.error(function(res) {
console.log(res);
});
但我一直得到这个答案:
"Cannot GET /http%3A%2F%2Fbelfiore.link-me.it%2Fwc-api%2Fv1%2Forders&oauth_consumer_key%3Dck_d34c32d9c7f6fc1ddb6e85879fc4de89%26oauth_nonce%3DwkeLtFTh6WAuxDQGqnpzxAWYOQiHnHSr%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D10%26oauth_signature%3DjFhPbKHnvMEvYf20w1vN3TAV5Ds%3D"
有任何帮助吗?我用Google搜索了一些教程或角度准备好的文件库来自OAuth1,但我一无所获......
提前致谢
答案 0 :(得分:0)
我是oauth-1.0a lib
的作者我没有尝试过angularjs但只是快速浏览一下,请按照下面的代码:
$http({
url: request_data.url,
method: request_data.method,
params: $scope.oauth.authorize(request_data)
});
答案 1 :(得分:0)
rawurlencode
是一个php函数,但是,您应该使用javascript函数encodeURIComponent
来替换它。