产品设计工作中,「接口」或者「API」经常挂在嘴边。比如你想做一个新功能,客户端工程师说这需要一个新接口,让你找后端工程师去;而某些功能改动,却又不需要改接口。
接口到底是什么?如果去查百科,得到的答案可能还是让你一头雾水:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
看文字性的描述,不如自己真枪实弹来感受它。其实,许多大平台都提供了他们的开放 API,供第三方开发者使用,比如国内的微博、豆瓣,国外的 Instagram、Dribbble 等等,网上查一下就知道。
比如通过 Instagram API,你可以查取自己的个人资料、近期发布的照片、每张照片的点赞人数和评论信息等等,最后得到 json 格式的数据,和实际的功能联系在一起。
这篇文章以 Instagram API 为例,希望从产品经理、设计师的角度,将这件事讲清楚。你可以从中理解接口是什么,接口是怎么运作的,以及你可以利用这些开放 API 做些什么、分析这些大平台的开放策略等等。
首先,打开 Instagram Developer Document 网站并登录,先注册你的应用(Register Your Application)。它会要求你填写网站、电话和申请 API 的理由,放心,你不需要填得这么谨慎,我们仅仅是用作测试。
接下来,在 Manage Clients 中点击 Register a New Client,注册一个新的客户端。你需要填写应用名字、描述、网站,以及一个 Valid redirect URIs,我们可以先填这样一个地址:http://localhost
。
这样,一个黑盒状态的客户端就创建好了。我们可以在 Manage 查到 Client ID、Client Secret,再加上刚才的 Redirect URIs,这三个信息我们可以先记下来,待会儿会用到。比如我的是:
资料 | |
---|---|
Client ID | a273c29c3ff64fc1804beb63cb85ca17 |
Client Secret | b548b985e53749518c4c22f693b6c9fb |
Redirect URIs | http://localhost |
(你现在用我的资料肯定是失效的,要自己生成。)
稍作解释,Client ID 是这个客户端的唯一身份(编码),而 Client Secret 是密钥。你在向 Instagram 发出请求的时候,把编码和密钥一并发送,如果 Instagram 能确认你的身份没问题,自然会接受你的请求。就跟用账号密码登录类似。
而 Redirect URIs,是重定向 URI。在正式应用中,你需要填写你自己拥有的服务器的地址,数据会发到你的服务器,这样别人就不会知道这些数据。而这次仅是测试,所以我们先随意填了一个http://localhost
,localhost 代表本地服务器的意思。
接下来,我们就开始尝试请求接口了。
网友评论