关于Instagram Graph API的对接与应用审核的一些分享

Instagram简介

Instagram是一款国外很流行的社交软件,用户通过拍照或录制视频,将自己生活的瞬间分享出来,以此形成自己的交流圈,再通过大数据的推广让用户结交更多的朋友。伴随着近年来互联网的发展,越来越的人通过分享自己的生活,在各类社交平台上成为了爆火的网红。

api介绍

ins的api有两种,一种是basic api(基础api),一种是Graph api(图谱api)。

通过基础api,我们的应用可以已授权用户的获取用户个人主页和多媒体素材。

个人主页的信息主要为

基础api可用于访问任何类型的 Instagram 帐户,但仅提供对基本数据的读取权限。如果我们的应用需要获取和发布媒体、管理和回复对媒体的评论、找出由其他 Instagram 用户 @提及的媒体、查找带有话题标签的媒体,以及获取有关其他 Instagram 业务帐户和创作者帐户的基本元数据和指标等操作,则需要选择使用图谱api。

第一步:创建应用

登陆 https://developers.facebook.com ,选择我的应用-创建应用,如果要使用的是基础api,则应用类型选择消费者,如果要使用的是图谱api,则选择商务。之后填写应用名称,点击创建应用完成创建。保存应用编号与客户端口令,这都是之后在开发中需要用到的基础配置信息。

第二步:应用配置

设置菜单里,可以为该应用设置logo,简介,公司信息等信息。

应用身份菜单里,可以为该应用添加开发者和测试者,这样即使在我们应用开发中,也可以使用多个账号来参与测试。

应用审核菜单里,当我们的应用准备上线时,如果在开发中使用的API需要一些特殊的权限,需要在此先提交申请,待审核通过后才可使用。审核需要的资料分为两类,一类是应用资料的基础信息认证,另一类是针对权限申请的说明认证,该说明需要提供文本介绍使用该权限使用的场景,用来做什么。然后还需要再上传一个关于使用此权限的功能的演示视频。如果在演示视频里有关于对接的系统的演示,应当从登陆页面开始录制,尽可能完整的录制所有操作,并为审核人员提供一个测试用的账号及密码,使他们能验证该功能是被合理使用。

产品菜单里,可以添加产品,例如需要使用的是ins基础api,则选择Instagram Basic Display,之后开发中使用的Instagram 应用编号及Instagram 应用密钥就在此产品的设置中获得。

第三步:关于图谱api的对接

准备工作

1.由于图谱api是在facebook的图谱api上构建而成的,所以首先在应用管理的产品菜单里,添加facebook登陆。在facebook登陆的设置里,需要设置有效的回调链接和域名,经测试无法使用localhost及ip。

2.由于图谱api针对的ins用户是专业用户,所以首先需要在要使用的ins设置里将账号类型换为专业账号。其次,因为使用该api时使用的是facebook的登陆工具,还需要在facebook内创建一个公共主页,并绑定要使用的instagram账户。

开发中如何测试

上面提到了,配置的登陆回调必须是有效的链接,一般情况下我们是无法在开发过程中将半成品的功能放到服务器上的,或者当前没有服务器。官方为此提供了一个在线的图谱api探索工具,可以模拟真实的facebook登陆,并允许测试各类api接口,并返回真实的数据。

https://developers.facebook.com/tools/explorer

在使用facebook的登陆程序时,需要添加public_profile,instagram_basic,pages_show_list,pages_read_engagement

这些权限可以在用户授权后,应用才可以获得该facebook账号关联的个人主页及绑定的instagram账号,之后通过token去请求一些基础api无法提供的信息,例如粉丝数,评论详情一类信息。

token介绍

请求某些api时必须携带token,而通过facebook登陆后能获得到用户的token,但此token为短期token,有效期只有一至两个小时。如果应用需要经常使用用户的token去更新最新的信息,同时并不希望用户频繁去重新登陆来获取有效的token。可以通过api将token转为长期token保存起来,长期token的有效期为60天,并可以通过此api在此刷新有效期。

代码示例

html前端:使用facebook登陆

facebookId为应用编号,url为登陆后的回调地址

php后端:在回调地址使用code获取用户token

需要使用应用编号及客户端密钥

使用用户token获取用户的facebook个人主页

获取facebook个人主页绑定的instagram账号

获取该instagram账号的公共信息

账号名,头像,粉丝数

获取该instagram账号的多媒体列表

根据多媒体的ID获取详细信息

多媒体资源类型,资源链接,点赞数,评论数,所属帖子链接,同一帖子下的关联多媒体id

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容