我在最新的应用程序中使用 Instagram API,但在应用程序内注销 Instagram 时遇到问题。有其他人遇到此问题或知道解决此问题的方法吗?
我找到了解决此问题的简单方法。它不是最优雅的,但仍然可能有用。
在authorizeWithSafary方法所在的Instagram.m中,不要在Safari中打开生成的igAppUrl字符串,而是将带有此字符串的通知发送到某个将处理instagram登录页面的webview。
然后在shouldStartLoadWithRequest 中观察当前请求。具有实际重定向 URI 的请求通常会以错误结束,因此当您捕获此请求时(不要忘记检查应用程序的重定向 URI),隐藏您的 webview。
在您收到此 URI 的同时,您的应用程序将已经处理其余的授权逻辑,就像您使用 Safari 进行授权一样。但是,如果您的应用程序没有收到此 URI,您也可以手动从请求中获取该 URI,并手动调用委托的 handleOpenURL 方法。
通过这种方法,注销逻辑将按预期工作,因为我们正在清除应用程序的 Instagram 相关缓存数据。但是,我认为这不是一个好的做法,因为在这种情况下我们从我们的应用程序重定向到我们的应用程序。
也许将handleOpenURL方法的逻辑转移到其他一些基于通知的方法会更好,但我没有太多时间尝试。
*这个很棒的答案是由这个人在 git hub 上提供的 * 抱歉的答案
我想出了一个非常简单的解决方案。由于 UIWebView 在 Safari 中维护会话,因此只需在应用程序中的注销按钮点击事件上向 http://instagram.com/accounts/logout/ 发送请求即可完成。
快乐编码:)
我正在使用 html5 制作 Android 应用程序,我执行了以下操作: 将用户重定向到包含以下代码的 html5 页面:
<div id = "loading" style="text-align: center; display:block; margin-top: 150px;">
<img alt="" src="/css/themes/images/ajax-loader.gif" width="46px" height="46px">
<br><font style="text-align: center;">Logging Out...</font>
</div>
</div>