我正在使用swift4:我想通过Twitter登录应用程序,但是当我按下twitter按钮登录时出现此错误:
未批准此客户端应用程序的回调URL.可以在您的应用程序设置中调整已批准的回调URL"UserInfo = {NSLocalizedDescription =未批准此客户端应用程序的回调URL.可在您的应用程序设置中调整已批准的回调URL}错误:可选("请求失败:禁止(403)")
我按照这个文档并设置了所有plist变量和app delegate,这是我登录页面中的代码:
@IBAction func loginWithTwitter(_ sender: Any) {
TWTRTwitter.sharedInstance().logIn(completion: {
(session, error) in
if let sess = session {
print("session: ",sess.authToken, sess.authTokenSecret, sess.userID, sess.userName)
self.loginWithTwitter(twitter_id: sess.userID, name: sess.userName)
} else {
print("error: ", error?.localizedDescription as Any)
}
})
}
func loginWithTwitter(twitter_id: String, name: String) {
self.deviceMac = UIDevice.current.identifierForVendor!.uuidString
KRProgressHUD.show(withMessage: "????? ....")
API.loginWithTwitter(mac:self.deviceMac, twitter_id: twitter_id, name: name, token: self.token) { (error: Error?, success: Bool, value: Any) in
if success {
KRProgressHUD.dismiss()
let json = JSON(value)
print(json)
if(json["token"] != "") {
let token = json["token"].string
let def = UserDefaults.standard
def.set(token, forKey: "token")
def.synchronize()
Common.setIfTwitterLogin(login: token!)
let homeViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController
self.present(homeViewController, animated: false, completion: nil)
} else {
self.errorLable.text = "???? ??? ??? ??? ???? ??? ????"
}
} else {
KRProgressHUD.dismiss()
self.errorLable.text = "???? ??? ??? ??? ???? ??? ????"
if Connectivity.isConnectedToNetwork(){
print("Internet Connection Available!")
}else{
Common.showToast(messsage: "?????? ?????? ?? ?????? ?????????", view: self.view)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
和
class func loginWithTwitter(mac:String, twitter_id: String, name: String, token: String, completion: @escaping (_ error: Error?, _ success: Bool,_ value: Any) -> Void) {
let loginURL = URLs.loginWithTwitter
let loginParameters = [
"mac": mac,
"twitter_id": twitter_id,
"token": token,
"name": name]
print(loginURL, loginParameters)
Alamofire.request(loginURL, method: .post, parameters: loginParameters, encoding: URLEncoding.default, headers: nil)
.responseJSON { reponse in
switch reponse.result {
case .failure(let error):
print("error: ", error)
completion(error, false, "")
case .success(let value):
completion(nil, true, value)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在twitter开发者应用程序设置中设置了一个回调网址,任何人都知道这是什么问题?
小智 11
在您的Twitter仪表板中访问:https://apps.twitter.com进入设置选项卡并添加以下回调URL.
twitterkit-<consumerKey>://
Run Code Online (Sandbox Code Playgroud)
即twitterkit-4bvXXXXXXNFfOXXwrXXXXXXmT://
小智 0
Twitter开发者更新了规则,你可以打开你的开发者网站,找到Callback URLS的设置,添加这一点:
对于 android
twittersdk://
对于 iOS,请参阅
/sf/answers/3559516341/
/sf/answers/3546380281/
这将是工作,希望解决你的问题
| 归档时间: |
|
| 查看次数: |
2229 次 |
| 最近记录: |