2017-03-21 57 views
0

好吧,我是VERRY VERRY VERRY新主題,所以請放輕鬆點。我所做的是創建一個wordpress woocommerce網站。我現在想要做的是從node.js中的wordpress網站獲取產品數據。如果我已經正確地理解了一切,我首先必須認證自己。在node.js中驗證WooCommerce REST API

首先我安裝了WooCommerce包:

npm install --save woocommerce-api 

然後我試圖Authenticante這樣的:

var WooCommerce = require('woocommerce'); 

var wooCommerce = new WooCommerce({ 
    consumerKey: 'ck_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
    consumerSecret: 'cs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
    url: 'http://localhost/wordpress', 


}); 

我意識到這是一個檸開放的問題,我可能會從上遠遠的正確的軌道上。但我會理解一些提示或指導。

謝謝!

回答

1

嗯,你npm安裝'woocommerce-api',所以你需要這個,而不是'woocommerce'。

var WooCommerceAPI = require('woocommerce-api'); 

請參閱文檔,但它看起來像您大多正確實例化。如果您使用的WP REST API,您需要包括鍵wpAPI和版本,按照該庫的文檔:https://www.npmjs.com/package/woocommerce-api

現在,如果你想要得到的產品,你會做這樣的事情:

wooCommerce.getAsync('products').then(function(result) { 
    return JSON.parse(result.toJSON().body); 
}); 

或者,您可以使用.get代替.getAsync,如果您希望使用回調而不是承諾。

+0

謝謝!然而,有什麼辦法可以確保你可以通過認證嗎?我沒有收到任何錯誤消息,但我沒有設法獲得產品。我得到「Undefiend」或不正確的URL。如果我瀏覽網址,它會顯示我所有的json數據。 –

+0

您應該可以將.catch(function(e){console.log(e)})添加到getAsync請求中。如果出現任何錯誤,您應該能夠以這種方式查看它們。 http://bluebirdjs.com/docs/api/catch.html –