1

我正在为我的最新应用程序使用 Instagram API,但在应用程序中注销 Instagram 时遇到问题。有没有其他人遇到过这个问题或知道解决这个问题的方法?

谢谢你。

4

3 回答 3

0

我为这个问题找到了一个简单的解决方法。它不是最优雅的,但仍然可能有用。

在 authorizeWithSafary 方法所在的 Instagram.m 中,不要在 Safari 中打开生成的 igAppUrl 字符串,而是将包含此字符串的通知发送到将处理 instagram 登录页面的某个 web 视图。

然后在 shouldStartLoadWithRequest 中观察当前请求。具有实际重定向 URI 的请求通常以错误结束,因此当您捕获此请求时(不要忘记检查您的应用程序的重定向 URI),隐藏您的 webview。

在您收到此 URI 的同时,您的应用程序将已经在处理其余的授权逻辑,就好像您正在使用 Safari 进行授权一样。但是,如果您的应用没有收到此 URI,您也可以手动从请求中获取它并手动调用委托的 handleOpenURL 方法。

使用这种方法,注销逻辑将按预期工作,因为我们正在清除应用程序的与 Instagram 相关的缓存数据。但是,我认为这不是一个好的做法,因为在这种情况下,我们是从我们的应用程序重定向到我们的应用程序。

也许将 handleOpenURL 方法的逻辑转移到其他一些基于通知的方法会更好,但我没有太多时间去尝试。

*这个很棒的答案是由这个人在 git hub 上提供的 * Apolotary answer

于 2013-09-30T09:57:31.127 回答
0

我想出了一个非常简单的解决方案。由于UIWebView在 Safari 中维护会话,因此只需在应用程序中的注销按钮点击事件上向http://instagram.com/accounts/logout/发送请求即可。

快乐编码:)

于 2015-06-04T08:21:56.227 回答
-1

我使用 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>
于 2014-08-04T09:12:42.787 回答