57 lines
2.9 KiB
Markdown
57 lines
2.9 KiB
Markdown
|
---
|
|||
|
title: What is an API
|
|||
|
localeTitle: 什么是API
|
|||
|
---
|
|||
|
## 什么是API?
|
|||
|
|
|||
|
API代表应用程序编程接口。 API隐藏了开发人员的复杂性,将系统扩展到合作伙伴,组织代码以及使组件可重用。不要担心AP,只关注I.API是一个接口。您始终使用接口。计算机操作系统是一个接口。电梯中的按钮是一个界面。汽车中的油门踏板是一个接口。
|
|||
|
|
|||
|
界面位于复杂系统的顶部并简化了某些任务,中间人可以使您无需了解引擎盖下发生的所有细节。 Web API也是同样的事情。它位于Twitter或YouTube等Web服务之上,可以为您简化某些任务。它将您的操作转换为另一端的计算机系统的技术细节。
|
|||
|
|
|||
|
如果您使用面向对象的语言(如Java或C ++)进行编程,则API与类的概念非常相似。当我们在一个对象上调用一个方法(比如`.toString()` )时,我们并不关心对象是如何产生结果的,我们所关心的只是我们最后得到的字符串。对API的调用以相同的方式工作。例如,当我们调用Facebook API来检索用户的个人资料图片时,我们不关心如何从服务器检索信息。我们只是向API发出请求,让它处理所有复杂的检索逻辑,并在最后得到我们的照片。
|
|||
|
|
|||
|
## 为什么API有用?
|
|||
|
|
|||
|
访问API通常意味着可以访问大量有组织的数据。该数据的网守给予开发人员许可(以_API密钥_的形式)来查询服务器以获取信息。如果请求成功,服务器将响应一条可能如下所示的消息:
|
|||
|
|
|||
|
```javascript
|
|||
|
{
|
|||
|
"coord": {
|
|||
|
"lon":139,
|
|||
|
"lat":35
|
|||
|
},
|
|||
|
"wind": {
|
|||
|
"speed":7.31,
|
|||
|
"deg":187.002
|
|||
|
},
|
|||
|
"rain": {
|
|||
|
"3h":0
|
|||
|
},
|
|||
|
"clouds": {
|
|||
|
"all":92
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
资料来源: [Open Weather API](https://openweathermap.org/current)
|
|||
|
|
|||
|
在上面的示例中,开发人员以特定的纬度和经度请求当前天气,并且服务器使用_JSON对象_响应该位置的风,雨和云。您每天使用的服务都有大量的请求和响应周期。
|
|||
|
|
|||
|
**以下是适合初学者的十大API**
|
|||
|
|
|||
|
1. Dropbox:https://www.dropbox.com/developers
|
|||
|
2. Google地图:https://developers.google.com/maps/web/
|
|||
|
3. Twitter:https://dev.twitter.com/docs
|
|||
|
4. YouTube:https://developers.google.com/youtube/v3/getting-started
|
|||
|
5. Soundcloud:http://developers.soundcloud.com/docs/api/guide#playing
|
|||
|
6. 条纹:https://stripe.com/docs/tutorials/checkout
|
|||
|
7. Instagram:http://instagram.com/developer/
|
|||
|
8. Twilio:https://www.twilio.com/docs
|
|||
|
9. Yelp:http://www.yelp.com/developers/getting\_started
|
|||
|
10. Facebook:https://developers.facebook.com/docs/facebook-login/login-flow-for-web
|
|||
|
|
|||
|
#### 更多信息:
|
|||
|
|
|||
|
* [非程序员的API](https://schoolofdata.org/2013/11/18/web-apis-for-non-programmers/)
|
|||
|
* [维基百科](https://en.wikipedia.org/wiki/Application_programming_interface)
|
|||
|
* [介质](https://medium.com/girl-geeks/top-10-apis-for-beginners-4d3c43be9386)
|