nixzhu / MonkeyKing

MonkeyKing helps you to post messages to Chinese Social Networks.
MIT License
2.76k stars 240 forks source link

QQ授权登录返回成功,但是info是nil #189

Closed HanXiaoTeng closed 3 years ago

HanXiaoTeng commented 3 years ago

MonkeyKing.oauth(for: .qq, scope: "get_user_info") { (result) in switch result { case .success(let info): guard let unwrappedInfo = info, let token = unwrappedInfo["access_token"] as? String, let openID = unwrappedInfo["openid"] as? String else { return }

            let url = URL(string: "https://graph.qq.com/user/get_user_info?openid=\(openID)&access_token=\(token)&oauth_consumer_key=\(ConstantsAppKey.QQAppID)")
            var request = URLRequest(url: url!)
            request.httpMethod = "GET"
            let configuration: URLSessionConfiguration = URLSessionConfiguration.default
            let session: URLSession = URLSession(configuration: configuration)
            session.dataTask(with: request) { (data, _, error) in
                if error != nil { completionHandler(false, String(describing: error), nil)
                } else { doData(platform: .tecentQQ, openID: openID, data: data!, completionHandler: completionHandler)
                }
            }.resume()
        case .failure(let error):
            completionHandler(false, String(describing: error), nil)
        }
    }

调起qq以后走 .success(let info)回调,但是info是nil,请问怎么解决?谢谢

HanXiaoTeng commented 3 years ago

看了下Pull Request已经解决,但是新版的2.0.1库的代码还是之前的代码,qq登录还是返回nil

nuomi1 commented 3 years ago

分享的时候有概率失败,周末再看看。

HanXiaoTeng commented 3 years ago

分享的时候有概率失败,周末再看看。

好的 谢谢

nuomi1 commented 3 years ago

分享的时候有概率失败,周末再看看。

看了一下反馈的截图,返回 app 的 Universal Link 被 Safari 而不是 app 打开,应该是 AASA 文件未加载完成。 这种似乎没法处理。

HanXiaoTeng commented 3 years ago

分享的时候有概率失败,周末再看看。

看了一下反馈的截图,返回 app 的 Universal Link 被 Safari 而不是 app 打开,应该是 AASA 文件未加载完成。 这种似乎没法处理。

我尝试了一下 如果服务器不配置AASA的话 大概率分享失败,5次4次失败。如果服务器配置AASA而且qq互联上Universal Link验证成功以后 分享了15次都成功了。