我试图从Facebook获取应用的access_token。当用户登录Facebook时,它返回access_token。我可以在下面的部分获取它(截图)。但是,我无法在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)
}
答案 0 :(得分:1)
我不确定我是否真的理解你的问题。
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse
用于决定在知道响应后是否应该进行导航。
如果您想使用令牌从facebook获取完整的回调网址,请尝试使用监视器func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!)
或func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!)
。