iOS端Instagram登錄
-
首選Instagram是沒有SDK的拘泞,官方推薦的方式為App內(nèi)嵌套WebView請求接口逃糟,關(guān)于這一點(diǎn)還做了一些相關(guān)驗(yàn)證,具體情況如下:
其實(shí)在GitHub上是可以搜到InstagramSDK的源碼的劈伴,但是大概是在5弊攘、6年前提交的,我們把源碼clone到本地去嘗試摔癣,源碼是跳轉(zhuǎn)到Safari中登錄奴饮,登錄成功再跳回App,這里就被卡住了择浊,首先從外部跳轉(zhuǎn)到App是需要在項(xiàng)目中配置Schemes的戴卜,具體配置是在Info.plist中的LSApplicationQueriesSchemes中添加,而Instagram登錄成功后需要把code或者token回傳回來近她,因?yàn)闆]有SDK叉瘩,只能通過URL的重定向,這個在Instagram的官網(wǎng)是需要配置的粘捎,而這里是Instagram最坑的一點(diǎn)薇缅,Instagram要求這個重定向URL必須是http或者h(yuǎn)ttps開頭的,而Safari把所有的http請求都處理了攒磨,就不會觸發(fā)跳轉(zhuǎn)App的Schemes配置泳桦,所以是無法通過Safari跳轉(zhuǎn)到咱們的App了,所以只能采用App內(nèi)嵌套WebView的方式娩缰。
-
通過嵌套WebView實(shí)現(xiàn)Instagram的登錄也需要在Instagram的官網(wǎng)注冊配置相關(guān)信息灸撰,如下圖所示
image.png需要在這里把對應(yīng)的信息都填上
接下來就是程序中的設(shè)置了,我們只能通過內(nèi)嵌WebView的方式進(jìn)行拼坎,需要的參數(shù)有以下幾個:
image.pngimage.pngresponse_type可以有兩種浮毯,同樣解析的地方也是兩種處理方式
image.png
這樣獲取到Instagram給的token或者code之后就可以獲取用戶信息了,這里可以調(diào)用Instagram的接口獲取泰鸡,也可以把token或者code傳給服務(wù)端债蓝,由服務(wù)端去獲取,這樣就完成了Instagram的登錄盛龄。