iOS Swift -Instagram API从WebView NSURL请求中获取响应



我正在使用以下块允许我的应用程序的用户使用Instagram授权:

func authorizeInstagram() {
        let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
        myWebView.delegate = self
        myWebView.loadRequest(NSURLRequest(URL: NSURL(string: "https://instagram.com/oauth/authorize/?client_id=xxxxxxxxxxxxxxxxxx&redirect_uri=xxxxxxxxxxx/&response_type=token")!))
        self.view.addSubview(myWebView)
 }

我的问题是,一旦用户完成AUTH?

在委托方法中,您可以获取请求并找到它是URL.absoluteString,字符串中您想要的代码将是什么:

func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    let str = request.URL?.absoluteString
    print(str)
    return true
}

希望它有帮助:D

在info.plist文件中您以URL类型注册该应用程序。将标识符作为您的捆绑ID,URL方案作为重定向,而编辑器为角色。

用户完成后,在应用程序委托中完成AUTH时,将在方法中回电:

func application(application: UIApplication,
  openURL url: NSURL,
  sourceApplication: String?,
  annotation: AnyObject?) -> Bool

您可以在其中解析响应。在这里,C#中的一个示例,不要在Swift中使用它,但不应该很难翻译。希望有帮助!

if (url.Scheme == "youappscheme")
{
    var queryParams = url.Query.Split('&');
    // grab the one you want
    return true;
}

最新更新