不同公司的程序之间是怎么沟通的?
大家肯定在各种各样的APP中用到过微信、微博登录。这些APP跟微信微博又不是同一家公司,为什么能够用你的账号登录还准确地知道你的账号姓名和头像呢?它们都跟微信、微博公司有合作关系吗?
其实并不是。这些APP用微信、微博的账户登录并不需要事先跟微信和微博有商业合作关系。
它们是通过微信、微博开放的接口来获得你的社交账号信息从而完成登录的。
那么问题来了:什么是接口?
接口,顾名思义,就是对接的关口,所有能够实现不同物体之间沟通的设定形式,都可以理解为接口。其实接口并不是IT行业的专用术语。下面这些东西都可以理解为接口:
电插座,连接了电网与电器,实现了电力输送。
手机屏幕,连接了人与手机系统,实现了信息在人和手机间输入输出。
教学课堂,连接了老师和学生,实现了把老师的知识传递给学生。
接口就像物体之间的桥梁,实现信息、实物交流的桥梁。通过这个桥梁,不同公司开发的程序可以互相连接,实现数据和信息互通有无。当然如果程序开发者不开放接口,那么其他人是没法连接到他的程序的。互联网公司特别是大公司,他们的很多产品都会提供接口,让其他开发者使用他们产品的数据,以此为基础开发更多的程序软件。
回到刚才微信登录的例子,其实是微信对外开放了登录接口,其他公司的APP程序就可以通过这个接口验证用户的微信账户并获得账户的名称头像等信息。
用户每次在这些APP用微信登录的时候,APP和微信间大致会有以下对话:
APP通过微信的登录接口告诉微信:
“老大,有个人要用微信登录,希望你帮我核对下这个人的身份。”
微信老大把微信的登录界面丢给用户:
“麻烦登录下你的微信账号~”
用户成功登录微信后,微信老大告诉APP:
“这个用户是我罩的,他叫张三,这是他的照片(头像)”
APP看大哥验证通过了,就记下这个用户的信息,并且让这个用户成功登录APP。
当然以上对话都是通过程序来实现的,是APP程序与微信程序完成了整个沟通过程。(对白是为了让大家好理解而设计的...)
要实现以上功能,APP的开发者只需要查看微信开放的接口文档(API文档),就知道要使用哪个接口,按照什么格式提交什么信息给微信,然后微信会返回什么信息。
以上,完。
转载请署名并注明出处(老罗的互联网小学)!
微信公众号 LawsClass | 网站 www.lawsclass.com
老罗的互联网小学
以前我们学用电脑让工作效率更高,以后我们要学用互联网来让生活更美好!
我们希望用简单易懂的方式介绍互联网的知识和工具,让你跟上时代,填平代沟。
如果你是个互联网小白,那还等什么!关注我们!