如何在NodeJS中使用API​​?

时间:2017-01-17 23:28:35

标签: javascript node.js

所以我试图制作一个每小时发布一些新闻头条的twitterbot。我有代码发布到Twitter,它的工作原理。但是,我不确定如何在NodeJS中使用API​​,因为我对javacript相当新。如果有人可以帮助使用newsapi.org api,那就太好了。

我对API和获取请求知之甚少,因此在回答时请记住这一点。

2 个答案:

答案 0 :(得分:1)

嗯,这取决于你的意思" API&#34 ;;有几件不同的事情可能属于这个保护伞。

有公共API,例如this one,可以通过任何可以发出GET请求的客户端/语言/平台从任何地方访问,并且有一些受限制的API,例如您提到的新闻API,需要您要注册API密钥,并根据该唯一标识符限制或监控您的使用情况。

此外,由于您使用的是Node.js,因此还有作为包或"模块"包装的库和API。您可以在npm(与Node捆绑在一起)上找到并导入到您的代码中。

向News API发出GET请求的最简单方法是使用一个这样的模块request

首先,安装包:

npm install request -g

然后,只需将其导入您的代码,然后使用您网站上的密钥向News API发出请求:

const request = require("request");
request("https://newsapi.org/v1/articles?source=the-next-web&sortBy=latest&apiKey={API_KEY}", function(err, res, body) {
    if(!err && res.statusCode == 200) { // Successful response
        console.log(body); // Displays the response from the API
    } else {
        console.log(err);
    }
});

答案 1 :(得分:0)

以防万一你的问题是关于如何使用节点js触发api并从中获取数据!我使用下面给出的代码: -

    var soap=require('soap');               
 var url = "your_url?wsdl";
    var args1 = { "key" : "value"  };

    soap.createClient(url, function (err, client) {
        client.Servicename.portname.functionname (args1, function (err, result) {
            if (err) throw err;
            console.log("Get_Information_All ");
            console.log(result);
        });
    });

通过打开特定api的wsdl目录,U将获得servicename,端口名称,函数名称。