iOS端Instagram登录
-
首选Instagram是没有SDK的,官方推荐的方式为App内嵌套WebView请求接口,关于这一点还做了一些相关验证,具体情况如下:
其实在GitHub上是可以搜到InstagramSDK的源码的,但是大概是在5、6年前提交的,我们把源码clone到本地去尝试,源码是跳转到Safari中登录,登录成功再跳回App,这里就被卡住了,首先从外部跳转到App是需要在项目中配置Schemes的,具体配置是在Info.plist中的LSApplicationQueriesSchemes中添加,而Instagram登录成功后需要把code或者token回传回来,因为没有SDK,只能通过URL的重定向,这个在Instagram的官网是需要配置的,而这里是Instagram最坑的一点,Instagram要求这个重定向URL必须是http或者https开头的,而Safari把所有的http请求都处理了,就不会触发跳转App的Schemes配置,所以是无法通过Safari跳转到咱们的App了,所以只能采用App内嵌套WebView的方式。
-
通过嵌套WebView实现Instagram的登录也需要在Instagram的官网注册配置相关信息,如下图所示
需要在这里把对应的信息都填上
接下来就是程序中的设置了,我们只能通过内嵌WebView的方式进行,需要的参数有以下几个:
response_type可以有两种,同样解析的地方也是两种处理方式
这样获取到Instagram给的token或者code之后就可以获取用户信息了,这里可以调用Instagram的接口获取,也可以把token或者code传给服务端,由服务端去获取,这样就完成了Instagram的登录。