如何赶上OAuthForbiddenException:您不是此客户端的沙盒用户InstagramKit IOS,SWIFT

时间:2016-03-08 11:52:42

标签: ios swift oauth instagram instagram-api

我正在使用instagramKit登录Instagram用户。如果我尝试使用应用程序的沙箱用户登录,我没有问题。但是,如果我使用不是沙盒用户的用户登录,该应用程序会显示一个包含以下消息的Web视图:

  

OAuthForbiddenException:您不是此客户端的沙盒用户

我不能回去,所以我必须关闭应用程序并再次打开。在这种情况下,我想找到一种方法来解雇这种观点。

代码:

func connectWithInstagram() {
    let screenSize = UIScreen.mainScreen().bounds
    self.webView = UIWebView(frame: CGRectMake(0, 0, screenSize.width, screenSize.height))
    self.webView!.delegate = self
    self.webView!.loadRequest(NSURLRequest(URL: InstagramHelper.sharedInstance.connectWithInstagram()))
    self.view.addSubview(webView!)
}

func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    guard let url = request.URL else {
        return false;
    }

    if request.URL?.scheme == "http" || request.URL?.scheme == "https"{
        self.setInstagramButton()
        return true
    }

    do{
        guard let _ = try InstagramEngine.sharedEngine().receivedValidAccessTokenFromURL(url) as? AnyObject else {
            // success!
            self.webView?.removeFromSuperview()

            let urlArray = url.absoluteString.componentsSeparatedByString("=")
            let accessToken = urlArray.last
            let accessTokenArray = accessToken?.componentsSeparatedByString(".")
            let instagramId = accessTokenArray?.first
            UserDataManager.saveInstagramId(instagramId)
            return true
        }
    }
    catch let error as NSError {
        print(error.localizedDescription)
        return false
    }
    return true
}

当它向我显示OAuthForbiddenException异常时,如何解除此视图以避免关闭应用并再次打开?

0 个答案:

没有答案