Angular JS - 连接到Woocommerce OAuth v1

时间:2014-04-16 16:18:56

标签: javascript wordpress angularjs oauth

我正在尝试(不成功地)对自己的其他服务进行身份验证。

我是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,但我一无所获......

提前致谢

2 个答案:

答案 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来替换它。