我正在尝试从Facebook获取应用程序的访问令牌。当用户登录Facebook时,它会返回访问令牌。我可以在下面的chrome上找到它(截图)。但是,我不能在WkWebview上得到这样的回复。我认为这是因为,chrome显示了url的最后一个响应(重定向的响应),而WkWebview显示了第一个响应。
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
print(navigationResponse.response)
let headers = (navigationResponse.response as! HTTPURLResponse).allHeaderFields
let req = URLRequest(url: navigationResponse.response.url!)
decisionHandler(.allow)
}
最佳答案
我不确定我是否真的理解你的问题。func webView(_ webView: WKWebView, decidePolicyFor navigationResponse
用于决定在知道响应后是否应进行导航。
如果你想从facebook获取带有令牌的完整回调Url,请尝试monitorfunc webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!)
或func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!)
。