API

是不是经常听见程序猿小哥哥A说:“这个简单,直接调用现成的接口就可实现。 一会儿程序猿小哥哥B说:“你这个不行,我们的第三方服务接口不支持。”

此时你的心里活动:API ≈ 听不懂 啥子是接口哦?接口能干啥呀?接口怎么用呀?我怎么去了解这个功能,接口到底能不能实现呀?莫慌,且看下文慢慢道来 API的全名是Application Programming Interface,又叫做“接口”。

如果你的产品是微信小程序,程序员就会说“咋们得好好看看微信开发接口文档”,“这里需要调用微信登录的api呀”,“哦,你这个功能的设计,微信的api不支持哟”。。。不懂技术的产品经理马上就一头雾水。

什么是api?

简单的说,api就是某个系统提供的带有约定说明的接口。通过调用api可以获取这个系统提供的服务,服务是什么?怎么调用?能获取什么?都在api的约定说明里面(术语称为‘接口规范’) 例如,我们可以调用百度的翻译接口将中文翻译为英文,可以调用微信的登录接口让用户通过微信登录到我们的系统中。 你可能已经get到了几个要点:

1 - 如果你的产品里面自带了翻译的算法,你就不用了解啥是api了。api常用于从其它系统获取服务。

2 - 如果你要让你的产品支持微信登录,因为微信不是你们家的,你必须了解微信的api

3 - api一定会提供详细的接口规范说明文档告诉你怎么使用这个接口,否则就用不了(例如下图就是微信某个接口的说明文档)

微信API说明文档示例

现实生活调用api的例子

下面是进阶,帮助你了解api的更多细节。为了让非技术的你能够理解技术世界的api,我必须得想一个较为类似的现实生活的例子,通过类比的方式快速理解。 现在全国各个街道社区都创办了便民图书馆,去便民图书馆借书就是一个很好的例子。我讲这个例子时带出一些api的专用术语,你就可以很快理解了。 你现在需要一本参考书,家里没有而且网上也买不到,却听朋友说这本书便民图书馆里有。于是你需要调用便民图书馆的【借书api】去获取这本书。(请注意是你有这个需要,而且这个需要你自己搞不定,所以才会去用便民图书馆提供的服务)

什么是api的url地址

你首先要找到最近的便民图书馆的位置,这就是api的访问地址。(所以每个api都有一个明确的url,也就是网络地址) 什么是api的接口规范 你到了图书馆,仔细看了门口的借书流程(这就是在阅读api接口规范)。

什么是api的参数

流程上说,你需要提供书的名字、作者、出版社、你的身份证、借多久,这就是调用借书api需要提供的参数。 什么是调用api 于是你走到服务台,向工作人员提供以上的信息,此时你就在“调用”api了。

什么是get调用方式

你可以向工作人员口述以上信息,此时你调用借书这个api的方式就是get方式。(get方式会将参数直接拼接在接口地址url的后面,从浏览器的地址栏就能一眼看出各个参数,是非常暴露的一种方式,犹如你向工作人员口述参数时旁边的人也能听到)

什么是post调用方式

你也可以填一张借书信息表,递交给工作人员,此时你调用借书这个api的方式就是post方式。(post方式会将参数放到http请求的body里面,浏览器地址栏是看不出参数的。因此填表的时候旁边有人也相对安全,偷窥除外)

什么是api的返回值

你传递了完整的参数成功调用了借书api,工作人员开始工作,她走进了库房,很快又出来,手里拿着你要的书,并且书上有一个标签纸写了还书的日期。她把这本书交给你,此时,你就拿到了api的返回值:【结果:借书成功;细节:【你要的书 + 还书的日期】 】 也可能,工作人员空着手出来了,但她给了你一张纸,上面写着另一个便民图书馆的地址、电话、工作时间。此时你也拿到了api的返回值:【结果:借书失败; 细节:【请到另一个图书馆取书,该图书馆的地址+电话+工作时间】】 于是,你会根据返回值的情况进行相应下一步的动作。 返回值有哪些情况,每种情况下都有哪些详细信息,都会在接口文档中说明。这个工作人员不是看见你帅就贴了一张还书日期的标签纸,这是图书馆的api接口规范!

只有一个api吗#API#

