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請求都處理了,就不會觸發(fā)跳轉App的Schemes配置,所以是無法通過Safari跳轉到咱們的App了,所以只能采用App內嵌套WebView的方式。
-
通過嵌套WebView實現Instagram的登錄也需要在Instagram的官網注冊配置相關信息,如下圖所示
image.png需要在這里把對應的信息都填上
接下來就是程序中的設置了,我們只能通過內嵌WebView的方式進行,需要的參數有以下幾個:
image.pngimage.pngresponse_type可以有兩種,同樣解析的地方也是兩種處理方式image.png
這樣獲取到Instagram給的token或者code之后就可以獲取用戶信息了,這里可以調用Instagram的接口獲取,也可以把token或者code傳給服務端,由服務端去獲取,這樣就完成了Instagram的登錄。



