我第一次尝试从纽约时报 API ( http://developer.nytimes.com/ ) 中包含一个 API 密钥,并使用 ajax 从中获取新闻以填充本地网站,但我没有看到任何结果.有人告诉我确保在 URL 的查询参数中设置了您的 API 密钥,但我不确定该怎么做。
?api-key=your-key
这是我所做的:
// Built by LucyBot. www.lucybot.com
var url = "https://api.nytimes.com/svc/search/v2/articlesearch.json";
url += '?' + $.param({
'api-key': "111111111111111111111111111111"
});
$.ajax({
url: url,
method: 'GET',
}).done(function(result) {
console.log(result);
}).fail(function(err) {
throw err;
});
我需要以 json 格式查看业务、技术等各种故事的 url,并将它们用于 ajax 调用。
原文由 Developer101 发布,翻译遵循 CC BY-SA 4.0 许可协议
直接在客户端上下文中公开 API 密钥不是一个好的做法。
我强烈建议在浏览器和 API 之间创建一个抽象层。
这个想法是将 AJAX 请求定位到一个自己的后端操作,例如:
在后端 (/api/articlesearch) 中,我们使用 API 密钥将目标请求发送到纽约时报
通过这种方式,您可以获得更适合 javascript 的代码,从而保持责任的正确分配。
PS:如果你想要更安全,你可以使用环境变量定义 API 密钥。这是一个用 Ruby 编写的示例(仅供参考):
使用这种方法,API 密钥也不会出现在 GIT 存储库中 :)