聪明的你马上会举一反三,图书馆提供的api肯定有 借书api、还书api、延期api、办理长期借书卡api。。。。。 这些都是图书馆提供的服务。每个服务都是api,都有api调用的地址(哪个窗口办理)、输入参数(你需要提供什么)、返回值(你将会得到几种可能的结果)。这些都会明确的写在api接口规范里。 所有这些api接口规范全部都张贴在一张巨大的墙上,这张墙就叫“开发平台手册”“开放平台开发指南”等等。其实就是各种api的详细说明。

什么是api调用的key和secret

图书馆发现仅凭身份证就能借书已经爆仓了。怎么办呢?借书卡!必须先办借书卡,每次凭卡号和密码进行借书。于是借书api的参数里面就多了借书卡的卡号和密码,卡号就是key,密码就是secret。 因此我们必须先调用图书馆的开卡api,获取属于自己的卡号key和密码secret,后面调用其它接口时提供自己的key和secret,图书馆的api就能提供服务。 没办卡就没有key和secret,就无法访问图书馆的接口。

现在几乎所有的api都会要求你先注册该系统的账号,生成自己的key和secret。例如你必须先注册百度开放平台的账号,才能调用百度翻译的api;必须先注册微信开放平台,才能调用微信的api。

微信开放平台把key叫做apppid,把secret叫做appsecret。 这种机制一方面是阻止不注册的人随意调用接口带来的服务器负荷,另一方面当然就是嘿嘿(你懂的)。

系统为什么要提供API接口?

你想过吗,系统为啥要提供这些API接口呢?百度为啥要提供翻译接口API,微信为啥要提供微信接口API。。。基本上你看到的大厂都有开发平台,都对外提供各种API接口。 腾讯,通过微信这个产品获取C端用户,也通过微信接口获取开发者用户,给其它产品赋能微信登录等功能的同时,也通过被赋能的产品在C端获得了品牌曝光度。相当于拓展了单一产品的市场。 不得不提到的是,接口调用也是会收费的哦,创造了新的收入方式。例如聚合数据这个网站,就是专门通过各种API接口赚钱的。

来看一个技术世界真实的API

现在来看一个技术世界真实的API。 https://fanyi.baidu.com/gettts?lan=en&text=hello&spd=1

现在你能看懂这个API了吗?

https://fanyi.baidu.com/gettts 就是 API的url地址,可以猜到这个API是百度提供的,用来得到翻译后的文本的语音!

?后面的都是访问这个API的参数

第一个参数 名字 叫做 lan,我们传入的 值 是 en,所以形成了 lan=en。

第二个参数 名字 叫做 text,我们传入的 值 是 hello,所以形成了 text=hello。

第三个参数 名字 叫做 spd,我们传入的 值 是 1,所以形成了 spd=1。

第一个参数告诉接口我们需要的是什么语言的语音(中文还是英文语音),第二个参数告诉接口需要什么文字的语音,第三个参数告诉接口需要什么语速的语音。 这个接口的访问方式是get方式,因为参数都在链接里面。因此你可以直接把这个链接放到浏览器里面试试结果。你会马上得到一个语音文件,就是hello的英文语音。

因此,如果你的产品里面需要朗读英文单词,你自己不可能有所有单词的朗读语音嘛,怎么办呢?就可以通过API,用百度的这个接口服务,通过这个接口获得英文单词对应的语音文件然后播放就可以啦!

总结

总结一下,API是获得另外一个系统提供的服务,API有明确的url地址,参数约定,返回值说明,总称为接口规范。根据接口规范,调用API,就可以获取这个系统提供的这个服务啦!了解更多的API知识

题外话

很长一段时间,身边的产品经理朋友都会问我一些技术知识。懂得一些技术知识,成为目前产品经理工作很重要的基础。所以打算用通俗的白话写一些技术知识,帮助产品经理和非IT行业的人士了解技术。如果你有什么想要了解的技术知识,欢迎在评论中留言,我希望我写的正是你需要的。

