掌握API交互技能,提升现代Web开发实力!本文将探讨优秀的API资源以及APILayer平台如何简化API访问。
本文由APILayer赞助。感谢支持SitePoint的合作伙伴们
fetch
函数是与API交互的简单方法,它向URL发送请求并返回一个promise,用于访问返回的数据(通常为JSON格式)。API代表应用程序编程接口,它可以描述任何允许两个程序相互通信的机制。例如,document.insertNode
等方法实际上并非JavaScript的一部分,而是DOM API的一部分,允许程序与DOM进行交互。
Web API允许代码以受控方式与网站和在线服务进行通信和交互。大多数情况下,这是通过发送请求来完成的,该请求返回一些数据(几乎总是JSON格式)。然后,这些数据可以在代码中使用。
许多API还允许将部分应用程序工作负载卸载到外部服务。例如,如果要翻译文档,可以使用API,而无需编写所有翻译代码。
APILayer是一个精选的API市场。APILayer的开发团队会仔细挑选每个API,以确保其安全性和稳定性,并能够随着网站的增长而扩展。所有API都提供免费方案,无需提供任何支付信息即可开始使用。APILayer目前提供近100个API,并且还在不断增加中。这些API涵盖了从金融到食品等多个类别,还包括许多Web开发工具,例如图像处理和拼写检查。
每个API都有不同的付费等级,从免费开始,价格会根据请求次数而增加。一些付费方案也可能提供更多样的数据请求。APILayer简化了API注册流程,并提供实时演示功能,允许直接在浏览器中测试API,并提供一些示例代码帮助入门。它还为每个API提供完整的文档和评论。
通过JavaScript与API交互最简单的方法是使用fetch
。它异步地从URL请求数据,并返回一个promise,允许访问返回的数据。
来看一个简单的例子:
fetch("https://geek-jokes.sameerkumar.website/api?format=json") .then(response => response.json()) .then(result => console.log(result.joke)) .catch(error => console.log('error', error.message))
这段代码将从Geek Jokes API请求数据,该API返回一个随机笑话(JSON格式)。我们将API URL传递给fetch
函数。这将返回一个promise,我们可以将then
方法链接到它——首先,使用json()
方法将返回的JSON转换为JavaScript对象,然后将该对象的joke
属性简单地记录到控制台。我们还在最后添加了一个catch
块来记录任何错误。
Fetch
请求接受第二个参数,可以在其中指定请求的任何选项,包括标头。下面显示了一组相当标准的选项:
const headers = new Headers() const requestOptions = { method: 'GET', redirect: 'follow', headers }
然后可以将这些添加到请求中:
fetch("https://geek-jokes.sameerkumar.website/api?format=json", requestOptions) .then(response => response.json()) .then(result => console.log(result.joke)) .catch(error => console.log('error', error.message))
大多数服务都需要提供密钥才能访问API。这可以作为标头的一部分或在URL中包含。
务必妥善保管API密钥。通常,应将它们存储在服务器上并进行加密。这是为了防止它们在源代码中可见并被其他人使用。当您为订阅付费时,这通常更是一个问题,因为公司不希望免费提供其代码的访问权限。
让我们来看看开发者可以在APILayer上访问的六个最佳API。请注意,对于以下所有示例,您必须更改访问密钥(API密钥)以匹配您自己的密钥。
Spotify API是APILayer上最大的(也是最酷的)API之一。它允许访问Spotify上大量的音乐和播客数据。
使用此API,您可以获取诸如专辑、专辑曲目、艺术家、艺术家专辑、播放列表、曲目和曲目歌词等数据。这意味着您可以搜索艺术家并接收有关其所有已发布作品/专辑的信息,包括发布时间以及已认可的作家和音乐家。
World News API允许访问来自世界各地数千个新闻来源的数据。结果来自各种新闻媒体,这意味着您可以从各种角度获取相同的新闻报道。
该API还返回大量数据,包括每个新闻故事的标题、署名、作者和摘要,以及任何可用的图片。该API允许您按日期和位置搜索新闻,这意味着您可以获取最新的新闻以及特定地区的旧新闻。还可以指定搜索的语言和国家/地区。还有一个简洁的AI功能,可以将新闻故事分类为“正面”或“负面”,允许您进一步整理返回的新闻。
Weatherstack API允许访问任何给定位置(世界各地)的当前和历史天气数据。当前功能允许您访问实时天气数据,例如温度、风向、气压和能见度。
这里有大量数据可以访问,尤其是在历史天气功能中,该功能可追溯到2008年7月,这意味着您可以获取2008年7月之后任何地点的任何日期的天气数据。需要将地点和日期指定为参数。历史功能还有一个可选的“hourly”参数,可以设置为1或0,具体取决于您是否希望按小时划分天气数据。如果您选择按小时划分数据,还可以设置一个可选参数“interval”为1、3(默认)、6、12或24,具体取决于您希望如何划分数据。
历史和当前功能都具有可选的“units”参数,您可以在其中将数据的单位设置为“m”(公制)、“f”(华氏)或“s”(科学)。
Number Verification API允许您查找来自200多个国家的电话号码并验证其真实性。API还将返回有关国家/地区、国家/地区代码、移动运营商和线路类型(移动或固定电话)的详细信息。这将允许您实时验证Web应用程序用户提供的电话号码。
Zenserp API是一个SERP(搜索引擎结果页面)API,允许您以更清晰的对象格式抓取搜索引擎结果页面。其端点包括Google、图像反向搜索、YouTube、Bing和DuckDuckGo。Google端点还包括图像、地图、视频、新闻和购物的子端点。结果还包括排名信息,这将帮助您识别热门页面和趋势。
Zenscrape API是一个Web抓取API,对于其基本用法,它将返回任何给定网站的HTML内容。为此,您只需要提供一个参数——目标网站的URL——和API密钥。它还将从任何JavaScript或前端框架(例如React或Vue)生成页面上的任何动态HTML。这意味着返回的HTML将与用户看到的内容相同。
这六个示例只是APILayer提供的功能的冰山一角。还有更多可用的API,因此请确保您充分探索该网站并尝试其中的一些API。例如,我们强烈推荐Bad Words API,我们都玩得很开心!
选择API时,请考虑API的功能、易用性、文档质量和社区支持。API应提供项目所需的特定功能。它还应该易于使用,具有简单的设置过程和直观的命令。全面、清晰的文档对于有效地理解如何使用API至关重要。最后,活跃的社区可以提供宝贵的支持和资源,尤其是在解决问题方面。
您可以通过检查API的正常运行时间历史记录、响应时间和速率限制来确定API的可靠性。许多API提供商都提供状态页面来显示此信息。此外,请考虑提供商的声誉以及使用过该API的其他开发者的经验。
是的,有许多免费的API可供开发者使用。这些包括天气数据、新闻、加密货币价格等的API。但是,请记住,免费API通常有使用限制,并且可能提供的功能少于付费API。
Web开发中的一些流行API包括Google Maps API、Twitter API和Facebook Graph API。这些API允许开发者将地图显示、社交媒体分享和用户身份验证等功能集成到其网站中。
要有效地学习使用新的API,请首先仔细阅读API的文档。这应该让您很好地了解API的功能以及如何使用其功能。您也可以在线查找教程或示例,或者如果您遇到任何困难,可以在开发者社区中寻求帮助。
REST和SOAP是构建API的两种不同方法。REST API通常更简单、更灵活,因此成为Web开发的热门选择。另一方面,SOAP API提供更强大的功能,通常用于企业环境。
是的,您可以构建自己的API。这可能是一项复杂的任务,需要很好地理解Web协议和数据格式。但是,构建自己的API可以让您完全控制其功能,并且可以成为宝贵的学习经验。
使用API时,务必考虑数据隐私、身份验证和授权等安全问题。确保通过API传输的任何敏感数据都已加密,并使用安全的方法进行用户身份验证和授权。
如果您遇到API问题,请首先检查API的文档和状态页面,查看是否有任何已知问题。您还可以使用Postman等工具来测试API并识别任何问题。如果您仍然遇到问题,请考虑联系API的支持团队或在开发者社区中寻求帮助。
API开发中的一些新兴趋势包括使用GraphQL进行更有效的数据检索、实时API的兴起以实现即时数据更新,以及为应对日益增长的数据隐私问题而越来越重视API安全性。
以上是开发人员的最佳API的详细内容。更多信息请关注PHP中文网其他相关文章!