所以我试图制作一个每小时发布一些新闻头条的twitterbot。我有代码发布到Twitter,它的工作原理。但是,我不确定如何在NodeJS中使用API,因为我对javacript相当新。如果有人可以帮助使用newsapi.org api,那就太好了。
我对API和获取请求知之甚少,因此在回答时请记住这一点。
答案 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,端口名称,函数名称。