我想使用Linkedin授权URL加载Web视图,但在未创建加载URL之前声明它为零,并且Web视图未显示任何特定页面。
这是传递给URLRequest的url字符串。
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id= *******&redirect_uri = ****&state = linkedin1575812567&scope = r_liteprofile

下面提到的是该代码。

    let responseType = "code"
    let state = "linkedin\(Int(NSDate().timeIntervalSince1970))"

    var authorizationURL = "\(authorizationEndPoint)?"
    authorizationURL += "response_type=\(responseType)&"
    authorizationURL += "client_id=\(linkedInConfig.linkedInKey)&"
    authorizationURL += "redirect_uri=\(linkedInConfig.redirectURL)&"
    authorizationURL += "state=\(state)&"
    authorizationURL += "scope=\(scope)"


    print(authorizationURL)
    let url = URL(string: authorizationURL)

    let request = URLRequest(url: url!)
    webView.load(request)

最佳答案

网址只能包含一组特定的字符。使用其他字符可能会导致此类错误。甚至允许的字符有时也可能导致这种情况,例如,“&”用作分隔符,不能直接在URL查询参数值中使用。

您可以使用它来编码那些混乱的字符:

let newURL = YOUR_URL.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: newURL)

09-30 21:24