ios - 使用 twitter 登录总是返回错误
问题描述
我正在尝试使用 twitter 添加登录,但有些我无法获得响应。每次我收到错误消息(获取用户身份验证令牌时出错)。我知道有很多这样的帖子有这个问题,但我无法登录。我也尝试提前设置,但我的会话为零。我还重新生成了消费者密钥和秘密,但没有运气。使用 Swift 3.0
这是我的代码
TWTRTwitter.sharedInstance().logIn(with: self) { (session, error) in
if (session != nil) {
print("signed in as \(session?.userName ?? "")");
} else {
print("error: \(error?.localizedDescription ?? "")");
}
}
信息列表
应用委托
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
_ = DBSingleton.sharedInstance
TWTRTwitter.sharedInstance().start(withConsumerKey:TwitterKey.consumerKey, consumerSecret:TwitterKey.consumerSecret)
}
更新: 如果我们有应用程序,那么它可以正常工作,但如果没有,它会返回错误。
解决方案
经过大量的研发,我取得了成功。Twitter 已强制要求回拨网址。我从这个链接找到
您需要在 twitter 仪表板设置的回调 url 中添加 twitterkit-xxxxxxxxxxxxxxx (twitterkit-consumer key)。
我用这个方法打开了 safari(确保你添加了 safari 框架)
TWTRTwitter.sharedInstance().logIn(with: self) { (session, error) in
if (session != nil) {
print("signed in as \(session?.userName ?? "")");
} else {
print("error: \(error?.localizedDescription ?? "")");
}
}
推荐阅读
- ios - 无需注册开发人员计划即可构建 React Native IOS 应用程序
- yaml - 如何修复 Jinja2 yml 缩进
- powershell - Power shell - 每 1 分钟发送一次电子邮件,直到提供输入
- sql-server - ConvertZone() 使用 TZDB SQL Server 区域支持返回 NULL
- concurrency - 何时将分片添加到分布式键/值存储
- mysql - 错误代码 1824 - 无法打开引用的表
- karate - 将 match contains 与条件逻辑一起使用
- javascript - 从套接字侦听器内部修改反应状态的正确方法是什么?
- visual-studio-code - VS代码如何合并两个文件在同一个项目中
- android - 将新的 NDK .so 文件部署到旧的 Android API