如何使用带有身份验证的ajax使用woocommerce api发布json数据来订购项目

时间:2016-03-22 07:48:46

标签: ajax wordpress cordova woocommerce oauth-1.0a

我尝试了两种类型的ajax调用来发布json数据,以便我可以使用woocommerce API订购商品。我正在使用OAuth1.0a来授权用户。它获取数据但无法发布数据。但它们都不适合我。所以请有人说如何使用ajax调用发布json数据。提前谢谢。

var oauth2 = OAuth({
        consumer: {
            public: 'key',
            secret: 'secret'
        },
        signature_method: 'HMAC-SHA1'
    });

    var token = {
        public: 'key',
        secret: 'secret'
    };

    var dataToSend = {};

    var request_data = {
        url: 'http://www.example.com/wc-api/v3/orders',
        method: 'POST',
        data: dataToSend
    };

    return $.ajax({
        url: request_data.url,
        type: request_data.method,
        data: oauth2.authorize(request_data, token)
    });

    return $.ajax({
        url: request_data.url,
        type: request_data.method,
        'content-type': 'application/json',
        body: request_data.data,
        headers: oauth2.toHeader(oauth2.authorize(request_data, token))
    });

dataToSend - Example Data

密钥使用以下链接进行了内嵌: https://docs.woothemes.com/document/woocommerce-rest-api/

1 个答案:

答案 0 :(得分:0)

只需查看oauth2.authorize中的所有标头(request_data,token)
只需在''之后将所有这些标题添加到网址中......这就是我的解决方案......


    var generatedoauth = oauth.authorize(request_data, token);
    console.log("oauth " + JSON.stringify(generatedoauth));


    var newUrl = '<Url Goes Here>';
    var paramsSt = '?oauth_consumer_key=' + generatedoauth.oauth_consumer_key + '&oauth_nonce=' + generatedoauth.oauth_nonce + '&oauth_signature_method=' + generatedoauth.oauth_signature_method + '&oauth_timestamp=' + generatedoauth.oauth_timestamp + '&oauth_signature=' + generatedoauth.oauth_signature;
    newUrl = newUrl + paramsSt;`