我使用基本顯示 API 實作了 Instagram 登錄。如果用戶在加載 https://api.instagram.com/oauth/authorize請求時出現的 Web 視圖中輸入他們的 Instagram 憑據,一切正常。之后,我可以從 Instagram 帳戶中提取用戶的媒體。它告訴我一切都已正確實施。
現在,如果用戶在 WebView 中選擇“使用 Facebook 登錄”選項并通過 Facebook 登錄流程,當我在模擬器上運行它時,一切仍然正常:在 Facebook 使用 2 因素身份驗證完成其登錄流程后,我最終得到重定向回呼,決議它的代碼,其余的一切正常。
但在物理設備上同樣失敗。在我使用獲得的代碼呼叫https://api.instagram.com/oauth/access_token獲取令牌后,Instagram 應用程式會立即啟動,然后打開 Safari 并出現以下錯誤:
{"message":"Logged-in use not
supported","status":"fail"}
是什么賦予了?這令人難以置信的令人沮喪,一天被浪費了,不知道從哪里開始。有任何想法嗎?
更新:它在設備上表現不同的原因是它安裝了 Instagram 應用程式,并且當 Facebook 呼叫https://www.instagram.com/accounts/signup/...端點以回傳 Instagram 身份驗證流時應用程式啟動(我正在觀察通過 WkWebView 發出的請求)。Instagram 應用程式在上面拋出了該錯誤,而在模擬器上,Instagram 后端似乎為端點提供了良好的服務,并且流程繼續正常運行。所以問題是如何讓 Instagram 應用程式脫離回圈。
UPDATE2:已確認 - 一旦我從設備中洗掉了 Instagram 應用程式,它就會按預期作業。一旦我重新安裝它,它就會在 Facebook 的身份驗證流程中再次啟動,問題又回來了。這似乎是 Instagram 應用程式中的一個錯誤,我沒有其他解釋。
uj5u.com熱心網友回復:
檔案說你應該向這個URL 發送一個 POST 請求:
第 2 步:將代碼換成代幣
收到代碼后,通過向以下端點發送 POST 請求將其交換為短期訪問令牌:
POST https://api.instagram.com/oauth/access_token
我不明白您為什么要嘗試將用戶重定向到此端點?
uj5u.com熱心網友回復:
好的,所以在經歷了許多死胡同和晦澀難懂的兔子洞之后,我瘋狂地往下走,我得出的結論是,真正的問題是 Instagram 應用程式中的錯誤。正如我的問題更新中所述,在我洗掉 Instagram 后,流程開始正常作業。
還沒有準備好下結論,我嘗試了 Appstore 中的其他一些具有連接到 Instagram 功能的應用程式。它們都以完全相同的方式失敗。具體來說,如果您在 Instagram 登錄 WebView 上選擇“繼續使用 Facebook”,您最終會啟動 Instagram 應用程式(如果已安裝),這反過來會在 Safari 中引發錯誤,并且您會被卡住。
你知道最有趣的是什么嗎?如果您下載 Instagram 應用程式本身并嘗試使用相同的 Facebook 流程登錄,它也會失敗!
吸取的教訓 - 在您懷疑自己在實施程序中犯了錯誤之前,請查看其他一些實施了相同功能的應用程式,也許您會發現您并不孤單。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/414603.html
標籤:
上一篇:為什么Chrome和Edge在超鏈接下劃線上顯示文本陰影?
下一篇:如何在給定點找到多個變數的梯度?