产品经理必懂的技术知识相关推荐

  1. java产品经理_产品经理必懂的技术那点事儿:成为全栈产品经理

    资料目录: 1    产品思维与技术思维  1 1.1  产品经理为什么要懂技术  1 1.2  产品经理和工程师分别是干什么的  3 1.3  产品设计中需要注意的技术边界  5 1.4  工程师的 ...

  2. 产品经理必懂的技术那点事儿 pdf_培养一个合格的产品经理需要多少钱?

    过去这几年,有大量产品经理进入到互联网行业.初阶产品岗位竞争激烈,但高阶产品岗位却很难招人. 说直白点,能独立扛事的产品经理是很少的. 什么叫独立扛事? 就是能基于公司战略和业务目标,制定对应的产品方 ...

  3. 产品经理必懂的技术那点事儿 pdf_产品经理10大基础技能(5):读透神经网络和机器学习...

    本篇先介绍许多热门的行业均在产生AI产品经理岗位的需求,再详细介绍AI产品经理必懂的AI技能,接着撰写什么是神经网络?什么是机器学习?最后用一个案例详细拆解AI产品经理如何用机器视觉识别手写字体的整体 ...

  4. 笔记 | 产品经理必懂的技术(三)

    1.产品思维与技术思维 1.1 产品经理为什么要懂技术 思维模式差异: 在实际工作做不难发现,当产品经理与工程师就某一个具体问题进行讨论时,双方站在各自角度就问题进行分析和讨论,固有知识结构的差异导致 ...

  5. 笔记 | 产品经理必懂的技术(五)

    5.产品经理学客户端技术 5.1 产品经理为什么要学客户端技术 产品经理在设计产品功能和界面时,会用到很多界面控件(如输入框.按钮等),这么做的目的是降低开发者的开发难度,使开发人员可以方便快捷地使用 ...

  6. 产品经理必懂的技术那点事儿(中)

    四:数据库知识: 1:数据库类似于一个进行数据存储的仓库,运行在服务器中,数据按照一定的规则存储,可以对数据库中的数据进行增删改查的操作.主要分为关系型数据库和非关系型数据库. 2:关系型数据库:指一 ...

  7. 读书笔记《产品经理必懂的技术那些事儿》03-04

  8. AI产品经理必懂5种技术关系

    http://www.woshipm.com/pmd/1629952.html AI产品经理在对于AI技术上都会有迷茫和焦虑,那么AI产品经理需要了解技术关系有哪些呢? 产品经理面临对AI技术都有迷茫 ...

  9. 前端H5怎么切换语言_第一章 产品经理必懂的前端技术- 上

    产品经理为什么要懂一些前端技术? 当前端H5工程师说CSS时,你是否知道他在表达什么? 当andriod工程师说这个文本要用TextView时,你是否明白TextView是什么? 当ios工程师说这个 ...

最新文章

  1. C++面试题(1-3)
  2. 线性最小二乘问题求解的豪斯荷尔德法C实现
  3. ASP.NET MVC的Action拦截器(过滤器)ActionFilter
  4. 2021-11-22--中标麒麟-Linux系统扩容根目录磁盘空间
  5. SpringMVC(十一) RequestMapping获取Cookie值
  6. php设计模式之——建造者模式
  7. 如何设置计算机网共享文件夹,局域网内如何设置共享文件夹呢
  8. paip. c++ doxygen 文档工具的使用以及跟QT CREATOR的集成
  9. linux 内核参数优化 mysql_Linux 系统内核参数优化
  10. c语言oj质数还是合数,求数据帝帮忙测试一下代码,已被南洋理工大学的oj搞蒙.....
  11. Linux驱动曝光AMD Vega20核心
  12. 1.18 物主代词 形容词 宾语从句
  13. 思科模拟器的远程连接交换机的实现
  14. blackduck,黑鸦binary二进制模式扫描jenkins配置
  15. 在电脑屏幕上截图的5种方式
  16. 百分制成绩转换为五分制成绩
  17. stm32 GPIO_Write
  18. AI人工智能代替人工翻译后,我们还需要学习英语吗?
  19. 编程实战——电影管理器之界面UI及动画切换
  20. 基于逻辑回归的新闻数据集分类

热门文章

  1. SharePoint - PDF file无法打开的解决方案
  2. 考无忧2013全国职称计算机考试软件保过版题库破解器
  3. js实现web网页版台球游戏
  4. 寒冬来临,它却屡屡拿奖,成为国家认可的区块链项目
  5. R语言dplyr包的select函数和everthing函数筛选dataframe中的所有数据列(all columns of the dataframe)
  6. 分享pdf转换成word格式的最新方法
  7. JQ8900语音模块组合播放
  8. CISSP考点拾遗——公开测试Overt Testing和隐蔽测试Covert Testing
  9. AIX6.1上重新安装RAC11G时,ASM无法识别磁盘为Candidate Dsik
  10. PHP阴历阳历天干地支纪年月日生肖五行24节气生辰八字