'[TwitterKit] 获取用户身份验证令牌时出错的解决方案。错误:请求失败:禁止(403)'
以下是在没有 Fabric 的 Swift 4 及更高版本中使用 TwitterKit 登录 Twitter 的分步指南。
第 1 步:
你必须有一个有效的 Twitter a/c。登录到空调。 ==>转到https://developer.twitter.com/en/apps/ ==>创建新应用==>提供所有详细信息。请记住所有细节都是必要的,因此请仔细填写。
回调 URL 非常重要,并且具有特定的格式,例如“twitterkit-CONSUMER API KEY://”(您将在创建应用程序后获得)。 ==> 创建应用程序。 ==> 单击您刚刚创建的应用程序详细信息。您将看到“密钥和令牌”。选择此项以查看您的应用程序使用者密钥和秘密。这将是您的 iOS 项目所必需的。
第 2 步:
打开您的 Xcode 项目并创建一个单一视图应用程序。为您的项目命名,然后单击下一步。默认情况下有一个 ViewController.swift 类。转到该 ViewController 的情节提要并创建一个“登录 Twitter”按钮,或者您可以通过代码创建一个按钮。在您制作的按钮操作中编写以下代码。
// Swift
TWTRTwitter.sharedInstance().logIn(completion: { (session, error) in
if (session != nil) {
print("signed in as \(session!.userName)");
} else {
print("error: \(error!.localizedDescription)");
}
})
}
第 3 步:
通过 pod 安装 TwitterKit 和 Firebase。
豆荚'TwitterKit'
pod 'Firebase/Core'
第 4 步:
创建应用并完成所有步骤后,不要忘记在 Xcode 中应用的 info.plist 文件中添加以下提供的 XML 代码。为此,只需单击您的 info.plist 文件并选择 Open as a Source Code。现在,在标签之后,将以下 XML sn-p 插入其中:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>twitterkit-ConsumerKey</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>twitter</string>
<string>twitterauth</string>
</array>
现在,将 ConsumerKey 替换为您在新创建的应用程序的 Twitter 应用程序仪表板中获得的您自己的消费者密钥(Twitter API 密钥)。
第 5 步:
打开您的 AppDelegate.swift 文件并在其第一个应用程序函数中添加以下代码行,即
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
Twitter.sharedInstance().start(withConsumerKey:“#################”, consumerSecret:“##############################”)
return true
}
这里还要添加一个函数:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
返回 Twitter.sharedInstance().application(app, open: url, options: options)
}
第 6 步:
转到 https://firebase.google.com ==> 单击转到控制台 ==> 添加项目 ==> 提供项目名称 ==> 接受条款和条件。 ==> 创建项目 ==> 将创建项目 ==> 选择继续 ==> 选择 iOS ==> 提供 Bundle id、昵称并单击注册应用按钮 ==> 下载配置文件并移动 GoogleService-Info您刚刚下载到 Xcode 项目根目录中的 .plist 文件并将其添加到所有目标。 ==> 下一步 ==> 无需安装 Firebase,因为您已经通过 pod 安装了它。单击下一步 ==> 在顶部的 AppDelegate 文件中导入 Firebase 并在 AppDelegate 的以下函数中粘贴“FirebaseApp.configure()”
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?){
FirebaseApp.configure()
}
第 7 步:
如果您之前在设备中运行过刚刚创建的应用程序,请卸载它并重新安装。 ==> 等待 2 分钟。 ==> 您将收到一条消息“恭喜,您已成功将 Firebase 添加到您的应用中”。此消息是必要的,这意味着成功。继续控制台
第 8 步:
选择您的身份验证 ==> 选择登录方法 ==> 选择 Twitter 并使用 API 密钥和秘密启用它。点击保存。
第 9 步:
点击“Login to Twitter”按钮,您将看到该应用正在重定向到授权页面。
太好了..全部完成..谢谢..