我尝试使用OAuth
进行雅虎搜索。我是这个概念的新手。
我在yahoo中注册,并获得了消费者和秘密密钥。
我使用来实现它JavaScript
,当我使用node.js
(我安装了npm install oauth –g)测试我的代码(test.js)时,得到了以下内容error
而不是XML。
{ [Error: getaddrinfo ENOTFOUND] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo' }
TEST.JS
var OAuth = require('oauth').OAuth;
var key = 'dj0yJmk9cU5GT2p5T0VRc3R2JmQ9WVdrOVZHeFZaR1YwTjJFbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD1lYg--';
var secret = 'e766c8cbd1c7b31612b1787e1f39b7b27a88433d';
var webSearchUrl = 'https://ysp.yahooapis.com/ysp/web';
var finalUrl = webSearchUrl + '?q=iphone';
var oa = new OAuth(webSearchUrl, webSearchUrl, key, secret, "1.0", null, "HMAC-SHA1", null, {"Accept-Language": null, "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:30.0) Gecko/20100101 Firefox/30.0", "Cookie" : ""});
oa.setClientOptions({ requestTokenHttpMethod: 'GET' });
oa.get(finalUrl, '','', function (error, data, resp) {
if (error || resp.statusCode !== 200) { // if there is a error, exit with error message
return console.log(error);
}
// otherwise, echo incoming data
console.log(data);
});
请帮助我获取XML
要处理的数据。在此先感谢您的帮助。
更新问题
在由michaelchum在test.js中给出的链接中尝试实现后,我进入了以下错误PFA SS和test2.js代码。
Test2.js
var YaBoss = require('yaboss');
var YaBossClient = new YaBoss('someCustomerKey', 'someCustomerSecret');
YaBossClient.search('web','yahoo', {count: 10}, function(err,dataFound,response){
console.log("Data :*****");
console.log(dataFound);
console.log("Error :*****");
console.log(err);
});
这是因为Yahoo Search BOSS API需要OAuth1.0A,因此您已在OAuth库调用中选择了OAuth1.0。
实际上有一个Yahoo Search API npm软件包,您应该看一下,它将使实现更加容易。
试试这个:
新建一个文件夹和一个新文件 app.js
var YaBoss = require('yaboss');
var key = 'dj0yJmk9cU5GT2p5T0VRc3R2JmQ9WVdrOVZHeFZaR1YwTjJFbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD1lYg--';
var secret = 'e766c8cbd1c7b31612b1787e1f39b7b27a88433d';
var YaBossClient = new YaBoss(key, secret);
YaBossClient.search('web','yahoo', {count: 10}, function(err,dataFound,response){
console.log("Data :*****");
console.log(dataFound);
console.log("Error :*****");
console.log(err);
});
在文件夹中npm install yaboss
,然后node app.js
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句